Circuit Documentation
Summary
This circuit is designed to assist blind people with real-time directions by integrating an ultrasonic sensor, GPS module, voice recognition, and a vibration motor. The core of the circuit is an Arduino Nano microcontroller, which processes signals from the ultrasonic sensor to detect obstacles and controls a vibration motor to alert the user. The GPS module provides location data, and the voice recognition module receives voice commands to perform actions such as turning or stopping. A SIM800L module is included for communication capabilities. The circuit is powered by a 12V battery, with a DC to DC boost converter to regulate the voltage for the components.
Component List
- Arduino Nano: A compact microcontroller board based on the ATmega328P, featuring digital and analog I/O pins.
- HC-SR04 Ultrasonic Sensor: A sensor that measures distance by emitting ultrasonic waves and measuring the time taken for the echo to return.
- Battery (12V): A power source for the circuit.
- Neo 6M GPS Module: A module that provides accurate geographical coordinates.
- Vibration Motor: A motor that provides haptic feedback to the user.
- Sim800l: A GSM/GPRS module for cellular communication.
- DC to DC Boost Converter: A device that steps up the voltage from the battery to a higher level required by certain components.
- Resistor (200 Ohms): A passive two-terminal electrical component that implements electrical resistance as a circuit element.
- Toggle Switch (SPST): A single-pole single-throw switch that can connect or disconnect the circuit.
- NPN Transistor (CBE): A bipolar junction transistor used for amplification and switching.
- Voice Recognition Module: A module that can recognize and process voice commands.
Wiring Details
Arduino Nano
- D1/TX: Not connected.
- D0/RX: Not connected.
- RESET: Not connected.
- GND: Connected to the ground of the ultrasonic sensor, voice recognition module, and common ground with the battery and DC to DC boost converter.
- D2: Connected to RXD on Sim800l.
- D3: Connected to TXD on Sim800l.
- D4: Connected to one terminal of the toggle switch.
- D5 - D7: Not connected.
- D8: Connected to TX on the Neo 6M GPS Module and RDX on the voice recognition module.
- D9: Connected to RX on the Neo 6M GPS Module and RTX on the voice recognition module.
- D10: Not connected.
- D11/MOSI: Connected to one terminal of a 200 Ohm resistor.
- D12/MISO: Not connected.
- VIN: Connected to the positive terminal of the battery and vin+ on the DC to DC boost converter.
- 5V: Connected to VCC of the ultrasonic sensor and VCC of the voice recognition module.
- A7 - A2: Not connected.
- A1: Connected to TRIG on the HC-SR04 Ultrasonic Sensor.
- A0: Connected to ECHO on the HC-SR04 Ultrasonic Sensor.
- AREF: Not connected.
- 3V3: Not connected.
- D13/SCK: Not connected.
HC-SR04 Ultrasonic Sensor
- VCC: Connected to 5V on the Arduino Nano.
- TRIG: Connected to A1 on the Arduino Nano.
- ECHO: Connected to A0 on the Arduino Nano.
- GND: Connected to the common ground.
Battery (12V)
- +: Connected to VIN on the Arduino Nano and vin+ on the DC to DC boost converter.
- -: Connected to the common ground.
Neo 6M GPS Module
- GND: Connected to the common ground.
- TX: Connected to D8 on the Arduino Nano.
- RX: Connected to D9 on the Arduino Nano.
- VCC: Not connected.
Vibration Motor
- POS: Connected to the collector of the NPN Transistor.
- NEG: Connected to the common ground.
Sim800l
- NET: Connected to out+ on the DC to DC boost converter.
- RST: Not connected.
- VCC: Not connected.
- RXD: Connected to D2 on the Arduino Nano.
- TXD: Connected to D3 on the Arduino Nano.
- GND: Connected to the common ground.
DC to DC Boost Converter
- vin-: Connected to the negative terminal of the battery and the common ground.
- vin+: Connected to the positive terminal of the battery.
- out+: Connected to NET on Sim800l.
- out-: Connected to the common ground.
Resistor (200 Ohms)
- pin1: Connected to VIN on the Arduino Nano and the positive terminal of the battery.
- pin2: Connected to D11/MOSI on the Arduino Nano and one terminal of the toggle switch.
Toggle Switch (SPST)
- L1: Connected to one terminal of a 200 Ohm resistor and D4 on the Arduino Nano.
- COM: Connected to the common ground.
NPN Transistor (CBE)
- collector: Connected to POS on the Vibration Motor.
- base: Connected to one terminal of a 200 Ohm resistor.
- emitter: Connected to the common ground.
Voice Recognition Module
- GND: Connected to the common ground.
- VCC: Connected to 5V on the Arduino Nano.
- RDX: Connected to D8 on the Arduino Nano.
- RTX: Connected to D9 on the Arduino Nano.
Documented Code
Arduino Nano Code (sketch.ino)
#include <SoftwareSerial.h>
const int trigPin = A1;
const int echoPin = A0;
const int motorPin = 11;
const int voiceRxPin = 8;
const int voiceTxPin = 9;
const int simRxPin = 2;
const int simTxPin = 3;
long duration;
int distance;
SoftwareSerial voiceSerial(voiceRxPin, voiceTxPin);
SoftwareSerial simSerial(simRxPin, simTxPin);
void setup() {
Serial.begin(9600);
voiceSerial.begin(9600);
simSerial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motorPin, OUTPUT);
Serial.println("System Initialized");
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
if (distance < 50) {
digitalWrite(motorPin, HIGH);
} else {
digitalWrite(motorPin, LOW);
}
if (voiceSerial.available()) {
String command = voiceSerial.readString();
handleVoiceCommand(command);
}
delay(100);
}
void handleVoiceCommand(String command) {
if (command.indexOf("left") >= 0) {
Serial.println("Turning left");
} else if (command.indexOf("right") >= 0) {
Serial.println("Turning right");
} else if (command.indexOf("stop") >= 0) {
Serial.println("Stopping");
}
}
Vibration Motor Code (sketch.ino)
The vibration motor is controlled directly by the Arduino Nano through a transistor. There is no separate code for the vibration motor.
Documentation (documentation.txt)
This file is empty and does not contain any code or documentation.