Contact Us via Email
support@protomech.in
Speak to Our Team
‪+91 89214 34110‬
Top 10 Arduino Projects for ICT Kerala | Protomech Robotics

Top 10 Arduino Projects for ICT Kerala — The World of Robotics

Prepared by Protomech Robotics. Each project includes a CSS/SVG connection diagram, step-by-step wiring, required components, ready-to-paste Arduino code (copy button) and real-world application ideas — perfect for ICT Kerala Class 10, CBSE, ICSE and NEP-based STEM classes.

1. LED Blinking

Step-by-step connection

  1. Connect Arduino Pin 13 to one end of the 220Ω resistor.
  2. Connect the other end of the resistor to the LED anode (long leg).
  3. Connect the LED cathode (short leg) to GND on Arduino.
Required components:
  • Arduino UNO
  • LED
  • 220Ω resistor
  • Breadboard & jumper wires
// LED Blinking
void setup() {
  pinMode(13, OUTPUT);
}
void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}
        

Real-world application: Indicator lights, simple status LEDs on appliances and prototypes. Great first exercise for timing / control basics.

2. Traffic Light Simulation

Step-by-step connection

  1. Connect Red LED anode → **pin 13** via 220Ω resistor; cathode → GND.
  2. Connect Yellow LED anode → **pin 12** via resistor; cathode → GND.
  3. Connect Green LED anode → **pin 11** via resistor; cathode → GND.
Required components:
  • Arduino UNO
  • Red, Yellow, Green LEDs
  • 3 × 220Ω resistors
  • Breadboard & jumper wires
// Traffic Light Simulation
int red = 13;
int yellow = 12;
int green = 11;
void setup() {
  pinMode(red, OUTPUT);
  pinMode(yellow, OUTPUT);
  pinMode(green, OUTPUT);
}
void loop() {
  digitalWrite(red, HIGH); delay(5000); digitalWrite(red, LOW);
  digitalWrite(yellow, HIGH); delay(2000); digitalWrite(yellow, LOW);
  digitalWrite(green, HIGH); delay(5000); digitalWrite(green, LOW);
}
        

Real-world application: Model traffic intersections, teach road rules & sequencing, simulate pedestrian crossings in class demonstrations.

3. Light Controlled LED (LDR)

Step-by-step connection

  1. Make a voltage divider: connect LDR between 5V and A0.
  2. Connect a 10kΩ resistor between A0 and GND.
  3. Optionally connect an LED to a digital pin to indicate darkness.
Required components:
  • Arduino UNO
  • LDR (photoresistor)
  • 10kΩ resistor
  • LED + 220Ω resistor (optional)
// LDR Light Controlled LED
int ldrPin = A0;
int ledPin = 13;
void setup(){
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}
void loop(){
  int value = analogRead(ldrPin);
  Serial.println(value);
  if(value < 300) digitalWrite(ledPin, HIGH);
  else digitalWrite(ledPin, LOW);
  delay(500);
}
        

Real-world application: Automatic street light models, energy-saving lighting controls and light-level based triggers.

4. Ultrasonic Distance Measurement (HC-SR04)

Step-by-step connection

  1. VCC → 5V, GND → GND.
  2. TRIG → pin 9, ECHO → pin 10.
  3. Open Serial Monitor to view distance (cm).
Required components:
  • Arduino UNO
  • HC-SR04 ultrasonic sensor
  • Jumper wires
// HC-SR04 Distance Measurement
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}
void loop() {
  digitalWrite(trigPin, LOW); delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;
  Serial.print("Distance (cm): ");
  Serial.println(distance);
  delay(500);
}
        

Real-world application: Parking sensors, obstacle detection for robots, and proximity alarms.

5. Temperature Sensor (LM35) Monitoring

Step-by-step connection

  1. LM35 pinout: VCC → 5V, OUT → A0, GND → GND.
  2. Open Serial Monitor to read Celsius temperature values.
Required components:
  • Arduino UNO
  • LM35 sensor
  • Jumper wires
// LM35 Temperature Monitor
int tempPin = A0;
void setup() {
  Serial.begin(9600);
}
void loop() {
  int reading = analogRead(tempPin);
  float voltage = reading * 5.0 / 1024.0;
  float tempC = voltage * 100.0;
  Serial.print("Temperature (°C): ");
  Serial.println(tempC);
  delay(1000);
}
        

Real-world application: Room / fridge monitoring, greenhouse sensors, basic HVAC experiments.

6. Servo Motor Control

Step-by-step connection

  1. Servo VCC → 5V, GND → GND.
  2. Servo signal wire → pin 9 (PWM).
  3. Use separate power if servo draws more current (common GND required).
Required components:
  • Arduino UNO
  • SG90 or similar servo
  • Jumper wires
// Servo control example
#include <Servo.h>
Servo myservo;
void setup() {
  myservo.attach(9);
}
void loop() {
  myservo.write(0); delay(1000);
  myservo.write(90); delay(1000);
  myservo.write(180); delay(1000);
}
        

