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

Arduino UNO-Based Smart Sensor System with GPS, GSM, and Bluetooth Connectivity

View and Edit Project In Cirkit DesignerImage of Arduino UNO-Based Smart Sensor System with GPS, GSM, and Bluetooth Connectivity

Circuit Documentation

Summary

This document provides a detailed overview of a circuit that integrates various sensors, communication modules, and a microcontroller to create a comprehensive system. The circuit includes an Arduino UNO as the central microcontroller, interfacing with multiple sensors and modules such as an MPU-6050 accelerometer, HC-SR04 ultrasonic sensor, Bluetooth HC-06, Neo 6M GPS module, ESP32-CAM, IR sensor, Micro SD card module, SIM800c GSM module, and a voice recognition module. The system is powered by a 5V battery.

Component List

  1. MPU-6050

    • Description: Accelerometer and Gyroscope sensor
    • Pins: VCC, GND, SCL, SDA, XDA, XCL, AD0, INT
  2. HC-SR04 Ultrasonic Sensor

    • Description: Ultrasonic distance sensor
    • Pins: VCC, TRIG, ECHO, GND
  3. Bluetooth HC-06

    • Description: Bluetooth communication module
    • Pins: VCC, GND, TXD, RXD
  4. Neo 6M GPS Module

    • Description: GPS module for location tracking
    • Pins: GND, TX, RX, VCC
  5. ESP32-CAM

    • Description: Camera module with Wi-Fi and Bluetooth
    • Pins: 5V, GND, IO12, IO13, IO15, IO14, IO2, IO4, VOT, VOR, VCC, IO0, IO16, 3V3
  6. Arduino UNO

    • Description: Microcontroller board
    • Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
  7. IR Sensor

    • Description: Infrared sensor
    • Pins: out, gnd, vcc
  8. Micro SD Card Module

    • Description: SD card module for data storage
    • Pins: cs, sck, mosi, miso, vcc, gnd
  9. SIM800c GSM Module

    • Description: GSM module for communication
    • Pins: SPK-, SPK+, MIC-, MIC+, DTR, RING, GND, TXD, RXD, LINK GND, ANT, VCC(3.7 - 4.2)
  10. 5V Battery

    • Description: Power source
    • Pins: positive, negative
  11. Voice Recognition Module

    • Description: Module for voice command recognition
    • Pins: GND, VCC, RDX, RTX

Wiring Details

MPU-6050

HC-SR04 Ultrasonic Sensor

Bluetooth HC-06

Neo 6M GPS Module

ESP32-CAM

Arduino UNO

IR Sensor

Micro SD Card Module

SIM800c GSM Module

5V Battery

Voice Recognition Module

Documented Code

#include <Wire.h>
#include <MPU6050.h>
#include <SoftwareSerial.h>
#include <TinyGPS++.h>
#include <SPI.h>
#include <SD.h>

// Define pins for sensors
#define trigPin 2
#define echoPin 3
#define irSensorPin 4
#define gpsTxPin 6
#define gpsRxPin 5
#define gsmTxPin 7
#define gsmRxPin 8
#define sdPin 9  // for SD card module (SPI)

SoftwareSerial gsmSerial(gsmTxPin, gsmRxPin);
SoftwareSerial btSerial(10, 11);  // Update to unused pins
TinyGPSPlus gps;
MPU6050 mpu;

File logFile;

long duration;
int distance;
char gpsData[100];
String gpsLocation;

// Emergency contact number
const String emergencyNumber = "YOUR_EMERGENCY_NUMBER";

void setup() {
  Serial.begin(9600);
  gsmSerial.begin(9600);
  btSerial.begin(9600);
  Wire.begin();

  // Initialize sensors
  mpu.initialize();
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(irSensorPin, INPUT);
  
  // Initialize GSM
  gsmSerial.println("AT"); // Test GSM module
  delay(1000);
  gsmSerial.println("AT+CMGF=1"); // Set SMS mode
  delay(1000);

  // Initialize GPS
  Serial.println("GPS Initialized");

  // Initialize SD card
  if (!SD.begin(sdPin)) {
    Serial.println("SD card initialization failed.");
    return;
  }
  log