📌 Ideation
For this week's assignment, I adapted my Smart Health Reminder Desk project to include wireless communication using Bluetooth. The goal is to allow users to activate hydration and break reminders remotely through a phone or PC GUI.
🔹 Why this idea?
I wanted to improve my existing project by adding wireless functionality, making it more user-friendly and accessible. It is in my "nice to have" features.
🔹 How it works?
Pressing 1 on the Bluetooth GUI:
Activates "Hydration" module
Yellow LED turns ON
LCD displays "Drink Water"
Pressing 2 on the Bluetooth GUI:
Activates “Break Reminder” module
Green LED turns ON
LCD displays "Take a Break"
Image for Reference
Software:
Components
Design Steps
I started by brainstorming ways to integrate Bluetooth communication into my existing smart desk reminder.
I sketched the circuit layout on paper.
Simulated the wiring on TinkerCAD to ensure proper connections and functionality.
Action:
The Bluetooth module communicates with the Arduino via serial communication, while the LEDs and LCD display output is based on the received commands.
Design On Tinker Cad
🔹 Circuit Wiring (TinkerCAD Simulation)
HC-05 Bluetooth Module:
VCC → 5V
GND → GND
TX → Arduino Pin 10 (Software Serial RX)
RX → Arduino Pin 11 (via voltage divider for 3.3V compatibility)
Yellow LED: Arduino Pin 2
Green LED: Arduino Pin 3
LCD I2C Module: SDA → A4, SCL → A5
🔹 Working Logic (Pseudocode)
Initialize Bluetooth and LCD modules.
Continuously read serial data:
If received '1':
Turn ON Yellow LED
Display "Drink Water" on LCD
If received '2':
Turn ON Green LED
Display "Take a Break" on LCD
If received other inputs: No action.
🔹 Code Source
Reference for LCD Code (LINK)
Developed the codeafter downloading the SoftwareSerial library of the LCD named (LiquidCrystal)..
Added LEDs commands to the code.
The Circuit was simulated on TinkerCad
Will Explain in Challenges Section
A) The circuit didn't work
Upon troubleshooting and search turned out I needed a different library for the LCD communication named "LiquidCrystal I2C" instead of "LiquidCrystal".
Also I needed to use another library named "Wire.h"
References:
Ref 1
https://forum.arduino.cc/t/i2c-lcd-module-using-wire-h/1153363/5
Ref 2
https://forum.arduino.cc/t/wire-h-library-and-lcd-i2c/202480
B) Code failed to upload
Solution: I removed the Bluetooth module from the breadboard while uploading.
Title of Media
Learned the LCD screen coding that I will use in the final project.