Real-world application: Pan/tilt camera heads, robotic arms, small actuators in automation projects.

7. Buzzer Alarm with Push Button

Step-by-step connection

  1. Push button → one side to pin 7, other side to GND. Use internal pull-up.
  2. Buzzer positive → pin 8, negative → GND.
Required components:
  • Arduino UNO
  • Piezo buzzer
  • Push button
  • 10kΩ resistor (if not using internal pull-up)
// Buzzer alarm with button
int buzzer = 8;
int button = 7;
void setup() {
  pinMode(buzzer, OUTPUT);
  pinMode(button, INPUT_PULLUP);
}
void loop() {
  if (digitalRead(button) == LOW) {
    digitalWrite(buzzer, HIGH);
  } else {
    digitalWrite(buzzer, LOW);
  }
}
        

Real-world application: Door alarms, classroom demo alarms, simple event notifications.

8. IR Remote Controlled LED

Step-by-step connection

  1. IR receiver VCC → 5V, GND → GND, OUT → pin 11.
  2. LED anode → pin 13 via resistor; cathode → GND.
  3. Install IRremote library in Arduino IDE before uploading the code.
Required components:
  • Arduino UNO
  • IR receiver module (e.g., TSOP)
  • IR remote
  • LED + resistor
// IR Remote Controlled LED (requires IRremote library)
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
int led = 13;
void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(led, OUTPUT);
}
void loop() {
  if (irrecv.decode(&results)) {
    // Replace the hex values below with your remote's codes (use Serial Monitor to read)
    if (results.value == 0xFFA25D) digitalWrite(led, HIGH);
    if (results.value == 0xFFE21D) digitalWrite(led, LOW);
    irrecv.resume();
  }
}
        

Real-world application: Basic remote control for lights, TV/AC-like device demos and smart home learning modules.

9. Soil Moisture Based Irrigation System

Step-by-step connection

  1. Soil sensor VCC → 5V, GND → GND, Analog OUT → A0.
  2. Relay IN → digital pin (e.g., 8), Relay VCC → 5V, GND → GND.
  3. Relay switches the pump power (mains or battery) — use proper isolation and safety when switching mains.
Required components:
  • Arduino UNO
  • Soil moisture sensor
  • Relay module (with transistor/optocoupler)
  • Small water pump and tubing
// Soil moisture based irrigation
int sensorPin = A0;
int pumpPin = 8;
void setup() {
  pinMode(pumpPin, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  int val = analogRead(sensorPin);
  Serial.println(val);
  if (val < 400) { // dry threshold — tune for your soil
    digitalWrite(pumpPin, HIGH); // switch relay ON
  } else {
    digitalWrite(pumpPin, LOW); // switch relay OFF
  }
  delay(2000);
}
        

Real-world application: Small-scale automated irrigation for home gardens and school labs (teach sensor calibration & water-conservation logic).

10. Obstacle Avoiding Robot

Step-by-step connection

  1. HC-SR04: VCC → 5V, GND → GND, TRIG → pin 9, ECHO → pin 10.
  2. Connect L298N logic VCC to 5V, GND to GND, supply motors with separate battery on VIN (common GND).
  3. Motor driver input pins → Arduino digital pins (example in code: IN1-IN4 = 2,3,4,5).
Required components:
  • Arduino UNO
  • L298N Motor Driver (or similar)
  • 2 × DC motors & wheels
  • HC-SR04 sensor
  • Battery pack & chassis
// Obstacle avoiding robot (simple logic)
int trig = 9, echoPin = 10;
int in1=2, in2=3, in3=4, in4=5;
long duration; int distance;
void setup(){
  pinMode(trig,OUTPUT); pinMode(echoPin,INPUT);
  pinMode(in1,OUTPUT); pinMode(in2,OUTPUT);
  pinMode(in3,OUTPUT); pinMode(in4,OUTPUT);
}
void loop(){
  digitalWrite(trig, LOW); delayMicroseconds(2);
  digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration*0.034/2;
  if(distance < 20){
    // obstacle -> turn right (example)
    digitalWrite(in1, LOW); digitalWrite(in2, HIGH);
    digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
    delay(400);
  } else {
    // move forward
    digitalWrite(in1, HIGH); digitalWrite(in2, LOW);
    digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
  }
  delay(100);
}
        

Real-world application: Autonomous robots, delivery bots, and obstacle-aware systems for indoor navigation demos.

About Protomech Robotics

Protomech Robotics provides Arduino & robotics kits, teacher training, school workshops and curriculum-aligned resources across Kerala. For bulk kits, training sessions or custom school programs contact us:

📧 info@protomech.in · 🌐 protomech.in

Download Software

Get the latest Arduino IDE and Pictoblox versions for Windows, Linux, and Mac. Perfect for schools, colleges, and hobbyists.

At Protomech, we advance robotics through education and innovative solutions. Our experienced team empowers industries and individuals with cutting-edge robotic technology. Partner with us to explore the future of automation.