You are on page 1of 6

DEPARTMENT OF

ELECTRONICS AND COMMUNICATION


ENGINEERING

IOT BASED WEARABLE CHILD CARE SYSTEM

Guided by

Dr.M.TAMILNIDHI M.E.,Ph.D

PROJECT MEMBERS:
19L123 -Karthick P

19L133 -Mohammed Mustafa B

19L134 -Naveen Kumar M P

19L150 -Umesh K
Abstract

Attacks on children have increased at an alarming rate in recent years, with victims finding themselves

in risky situations with few options for reaching their relatives. The primary purpose of this project is to develop

a smart wearable gadget for children that leverages modern technologies to assure their safety. As a result, this

method is seen as send an CALL from the children's wearable to their parents. Through the use of a APP, this

invention leverages cutting-edge technology to protect the child. The wearable will incorporate an ESP8266, a

temperature sensor, and an accelerometer sensor. If the kid falls unexpectedly, the accelerometer detects it and

warns the parents. As a result, the parent feels secure.

Components
• Temperature sensor MLX90614

• Accelerometer sensors

• Node MCU -ESP 8266 wi-fi module

• Power supply Unit

Block Diagram:

TRANSMITTER SIDE
RECEIVER SIDE

BLOCK DIAGRAM OF IOT BASED WEARABLE CHILD CARE SYSTEM

NODE MCU ESP8266 :

Node MCU is an open source firmware for which open source prototyping board designs are available.
The name "Node MCU" combines "node" and "MCU" (micro-controller unit). Strictly speaking, the term "Node
MCU" refers to the firmware rather than the associated development kits.

TEMPERATURE SENSOR MLX90614:

 MLX90614 is a non-contact infrared temperature sensor manufactured by Melexis. It is capable of


measuring temperatures in the range of -70°C to +380°C with a high accuracy of ±0.5°C. The MLX90614 is
commonly used in a variety of applications such as thermal imaging, HVAC/R, and industrial temperature
control.

 The sensor features a small form factor, low power consumption, and digital interface that makes it easy
to integrate into various systems. It uses infrared technology to accurately measure the temperature of an
object without coming into physical contact, making it a safe and efficient solution for temperature sensing in
many applications.

 It is capable of measuring the temperature of an object without making physical contact with it, by
detecting the infrared radiation emitted by the object. This makes it useful for a wide range of applications,
including temperature measurement in medical devices, HVAC systems, and industrial process control. The
sensor has a wide temperature measurement range, from -40°C to 125°C, and can be easily integrated into
various systems with its standard I2C interface.

ACCELEROMETER SENSOR:

An accelerometer sensor is a tool that measures the acceleration of any body or object in its
instantaneous rest frame. It is not a coordinate acceleration. Accelerometer sensors are used in many ways, such
as in many electronic devices, smartphones, and wearable devices, etc.
ACCELEROMETER SENSOR CODEING:

