Call Mom is a toddler-safety project designed to help parents prevent potentially hazardous situations at home for young children. Toddlers sometimes put themselves in dangerous situations at home even though their parents are in the same household. This project aims to create a safer environment for toddlers by enhancing caregivers' awareness of potential dangers in real-time.Consisted of two arduino boards, the sensor board is installed wherever in the household that’s considered as a potential hazard and the vibrator board is carried around by their parent so it could alert them.
Ambient Interfaces
Solo project advised by
Tess Oldfield
Arduino
Circuitry
3D print
2 weeks
#include <SoftwareSerial.h>
// Define pins
const int irSensorPin = 4; // Pin connected to IR sensor output
const int buzzerPin = 5; // Pin connected to buzzer
SoftwareSerial hc05(11, 10); // RX, TX pins for HC-05 communication
void setup() {
// Initialize serial communication for Arduino <-> PC (Serial Monitor)
Serial.begin(9600);
// Initialize communication between Arduino and HC-05 at 9600 baud
hc05.begin(9600); // Baud rate for HC-05
// Initialize the IR sensor pin and buzzer pin
pinMode(irSensorPin, INPUT); // Set IR sensor pin as input
pinMode(buzzerPin, OUTPUT); // Set buzzer pin as output
// Print message to Serial Monitor for user
Serial.println("Baby Alert System Initialized");
}
void loop() {
int sensorState = digitalRead(irSensorPin); // Read the IR sensor state
if (sensorState == HIGH) { // If obstacle detected
// Print to Serial Monitor (optional)
Serial.println("Obstacle Detected - ON");
// Send message to HC-05 via Bluetooth
hc05.println("ON"); // This will be sent to the paired device
// Activate buzzer for 3 seconds
tone(buzzerPin, 1000); // Play buzzer at 1000Hz frequency
delay(3000); // Buzzer rings for 3 seconds
noTone(buzzerPin); // Stop buzzer sound after 3 seconds
// Optional: Add a delay between obstacle detections
delay(1000); // Adjust this to control how frequently you detect obstacles
}
}
Board 1
#include <SoftwareSerial.h>
SoftwareSerial hc05(2, 3); // HC-05 TX to pin 2, RX to pin 3
int motorPin = 7; // Connect to MOSFET Gate
void setup() {
pinMode(motorPin, OUTPUT);
digitalWrite(motorPin, LOW); // Ensure motor is off
hc05.begin(9600); // Bluetooth baud rate
Serial.begin(9600); // Serial Monitor
Serial.println("Waiting for Bluetooth command...");
}
void loop() {
if (hc05.available()) {
String command = hc05.readString(); // Read Bluetooth command
command.trim(); // Trim whitespace and newline characters from the string
Serial.println("Received: " + command); // Print received message to Serial Monitor
if (command == "ON") { // Compare the trimmed command
Serial.println("Activating motor!"); // Print when activating motor
digitalWrite(motorPin, HIGH); // Turn on motor
delay(3000); // Run motor for 3 seconds
digitalWrite(motorPin, LOW); // Turn off motor
Serial.println("Motor turned off."); // Print when motor is turned off
}
}
}
Board 2
Code Test
Test 1
Test 2