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

Arduino Pro Mini Smart Watch with Heart Pulse, Humidity, Temperature, and Motion Sensors

View and Edit Project In Cirkit DesignerImage of Arduino Pro Mini Smart Watch with Heart Pulse, Humidity, Temperature, and Motion Sensors

Smart Watch for Elderly Users

Summary

This project involves the design and implementation of a smart watch tailored for elderly users. The watch integrates multiple sensors and modules to provide comprehensive health monitoring, emergency response, and communication capabilities. The main components include an Arduino Pro Mini, a heart pulse sensor, a humidity and temperature sensor, an MPU-6050 accelerometer and gyroscope, an HC-05 Bluetooth module, an LCD display, and a 18650 Li-ion battery pack.

Component List

Arduino Pro Mini

Heart Pulse Sensor

Humidity and Temperature Sensor (RHT03)

MPU-6050

HC-05 Bluetooth Module

18650 Li-ion Battery x 2

LCD Display (16 pin)

Wiring Details

Arduino Pro Mini

Heart Pulse Sensor

Humidity and Temperature Sensor (RHT03)

MPU-6050

HC-05 Bluetooth Module

18650 Li-ion Battery x 2

LCD Display (16 pin)

Code Documentation

/*
 * Smart Watch for Elderly Users
 * This Arduino sketch integrates multiple sensors and modules to create a
 * comprehensive wearable device for health monitoring, emergency response,
 * and communication. Components:
 * - Heart Pulse Sensor (A0)
 * - Humidity and Temperature Sensor (D2)
 * - MPU-6050 Accelerometer and Gyroscope (D9)
 * - HC-05 Bluetooth Module (TXO, RXI)
 * - LCD Display (D3, D4, D5, D6, D7, D8)
 */

#include <Wire.h>
#include <DHT.h>
#include <MPU6050.h>
#include <LiquidCrystal.h>

#define DHTPIN 2
#define DHTTYPE DHT22
#define PULSE_PIN A0
#define MPU_INT_PIN 9
#define LCD_RS 7
#define LCD_E 8
#define LCD_D4 3
#define LCD_D5 4
#define LCD_D6 5
#define LCD_D7 6

DHT dht(DHTPIN, DHTTYPE);
MPU6050 mpu;
LiquidCrystal lcd(LCD_RS, LCD_E, LCD_D4, LCD_D5, LCD_D6, LCD_D7);

void setup() {
  Serial.begin(9600);
  dht.begin();
  Wire.begin();
  mpu.initialize();
  pinMode(MPU_INT_PIN, INPUT);
  lcd.begin(16, 2);
  lcd.print("Smart Watch Init");
  Serial.println("Smart Watch Initialized");
}

void loop() {
  // Read heart pulse sensor
  int pulseValue = analogRead(PULSE_PIN);
  Serial.print("Pulse: ");
  Serial.println(pulseValue);
  lcd.setCursor(0, 0);
  lcd.print("Pulse: ");
  lcd.print(pulseValue);

  // Read humidity and temperature sensor
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    lcd.setCursor(0, 1);
    lcd.print("DHT Error");
  } else {
    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(t);
    Serial.println(" *C");
    lcd.setCursor(0, 1);
    lcd.print("H:");
    lcd.print(h);
    lcd.print("% T:");
    lcd.print(t);
    lcd.print("C");
  }

  // Read MPU-6050 sensor
  if (mpu.testConnection()) {
    int16_t ax, ay, az;
    mpu.getAcceleration(&ax, &ay, &az);
    Serial.print("Accel: ");
    Serial.print(ax); Serial.print(", ");
    Serial.print(ay); Serial.print(", ");
    Serial.println(az);
  } else {
    Serial.println("MPU6050 connection failed");
  }

  delay(1000); // Delay for 1 second
}

This code initializes and reads data from the heart pulse sensor, humidity and temperature sensor, and MPU-6050 accelerometer and gyroscope. It also displays the data on the LCD display and sends it to the serial monitor. The HC-05 Bluetooth module is used for wireless communication, although its specific functionality is not detailed in this code.