#include (ACCEL_YOUT_L)
const int MPU_addr = 0x68; // I2C address of the MPU- AcZ = Wire.read() << 8 | Wire.read(); // 0x3F
6050 (ACCEL_ZOUT_H) & 0x40
int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; (ACCEL_ZOUT_L)
float ax = 0, ay = 0, az = 0, gx = 0, gy = 0, gz = 0; Tmp = Wire.read() << 8 | Wire.read(); // 0x41
boolean fall = false; //stores if a fall has occurred (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)
boolean trigger1 = false; //stores if first trigger (lower GyX = Wire.read() << 8 | Wire.read(); // 0x43
threshold) has occurred (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
boolean trigger2 = false; //stores if second trigger (upper GyY = Wire.read() << 8 | Wire.read(); // 0x45
threshold) has occurred (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
boolean trigger3 = false; //stores if third trigger (orientation GyZ = Wire.read() << 8 | Wire.read(); // 0x47
change) has occurred (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
byte trigger1count = 0; //stores the counts past since trigger ax = (AcX - 2050) / 16384.00;
1 was set true ay = (AcY - 77) / 16384.00;
byte trigger2count = 0; //stores the counts past since trigger az = (AcZ - 1947) / 16384.00;
2 was set true gx = (GyX + 270) / 131.07;
byte trigger3count = 0; //stores the counts past since trigger gy = (GyY - 351) / 131.07;
3 was set true 2/10/23, 11:59 PM child_safety_device.ino
int angleChange = 0; about:blank 2/3
void setup() gz = (GyZ + 136) / 131.07;
{ // calculating Amplitute vector for 3 axis
Serial.begin(9600); float Raw_Amp = pow(pow(ax, 2) + pow(ay, 2) + pow(az,
Wire.begin(); 2), 0.5);
Wire.beginTransmission(MPU_addr); int Amp = Raw_Amp * 10; // Mulitiplied by 10 bcz values
Wire.write(0x6B); // PWR_MGMT_1 register are between 0 to 1
Wire.write(0); // set to zero (wakes up the MPU-6050) Serial.println(Amp);
Wire.endTransmission(true); if (Amp <= 2 && trigger2 == false) { //if AM breaks lower
Serial.println("Wrote to IMU"); threshold (0.4g)
} trigger1 = true;
void loop() Serial.println("TRIGGER 1 ACTIVATED");
{ }
Wire.beginTransmission(MPU_addr); if (trigger1 == true) {
Wire.write(0x3B); // starting with register 0x3B trigger1count++;
(ACCEL_XOUT_H) if (Amp >= 12) { //if AM breaks upper threshold (3g)
Wire.endTransmission(false); trigger2 = true;
Wire.requestFrom(MPU_addr, 14, true); // request a total Serial.println("TRIGGER 2 ACTIVATED");
of 14 registers trigger1 = false; trigger1count = 0;
AcX = Wire.read() << 8 | Wire.read(); // 0x3B }
(ACCEL_XOUT_H) & 0x3C }
(ACCEL_XOUT_L) if (trigger2 == true) {
AcY = Wire.read() << 8 | Wire.read(); // 0x3D trigger2count++;
(ACCEL_YOUT_H) & 0x3E
angleChange = pow(pow(gx, 2) + pow(gy, 2) + pow(gz, 2), else { //user regained normal orientation
0.5); trigger3 = false; trigger3count = 0;
Serial.println(angleChange); Serial.println("TRIGGER 3 DEACTIVATED");
if (angleChange >= 30 && angleChange <= 400) { //if }}}
orientation changes by if (fall == true) { //in event of a fall detection
between 80-100 degrees Serial.println("FALL DETECTED");
trigger3 = true; trigger2 = false; trigger2count = 0; // send_event("Fall_Detected");
Serial.println(angleChange); fall = false;
Serial.println("TRIGGER 3 ACTIVATED"); }
}} if (trigger2count >= 6) { //allow 0.5s for orientation change
if (trigger3 == true) { 2/10/23, 11:59 PM child_safety_device.ino
trigger3count++; about:blank 3/3
if (trigger3count >= 10) { trigger2 = false; trigger2count = 0;
angleChange = pow(pow(gx, 2) + pow(gy, 2) + pow(gz, 2), Serial.println("TRIGGER 2 DECACTIVATED");
0.5); }
//delay(10); if (trigger1count >= 6) { //allow 0.5s for AM to break
Serial.println(angleChange); upper threshold
if ((angleChange >= 0) && (angleChange <= 10)) { //if trigger1 = false; trigger1count = 0;
orientation changes Serial.println("TRIGGER 1 DECACTIVATED");
remains between 0-10 degrees }
fall = true; trigger3 = false; trigger3count = 0; delay(100);
Serial.println(angleChange); }
}

FUTURE SCOPE
1.Device can be made further Compact in size.

2. Developing the ability to work in any environmental situation

REFERENCES :
B. Mallick and A. K. Patro, "Heart Rate Monitoring System Using Finger Tip Through Arduino And Processing
Software", International Journal of Science Engineering and Technology Research (IJSETR), vol. 5, no. 1,
January 2016, ISSN 2278-7798.

Dustin T. Weiler, Stefanie O. Villajuan, Laura Edkins, Sean Cleary and Jason J. Saleem, "Wearable Heart Rate
Monitor Technology Accuracy in Research: A Comparative Study between PPG and ECG Technology",
Proceedings of the Human Factors and Ergonomics Society 2017 Annual Meeting.

Marius Valerian Paulet, Oana Maria Neacsu and Andrei Salceanu, "Wireless monitoring system of the heart
rate", 2014 International Conference and Exposition on Electrical and Power Engineering, ISBN 978-1-4799-
5849-8.

You might also like