Learn Arduino step by step with circuits, code, practice tasks, and troubleshooting.
Arduino is a small programmable board used to read sensors and control outputs like LEDs, buzzers, motors, relays, and displays.
Connect LED positive leg to pin 13 through a 220 ohm resistor. Connect LED negative leg to GND.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
A button is an input. Use INPUT_PULLUP to avoid unstable readings without an extra resistor.
const int buttonPin = 2;
const int ledPin = 13;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop() {
int pressed = digitalRead(buttonPin) == LOW;
digitalWrite(ledPin, pressed);
}
Analog pins read values from 0 to 1023. A potentiometer or soil moisture sensor can be tested here.
void setup() {
Serial.begin(9600);
}
void loop() {
int value = analogRead(A0);
Serial.println(value);
delay(300);
}
A servo moves to an angle. Use external 5V power for larger servos and connect Arduino GND to servo power GND.
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(9);
}
void loop() {
myServo.write(0);
delay(700);
myServo.write(90);
delay(700);
myServo.write(180);
delay(700);
}
HC-SR04 uses trigger and echo pins to measure distance.
const int trigPin = 9;
const int echoPin = 10;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
Serial.println(distance);
delay(300);
}
Build a device that beeps when an object is closer than 15 cm.