Smart Wheelchair for physically impaired people

🦽 Smart Wheelchair — Kids STEM Tutorial
🦽

Build a Smart Wheelchair!

A super fun STEM project that helps people with physical challenges move around safely using voice commands and obstacle-sensing superpowers!

🎤 Voice Control 📡 Obstacle Detection 🤖 Arduino Brain ⚡ Motor Power

🗺️ Overview

🌍
Real-world impact!
Over 75 million people worldwide use wheelchairs every day. A Smart Wheelchair uses the same technology as self-driving cars — sensors, microcontrollers, and artificial intelligence. You're building something that genuinely changes lives!
1

🎤 You Speak a Command

The voice recognition module listens for keywords like "forward", "left", "right", or "stop". It converts your spoken word into a digital signal that the Arduino can read over a serial connection.

2

🧠 Arduino Thinks

The Arduino Uno is the brain of the whole project! In microseconds it reads the voice command, checks both ultrasonic sensors, and decides what to do next. It runs our code 20 times every second!

3

📡 Sensors Watch for Danger

Two HC-SR04 ultrasonic sensors act like bat ears! They fire invisible sound pulses and measure how long the echo takes to return. If anything is closer than 20 cm — emergency stop, automatically!

4

⚙️ Motors Move the Wheels

The L298N motor driver translates the Arduino's digital signals into real power for two DC motors. Spin both forward = go forward. Spin one = turn. Stop both = stop. Simple but powerful!

🔬 Ultrasonic physics
🗣️ Serial communication
H-Bridge motor control
💻 Arduino C++ coding
🏗️ Circuit wiring skills
Assistive technology

🛒 Parts List

🛒
Shopping time!
Everything below is available online or at an electronics store. Total estimated cost: ₹800 – ₹1,500 (or $10–$20 USD). Ask a grown-up to help you order the parts!
🧠
Arduino Uno R3
× 1 — The brain
🎤
Voice Module (SYN6288)
× 1 — Ears
📡
HC-SR04 Sensor
× 2 — Eyes
⚙️
L298N Motor Driver
× 1 — Muscle
🔵
DC Motors 12V
× 2 — Legs
🔋
12V Battery Pack
× 1 — Heart
🟫
Breadboard
× 1
🔌
Jumper Wires
× 30+
🪛
USB Cable (A-B)
× 1
⚠️ Safety first! Always disconnect the battery before adding or moving wires. Never touch bare wire ends together. Ask an adult when using the battery pack!
💻 Computer with Arduino IDE 🔩 Small screwdriver 📐 Ruler (for chassis) 🧲 Optional: hot glue gun

⚡ Circuit

🔌
Think of wires as roads!
Electricity flows through wires like tiny cars on roads. The Arduino is the city mayor giving orders, and the motor driver is the construction crew making things move!
Smart Wheelchair Circuit Diagram Full wiring diagram showing Arduino Uno connected to two HC-SR04 sensors, voice module, L298N motor driver, two DC motors, and a 12V battery pack. ⚡ SMART WHEELCHAIR — CIRCUIT DIAGRAM ⚡ 🔋 12V BATTERY + GND ARDUINO UNO R3 D2/D3 D4/D5 D6/D7 D9/D10 D11/D12 5V GND ATmega328P HC-SR04 FRONT SENSOR VCC TRIG ECHO GND HC-SR04 SIDE SENSOR VCC TRIG ECHO GND 🎤 VOICE MODULE L298N MOTOR DRIVER H-BRIDGE IN1 IN2 IN3 IN4 ⚙️ MOTOR 1 ⚙️ MOTOR 2 +12V GND 12V to L298N TRIG→D9 ECHO→D10 TRIG→D6 ECHO→D7 TX→D2 RX→D3 D4→IN1 D5→IN2 D11→IN3 D12→IN4 OUT1/2 OUT3/4 WIRE LEGEND Power (VCC +) Ground (GND) Sensor Signal Voice Serial Motor Control Motor Power
ModuleModule PinArduino Pin
HC-SR04 FrontVCC5V
HC-SR04 FrontGNDGND
HC-SR04 FrontTRIGD9
HC-SR04 FrontECHOD10
HC-SR04 SideTRIGD6
HC-SR04 SideECHOD7
Voice ModuleTXD2 (RX)
Voice ModuleRXD3 (TX)
L298N DriverIN1D4
L298N DriverIN2D5
L298N DriverIN3D11
L298N DriverIN4D12
L298N DriverOUT1/2Motor 1
L298N DriverOUT3/4Motor 2
Battery 12V+L298N VCC
Battery 12VCommon GND
⚠️ Important: Connect all GND pins together on the breadboard (Arduino GND, L298N GND, sensor GNDs, voice module GND). A shared ground rail is essential for the circuit to work!

💻 Code

