Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino-Based Haptic Navigation Shoes for the Blind with SIM900A Communication

View and Edit Project In Cirkit DesignerImage of Arduino-Based Haptic Navigation Shoes for the Blind with SIM900A Communication

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

  1. PWM Vibration Motor Sensor Module Switch

    • Pins: Signal, Vcc, Ground
    • Description: Provides haptic feedback through vibration.
  2. RCWL-0516 Microwave Radar Motion Sensor Module

    • Pins: CDS, VIN, OUT, GND, 3V3
    • Description: Detects motion using microwave radar.
  3. HC-SR04 Ultrasonic Sensor

    • Pins: VCC, TRIG, ECHO, GND
    • Description: Measures distance using ultrasonic waves.
  4. RAIN SENSOR

    • Pins: AO, DO, GRD, VCC
    • Description: Detects the presence of water.
  5. MPU6050 Accelerometer + Gyroscope (Wokwi Compatible)

    • Pins: INT, AD0, XCL, XDA, SDA, SCL, GND, VCC
    • Description: Measures acceleration and gyroscopic data.
  6. Loudspeaker

    • Pins: pin1, pin2
    • Description: Provides audio alerts.
  7. 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.
  8. Pushbutton

    • Pins: Pin 3 (out), Pin 4 (out), Pin 1 (in), Pin 2 (in)
    • Description: Used to trigger actions in the circuit.
  9. 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.
  10. Resistor

    • Pins: pin1, pin2
    • Description: 10k Ohm resistor used for pull-up/pull-down.
    • Properties: Resistance: 10k Ohms
  11. Piezo Sensor

    • Pins: +, -
    • Description: Detects vibrations.
  12. BRIDGE - 1N4007

    • Pins: 1 INPUT, 2 INPUT, + PIN, - PIN
    • Description: Bridge rectifier.
  13. 3.7v LiPo

    • Pins: +Ve, GND
    • Description: Power source.
  14. Electrolytic Capacitor

    • Pins: -, +
    • Description: 0.001 Farads capacitor.
    • Properties: Capacitance: 0.001 Farads
  15. MT3608

    • Pins: VOUT+, VIN+, VOUT-, VIN-
    • Description: DC-DC step-up converter.

Wiring Details

PWM Vibration Motor Sensor Module Switch

RCWL-0516 Microwave Radar Motion Sensor Module

HC-SR04 Ultrasonic Sensor

RAIN SENSOR

MPU6050 Accelerometer + Gyroscope (Wokwi Compatible)

Loudspeaker

Pushbutton

SIM900A

Resistor

Piezo Sensor

BRIDGE - 1N4007

3.7v LiPo

Electrolytic Capacitor

MT3608

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