Arduino Uno Based Rising Alarm Clock

6320

Intro: Arduino Uno Based Rising Alarm Clock

This project combines the functionality of an alarm clock with soothing visual and sound cues to gently wake up the user. Using an WS2812B LED Strip, a RTC DS3231 Module, and a piezo speaker, the system gradually increases LED brightness and speaker volume over a 10-minute period, starting at a pre-defined time each day. The relaxing melody played by the piezo speaker serves as a gentle wake-up call, while the soft glow of the LED strip mimics the natural sunrise, providing a calming transition from sleep to wakefulness. By incorporating these elements, the project aims to create a more pleasant and natural waking experience, promoting a sense of relaxation and well-being.

STEP 1: Parts

Gather every part that is required in order to create a circuit. Parts used can be find in the supplies section.

STEP 2: Create a CAD Lamp Model

This is the CAD that I have used to 3D print the lamp. Below is the CAD file attached.

Once the lamp was printed, I carefully sanded it by using various roughness sanding paper and then spray painted. Initially, I wanted the part to be white, however, the printer filament was black, which made it very hard to do. I ended up with a glittery black spray paint, and it turned out great.

STEP 3: Assemble

Create an Arduino Uno circuit, which includes the Arduino Uno, multiple jumper wires, RTC module, LED strip, and a piezo speaker. For reference, I have attached my wiring diagram, which includes pin assignments for each jumper wire. LED strip was attached to the inside of the already printed part.

STEP 4: Coding

I have used Arduino IDE to write a code for this project. Below is the code attached, fully commented along with the code flow chart diagram to better understand the logic behind the code.

Adjust the time you want the project start working directly in the code. Piezo speaker plays "Happy Birthday" song. Feel free to adjust the time and/or the notes for the piezo speaker to play. Paste the code into Arduino IDE, adjust the time, etc and upload it into the Arduino Uno. Attach batteries wire to the Arduino board once the code is uploaded in order for Arduino to have power to light up the LED's, RTC module, and a piezo speaker.

The clock successfully implemented the code and was able to work as planned. The brightness increased by 10% every minute for 10 minutes and was turned off by ultrasound sensor or by reaching the 10-minute mark. The cycle repeats every 24 hours.

STEP 5: The Prototype Is Completed!

Once every step is completed - congratulations, you just have created a rising alarm clock prototype! :)


If I had to redo the project again, I would use brighter LEDs to have a better light output. Also, I would incorporate the ultrasound sensor for an easy alarm turn off.