💻
Time to write robot instructions!
Every comment starting with // explains what the code is doing. Read them like a recipe — the Arduino follows every step perfectly!
  1. Download and install Arduino IDE from arduino.cc
  2. Plug your Arduino Uno into the computer via USB
  3. Go to Tools → Board → Arduino Uno
  4. Go to Tools → Port → select your COM port
  5. Copy the code below, paste it in the IDE, click ➤ Upload
  6. Open Serial Monitor (magnifier icon) at 9600 baud
  7. You should see: 🦽 Smart Wheelchair Ready!
smart_wheelchair.ino
// ============================================================
// 🦽 SMART WHEELCHAIR — Arduino Code
//    For kids learning assistive technology!
//    Controls: Voice commands + Obstacle sensors
// ============================================================

#include <SoftwareSerial.h>

// ── 🎤 VOICE MODULE ──────────────────────────────────────────
//    Pins: 2 = RX (receive), 3 = TX (transmit)
SoftwareSerial voiceSerial(2, 3);

// ── 📡 FRONT ULTRASONIC SENSOR (HC-SR04) ─────────────────────
const int FRONT_TRIG = 9;   // Sends the sound pulse
const int FRONT_ECHO = 10;  // Receives the echo

// ── 📡 SIDE ULTRASONIC SENSOR (HC-SR04) ──────────────────────
const int SIDE_TRIG = 6;
const int SIDE_ECHO = 7;

// ── ⚙️ MOTOR DRIVER PINS (L298N) ─────────────────────────────
const int IN1 = 4;   // Left motor — forward
const int IN2 = 5;   // Left motor — backward
const int IN3 = 11;  // Right motor — forward
const int IN4 = 12;  // Right motor — backward

// ── 🚧 SAFETY DISTANCE ───────────────────────────────────────
//    Stop if anything is closer than 20 centimetres!
const int SAFE_DISTANCE = 20;

// ── 🧠 SETUP — runs once at start ────────────────────────────
void setup() {
  // Start communication channels
  Serial.begin(9600);       // Computer serial (for debugging)
  voiceSerial.begin(9600); // Voice module serial

  // Configure motor pins as outputs
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);

  // Configure sensor pins
  pinMode(FRONT_TRIG, OUTPUT);
  pinMode(FRONT_ECHO, INPUT);
  pinMode(SIDE_TRIG,  OUTPUT);
  pinMode(SIDE_ECHO,  INPUT);

  // Start safe — motors off
  stopMotors();

  Serial.println("🦽 Smart Wheelchair Ready!");
  Serial.println("Commands: forward | left | right | stop");
}

// ── 📏 getDistance() — measure distance using sound ──────────
//    How it works:
//    1. Fire a 10-microsecond sound pulse from TRIG pin
//    2. Measure how long ECHO pin stays HIGH (time for echo)
//    3. Distance (cm) = time × speed_of_sound / 2
long getDistance(int trigPin, int echoPin) {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);         // Settle

  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);        // 10µs pulse
  digitalWrite(trigPin, LOW);

  long duration = pulseIn(echoPin, HIGH); // Measure echo
  return duration * 0.034 / 2;  // Convert to cm
}

// ── ⬆️ moveForward() — both motors spin forward ──────────────
void moveForward() {
  digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);  // L: forward
  digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);  // R: forward
  Serial.println("⬆️  Moving FORWARD");
}

// ── ⬇️ moveBackward() — both motors spin backward ────────────
void moveBackward() {
  digitalWrite(IN1, LOW);  digitalWrite(IN2, HIGH); // L: backward
  digitalWrite(IN3, LOW);  digitalWrite(IN4, HIGH); // R: backward
  Serial.println("⬇️  Moving BACKWARD");
}

// ── ⬅️ turnLeft() — right motor on, left motor off ───────────
void turnLeft() {
  digitalWrite(IN1, LOW);  digitalWrite(IN2, LOW);  // L: stop
  digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);  // R: forward
  Serial.println("⬅️  Turning LEFT");
}

// ── ➡️ turnRight() — left motor on, right motor off ──────────
void turnRight() {
  digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);  // L: forward
  digitalWrite(IN3, LOW);  digitalWrite(IN4, LOW);  // R: stop
  Serial.println("➡️  Turning RIGHT");
}

// ── 🛑 stopMotors() — EVERYTHING stops immediately ───────────
void stopMotors() {
  digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW); digitalWrite(IN4, LOW);
}

