Arduino-Based Haptic Navigation Shoes for the Blind with SIM900A Communication
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This circuit is designed to provide haptic feedback and audio alerts for the blind using various sensors. The system uses an ultrasonic sensor for obstacle detection, a radar sensor for detecting fast-moving objects, an MPU6050 for detecting stairs or gutters, and a rain sensor for water detection. Different feedback mechanisms are used to alert the user. Additionally, the circuit includes a SIM900A module to make phone calls when a pushbutton is pressed.
Component List
PWM Vibration Motor Sensor Module Switch
- Pins: Signal, Vcc, Ground
- Description: Provides haptic feedback through vibration.
RCWL-0516 Microwave Radar Motion Sensor Module
- Pins: CDS, VIN, OUT, GND, 3V3
- Description: Detects motion using microwave radar.
HC-SR04 Ultrasonic Sensor
- Pins: VCC, TRIG, ECHO, GND
- Description: Measures distance using ultrasonic waves.
RAIN SENSOR
- Pins: AO, DO, GRD, VCC
- Description: Detects the presence of water.
MPU6050 Accelerometer + Gyroscope (Wokwi Compatible)
- Pins: INT, AD0, XCL, XDA, SDA, SCL, GND, VCC
- Description: Measures acceleration and gyroscopic data.
Loudspeaker
- Pins: pin1, pin2
- Description: Provides audio alerts.
Arduino NANO
- Pins: D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, GND, D13, 3V3, AREF, A0, A1, A2, A3, A4 sda, A5 scl, A6, A7, 5V, RST, VIN, RX0, TX1, 13, 11, 12
- Description: Microcontroller used to control the circuit.
Pushbutton
- Pins: Pin 3 (out), Pin 4 (out), Pin 1 (in), Pin 2 (in)
- Description: Used to trigger actions in the circuit.
SIM900A
- Pins: GND, DB9-3 (RXD), DB9-2 (TXD), 5V, 3VR, 5VR, 3VT, 5VT, VCC, Ring, RESTART, RESET, STATUS
- Description: GSM module used to make phone calls.
Resistor
- Pins: pin1, pin2
- Description: 10k Ohm resistor used for pull-up/pull-down.
- Properties: Resistance: 10k Ohms
Piezo Sensor
- Pins: +, -
- Description: Detects vibrations.
BRIDGE - 1N4007
- Pins: 1 INPUT, 2 INPUT, + PIN, - PIN
- Description: Bridge rectifier.
3.7v LiPo
- Pins: +Ve, GND
- Description: Power source.
Electrolytic Capacitor
- Pins: -, +
- Description: 0.001 Farads capacitor.
- Properties: Capacitance: 0.001 Farads
MT3608
- Pins: VOUT+, VIN+, VOUT-, VIN-
- Description: DC-DC step-up converter.
Wiring Details
PWM Vibration Motor Sensor Module Switch
- Signal: Connected to Arduino NANO D3 and D4
- Vcc: Connected to Arduino NANO 5V
- Ground: Connected to Arduino NANO GND
RCWL-0516 Microwave Radar Motion Sensor Module
- OUT: Connected to Arduino NANO D5
- VIN: Connected to Arduino NANO 5V
- GND: Connected to Arduino NANO GND
HC-SR04 Ultrasonic Sensor
- TRIG: Connected to Arduino NANO D6
- ECHO: Connected to Arduino NANO D7
- VCC: Connected to Arduino NANO 5V
- GND: Connected to Arduino NANO GND
RAIN SENSOR
- DO: Connected to Arduino NANO D8
- AO: Connected to Arduino NANO A0
- GRD: Connected to Arduino NANO GND
- VCC: Connected to Arduino NANO 5V
MPU6050 Accelerometer + Gyroscope (Wokwi Compatible)
- SDA: Connected to Arduino NANO A4 sda
- SCL: Connected to Arduino NANO A5 scl
- VCC: Connected to Arduino NANO 5V
- GND: Connected to Arduino NANO GND
Loudspeaker
- pin1: Connected to Arduino NANO GND
- pin2: Connected to Arduino NANO D9
Pushbutton
- Pin 1 (in): Connected to Resistor pin2 and Arduino NANO D2
- Pin 3 (out): Connected to Arduino NANO GND
SIM900A
- 5V: Connected to Resistor pin1 and Arduino NANO 5V
- GND: Connected to Arduino NANO GND
- DB9-2 (TXD): Connected to Arduino NANO RX0
- DB9-3 (RXD): Connected to Arduino NANO TX1
Resistor
- pin1: Connected to SIM900A 5V and Arduino NANO 5V
- pin2: Connected to Pushbutton Pin 1 (in) and Arduino NANO D2
Piezo Sensor
- +: Connected to BRIDGE - 1N4007 1 INPUT
- -: Connected to BRIDGE - 1N4007 2 INPUT
BRIDGE - 1N4007
- 1 INPUT: Connected to Piezo Sensor +
- 2 INPUT: Connected to Piezo Sensor -
- + PIN: Connected to Electrolytic Capacitor + and MT3608 VIN+
- - PIN: Connected to Electrolytic Capacitor - and MT3608 VIN-
3.7v LiPo
- +Ve: Connected to MT3608 VOUT+
- GND: Connected to MT3608 VOUT-
Electrolytic Capacitor
- +: Connected to BRIDGE - 1N4007 + PIN and MT3608 VIN+
- -: Connected to BRIDGE - 1N4007 - PIN and MT3608 VIN-
MT3608
- VIN+: Connected to BRIDGE - 1N4007 + PIN and Electrolytic Capacitor +
- VIN-: Connected to BRIDGE - 1N4007 - PIN and Electrolytic Capacitor -
- VOUT+: Connected to 3.7v LiPo +Ve
- VOUT-: Connected to 3.7v LiPo GND
Code Documentation
Arduino NANO (Microcontroller 1)
/*
* This Arduino sketch is designed to interface with a SIM900A module and a pushbutton.
* When the pushbutton is pressed, the Arduino will send a command to the SIM900A
* module to initiate a call to the phone number +91 8330899670.
*/
#define BUTTON_PIN 2
#define SIM900A_RX 0
#define SIM900A_TX 1
void setup() {
// Initialize the button pin as an input with an internal pull-up resistor
pinMode(BUTTON_PIN, INPUT_PULLUP);
// Initialize serial communication with the SIM900A module
Serial.begin(9600);
}
void loop() {
// Check if the button is pressed
if (digitalRead(BUTTON_PIN) == LOW) {
// Send the command to the SIM900A to make a call
Serial.println("ATD+918330899670;");
// Wait for a while to avoid multiple triggers
delay(1000);
}
}
Arduino NANO (Microcontroller 2)
/*
* Haptic Navigation Shoes for the Blind
* This Arduino sketch is designed to provide haptic feedback and audio alerts
* for the blind using various sensors. The system uses an ultrasonic sensor
* for obstacle detection, a radar sensor for detecting fast-moving objects,
* an MPU6050 for detecting stairs or gutters, and a rain sensor for water
* detection. Different feedback mechanisms are used to alert the user.
*/
#include <Wire.h>
#include <MPU6050.h>
#define ULTRASONIC_TRIG_PIN 6
#define ULTRASONIC_ECHO_PIN 7
#define RADAR_PIN 5
#define VIBRATION_MOTOR_1_PIN 3
#define VIBRATION_MOTOR_2_PIN 4
#define SPEAKER_PIN 9
#define RAIN_SENSOR_PIN A0
#define RAIN_THRESHOLD 500
MPU6050 m