Inspiration
Honestly, the inspiration came from a couple of places. I was looking at those classic desk clocks, the kind with a simple round face and a square bottom. At the same time,
I was thinking about how cool RGB LEDs are and how I could use them to make something more than just a light. The main spark was the idea of combining the two – making a clock that doesn't just tell time but also expresses it with color.
Ideation
My idea is to create a unique desk clock that's controlled by Bluetooth. Instead of traditional hands, it will use a servo motor as a single hand to point to the time.
Here's the core of the idea: every time the servo moves to a new angle, it signals an RGB LED to change to a new, specific color. So, as time passes, the clock's face will gradually cycle through a spectrum of colors. It's essentially a clock that visualizes the flow of time through a changing rainbow of light, all powered by the movement of the servo.
Softwares
I used Google to search for ideas and to get visual information that helped me get inspiration and develop the concept.
I used Tinker cad to model and simulate my circuit and to test it before circuit building
For coding and code uploading I used Arduino IDE
I used it for controlling via module HC-5 using mobile
I used Arduino Bluetooth control app as GUI for controlling the smart circuit using Bluetooth
Tools & Components
First I used Tinker CAD to make the circuit and simulate it with the serial monitor and it successfully worked
Components I used in the circuit are input component & action component
Action components are like
Servo motor
RGB LED
Input Components like
Bluetooth module HC-5
Servo motor wired inside the circuit and took value to react
HC-5 module Bluetooth wired inside the circuit and working with external device waiting to receive data
RGB LED wired inside the circuit and took value to react and emit color
First to make the circuit , I used Tinker CAD to get the components at first and the attach them together
And so for other components then I Wire them together
After that I head to the coding phase after wiring is all set
Then we check our circuit with serial monitor
Serial monitor is working well as desired , so we continue to Arduino IDE to continue coding and to upload the code to Arduino
We then use graphical UI on mobile phone to interact with the Bluetooth module and with the circuit using the app : Arduino Bluetooth controller
Now every thing is all working and every thing is all set
And here is a Video of circuit testing and simulating
Using TinkerCAD
And here is a Video of circuit implementing and integrating and testing
And here we with the real wiring
Wiring steps and information :-
First I connected bluetooth module to breadborad with its 4 pins TX,RX,GND,VCC then I connected it's pins to Arduion
Vcc to the bread board row taaken from arduino 5V
GND to the - row taken from the arduino GND to the breadboard
Tx to the Rx 0 pin in arduino
Rx to the Tx 1 pin in arduion
Servo motor Wiring into breadboard and Arduino
implementing the servo motor as shown in videos to its place in cardboard
we take connection from servo GND to the breadboard GND taken from Arduino
Same for Vcc in breadborad taken from 5V in Arduino
We connect the yellow signal pin from the servo to an analog pin in arduino directly
For RGB LED we connect it to the bread board with extentions and resistences
we first implement RGB Led to the breadboard and place it to its place
we take female-female wires and wire them to the RGB pins to extend
We connect wires to breadboard and aonnect to them on the bread board 220 Ohm resistances
We connect wire coming from common cathode to breadboard GND taken from arduino
We connect every single wire coming from color Pins to different analog pin in arduino using male-male wires
Illustrative Video for trial and try and wiring
First video for trail and try
Second video for wiring how
Third video for wiring how and implementing into breadboard
to Integrating the circuit and implementing it into enclosure
And here is a Video of final outcome
A video of a working circuit
Now to the code explanation
Here I added the Servo library so I can use it in my code, and I made an object called myServo to control the motor later.
Here I set the pins for the components: pin 9 for the servo, pin 11 for the red LED, pin 10 for the green LED, and pin 6 for the blue LED.
Here I made a variable called incomingData to store the data I get, and inside setup I started the serial monitor with speed 9600 to send and receive data.
Here I connected the servo to its pin using attach, and I set the LED pins (red, green, blue) as outputs so I can turn them on or off.
Here I set the servo position to 0 degrees, and I turned off all the LEDs by writing 0 to the red, green, and blue pins.
Here inside the loop I wait until there is data in the serial monitor, then I read it and save it inside the variable incomingData.
Here I check if the incoming data is '1', then I move the servo to 30 degrees and turn on the red LED while keeping the green and blue LEDs off.
Here if the incoming data is '2', I move the servo to 60 degrees and turn on the green LED while the red and blue LEDs stay off.
Here if the incoming data is '3', I move the servo to 90 degrees and turn on the blue LED while the red and green LEDs stay off.
Here if the incoming data is '4', I move the servo to 120 degrees and turn on both the red and green LEDs together while the blue LED stays off.
Here if the incoming data is '5', I move the servo to 150 degrees and turn on the green and blue LEDs together while the red LED stays off.
Here if the incoming data is '6', I move the servo to 180 degrees and turn on the red and blue LEDs together while the green LED stays off.
Here if the incoming data is '0', I reset the servo back to 0 degrees and turn off all the LEDs (red, green, and blue).
No, But for me not for the peers , I learnt how to use serial print more effectively it really helped me understand how sending data works and how we could use Blue tooth module , a really helpful topic and a really great value that really helped me
Yes , Bluetooth module was not working and was always bugging and stuck after the first command is made , it really was annoying as the circuit had no problem with wiring or coding
the solution was to change mobile device that I run the project on , and to cancel the Voltage divider circuit
problem was a bug from mobile phone so when I switched mobile & use Bluetooth terminal on another phone problem was solved automatically
First I can now use wireless modules in my final project it's a great addition for real
Second I understood how to use serial monitor and how to test the full project virtually even with the data you want to enter