// ── 🔄 LOOP — repeats 20 times per second! ───────────────────
void loop() {

  // Step 1: Read both ultrasonic sensors
  long frontDist = getDistance(FRONT_TRIG, FRONT_ECHO);
  long sideDist  = getDistance(SIDE_TRIG,  SIDE_ECHO);

  // Step 2: SAFETY CHECK — obstacle overrides everything!
  if (frontDist < SAFE_DISTANCE || sideDist < SAFE_DISTANCE) {
    stopMotors();
    Serial.print("🚧 OBSTACLE! Front: ");
    Serial.print(frontDist);
    Serial.print("cm  Side: ");
    Serial.print(sideDist);
    Serial.println("cm — Stopping!");
    return; // Skip voice check this cycle
  }

  // Step 3: Check if a voice command has arrived
  if (voiceSerial.available() > 0) {
    String command = voiceSerial.readStringUntil('\n');
    command.trim();       // Remove spaces/newlines
    command.toLowerCase(); // Case-insensitive

    Serial.print("🎤 Heard: ");
    Serial.println(command);

    // Step 4: Act on the command!
    if      (command == "forward")  { moveForward();  }
    else if (command == "backward") { moveBackward(); }
    else if (command == "left")     { turnLeft();     }
    else if (command == "right")    { turnRight();    }
    else if (command == "stop")     { stopMotors();   }
    else {
      Serial.println("❓ Unknown — try: forward/backward/left/right/stop");
    }
  }

  delay(50); // Wait 50ms, then repeat the loop!
}
// ============================================================
// 🎉 That's the complete Smart Wheelchair code!
//    5 movement functions + safety sensor check
//    Loop runs ~20 times per second — super fast!
// ============================================================
💡 Voice command tip: The voice module sends plain text like "forward\n". If your specific module sends hex codes instead, change the if-conditions to match — check the module's datasheet!

🧪 Test It!

🔬
Test like a real engineer!
Professional engineers always test each part separately before testing the full system. Follow these 5 steps in order — no skipping! If one step fails, fix it before moving on.
  • 1

    📡 Test the sensors alone

    Open Serial Monitor after uploading the code. Put your hand 10 cm in front of the front sensor. You should see 🚧 OBSTACLE! Front: 9cm printed. Move your hand — the number should change. Both sensors must work before moving on!

  • 2

    ⚙️ Test the motors (without wheels)

    Type forward into Serial Monitor and press Enter. Both motors should hum and spin. Try left — only the right motor should spin. Try right — only left motor. Try stop — both stop.

  • 3

    🎤 Test the voice module

    Speak "forward" clearly toward the voice module. Watch the Serial Monitor — it should print 🎤 Heard: forward and the motors should spin. Test all 5 commands: forward, backward, left, right, stop.

  • 4

    🚧 Test obstacle safety stop

    Say "forward" to start moving, then quickly put your hand in front of the front sensor. The wheels must stop automatically! This is the most important safety feature — it must work every single time.

  • 5

    🎉 Full system test — time to roll!

    Attach wheels to the motors. Test the full sequence: say "forward" → say "left" → say "forward" → say "right" → say "stop". Navigate through an obstacle course. Congratulations — you built a Smart Wheelchair! 🦽✨

📳
Buzzer Alert
Add a piezo buzzer that beeps when an obstacle is detected!
📟
LCD Display
Show distance readings on a 16×2 LCD screen in real time!
📱
Bluetooth App
Add an HC-05 Bluetooth module and control from your phone!
🗺️
Auto Navigation
Program it to automatically steer around obstacles!

🦽 Smart Wheelchair STEM Tutorial  •  Kids-friendly Assistive Technology Project

Built with ❤️ for future engineers  •  Arduino Uno + HC-SR04 + Voice Module + L298N

Comments

Product Cards
Buddy Bot eBook
⭐ New 2026 Release
Build Your
Own Robot!
3D design, wiring &
Arduino coding.
Young inventors love it!
🖨️
3D Print
All parts
Wire it
Circuit guide
💻
Code it
Arduino IDE
🤖
Watch it
Walk & react
📋 Your Details
Enter your name
Valid 10-digit no.
Enter a valid email
Special Website Offer
₹499 300
🌍 International: $5 USD
One-time · Instant digital delivery
🔒 Secured by Razorpay · Your data is safe
📄 Download Free Sample Copy
🔒 Secured by Razorpay · Your data is safe
🍓
Raspberry Pi Pico Mastery
21 Projects
⚡ Launch Price — 80% OFF
Learn Pico
Build 21 Projects!
MicroPython · Wokwi
IoT · Certificate
Perfect for beginners!
🖥️
Wokwi
No hardware
🐍
MicroPy
From zero
🔨
21 Projects
IoT + sensors
📄
Certificate
Verified cert
📋 Your Details
Enter your name
Valid 10-digit no.
Enter a valid email
Special Launch Offer
₹999 200 80% OFF
🌍 International: $5 USD
One-time · Lifetime access · No subscription
🔒 Secured by Razorpay · UPI · Cards · NetBanking
🎉

You're in!

Payment successful! Your Buddy Bot eBook is ready. Time to build!

📖 Access Your eBook Now
🎉

Enrolled!

Payment successful! Lifetime access to all 21 Pico Projects is yours!

🍓 Go to My Course