Arduino Projects Complete Guide (From Basic to
Advanced)
1. LED Blink (Basic LED Testing)
This is the simplest Arduino program. It turns an LED on and off with a fixed delay. It introduces
basic digital output and timing control.
Arduino Code:
int led = 13; void setup() { pinMode(led, OUTPUT); } void loop() {
digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW);
delay(1000); }
2. Traffic Light System
This project simulates a traffic light using three LEDs (Red, Yellow, Green). Each LED turns
ON/OFF based on the timing sequence, just like real traffic lights.
Arduino Code:
int red = 8; int yellow = 9; int green = 10; 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); }
3. LDR Light Sensor Test
An LDR (Light Dependent Resistor) senses light levels. The Arduino reads analog values and prints
them on the Serial Monitor.
Arduino Code:
int ldr = A0; void setup() { [Link](9600); } void loop() { int
ldrValue = analogRead(ldr); [Link](ldrValue); delay(500); }
4. IR Sensor Obstacle Detection
This project detects objects using an IR sensor. When an object is detected, an LED turns ON.
Arduino Code:
int ir = 7; int led = 13; void setup() { pinMode(ir, INPUT); pinMode(led,
OUTPUT); } void loop() { int value = digitalRead(ir); if (value == 0) {
digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); } }
5. PIR Motion Detection
The PIR sensor detects human motion. The LED lights up when motion is detected.
Arduino Code:
int pir = 8; int led = 13; void setup() { pinMode(pir, INPUT);
pinMode(led, OUTPUT); } void loop() { int value = digitalRead(pir); if
(value == HIGH) { digitalWrite(led, HIGH); } else { digitalWrite(led,
LOW); } }
6. DC Motor Control
This project controls a DC motor using an L293D driver. It rotates in forward and reverse directions.
Arduino Code:
int in1 = 8; int in2 = 9; void setup() { pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT); } void loop() { digitalWrite(in1, HIGH);
digitalWrite(in2, LOW); delay(2000); digitalWrite(in1, LOW);
digitalWrite(in2, HIGH); delay(2000); }
7. Obstacle Avoidance Robot
The ultrasonic sensor detects obstacles, and the robot changes direction to avoid collisions.
Arduino Code:
#define trig 9 #define echo 10 #define m1 3 #define m2 4 #define m3 5
#define m4 6 void setup() { pinMode(trig, OUTPUT); pinMode(echo, INPUT);
pinMode(m1, OUTPUT); pinMode(m2, OUTPUT); pinMode(m3, OUTPUT);
pinMode(m4, OUTPUT); [Link](9600); } void loop() {
digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH);
delayMicroseconds(10); digitalWrite(trig, LOW); long duration =
pulseIn(echo, HIGH); int distance = duration * 0.034 / 2;
[Link](distance); if (distance < 15) { digitalWrite(m1, LOW);
digitalWrite(m2, HIGH); digitalWrite(m3, HIGH); digitalWrite(m4, LOW); }
else { digitalWrite(m1, HIGH); digitalWrite(m2, LOW); digitalWrite(m3,
HIGH); digitalWrite(m4, LOW); } }
8. Light Follower Robot
Two LDR sensors guide the robot toward a light source. The robot adjusts direction based on light
intensity.
Arduino Code:
int ldrLeft = A0; int ldrRight = A1; int m1 = 8; int m2 = 9; int m3 = 10;
int m4 = 11; void setup() { pinMode(m1, OUTPUT); pinMode(m2, OUTPUT);
pinMode(m3, OUTPUT); pinMode(m4, OUTPUT); } void loop() { int left =
analogRead(ldrLeft); int right = analogRead(ldrRight); if (left > right)
{ digitalWrite(m1, HIGH); digitalWrite(m2, LOW); digitalWrite(m3, LOW);
digitalWrite(m4, HIGH); } else if (right > left) { digitalWrite(m1, LOW);
digitalWrite(m2, HIGH); digitalWrite(m3, HIGH); digitalWrite(m4, LOW); }
else { digitalWrite(m1, HIGH); digitalWrite(m2, LOW); digitalWrite(m3,
HIGH); digitalWrite(m4, LOW); } }