Week 12: Final Project Proposal

Smart House System

For this project, I am designing a Smart House System using Arduino UNO and p5.js.
The idea was to automate key parts of a house and parking lot, and to create a more interactive experience using voice announcements made with p5.js.

The main features include:

  • Automatic main door that opens when a person approaches.

  • Car parking system that displays the number of available spots and automatically opens a parking barricade if spots are available.

  • Indoor lighting system that switches on when it gets dark, based on a photoresistor sensor.

  • Real-time voice announcements generated in p5.js based on Arduino sensor inputs, to make the system feel alive and responsive during an exhibition demo.

Design and Description of Arduino Program

The Arduino is responsible for all hardware sensor readings, actuator controls, and sending/receiving messages to and from p5.js.

Component Type Description
Distance Sensor (Main Door) Input Measures distance to detect a visitor near the main door.
Distance Sensor (Parking Entrance) Input Detects a car approaching the parking gate (entry).
Distance Sensor (Parking Exit) Input Detects a car leaving the parking area (exit).
Photoresistor (Indoor Lighting) Input Detects ambient light levels to determine if indoor lights should be turned on.
Servo Motor (Main Door) Output Opens or closes the main entrance door based on visitor detection.
Servo Motor (Parking Gate) Output Opens or closes the parking barricade when a car is allowed entry.
LED Display Output Shows the number of parking spots left.
Indoor LEDs / Lights Output Turns indoor lights on/off based on photoresistor readings.

Design and Description of p5.js Program

The p5.js program is responsible for interaction, feedback, and visualization.

Main Tasks:

  • Connects to Arduino through Serial communication.

  • Reads messages sent from Arduino (e.g., “door_open”, “lights_on”, “parking_spots:3”).

  • Plays real-time voice announcements using the p5.speech library based on events detected.

  • Displays a virtual dashboard showing the current number of available parking spots and statuses like door open/closed, lights on/off.

Voice Announcements Based on Arduino Events:

Arduino Message p5.js Voice Announcement
door_open “Welcome! The door is opening.”
car_entry “Vehicle detected. Checking parking availability.”
car_exit “Vehicle exited. Parking spot now available.”
parking_full “Parking is full. Please wait.”
lights_on “Lights are now on for your comfort.”
lights_off “Lights are off to save energy.”

Leave a Reply