This is a hobby project to be embedded in a microcontroller, a simple alarm clock which can play different tunes and configured with an LCD screen and buttons. The code is in plain C language, depending on the AVR Library.
The following components are the basic kinds, so I did not specify any model/brand:
- An ATMega8 Microcontroller (or anything compatible, ATTinys would do)
- An MCU programmer (in my case USBAspv2)
- 3v DC Power
- A Buzzer
- An LED
- 2 line simple LCD screen
- Resistors:
- 5 x 10k ohm (buttons)
- 1 x 1k ohm (LED)
- 1 x less than 1k ohm (transistor to mcu)
- 5 x 1 nF Capacitors (debouncing)
- 4 x push buttons and 1 x on-off switch
- An NPN transistor (2N2222 etc.)
- 2 potentiometers [optional]
Fig. 1 : Circuit connections on prototype board
Here are some tunes of the alarm clock, they are irritating enough to wake you up in the morning 🌞. Two potentiometers you'll see below are for adjusting LCD brightness and backlight, you may include them as you like (not shown in the schematic).
demo_mario.mp4
Fig. 2 : Demonstration (Super Mario Theme)
demo_star_wars.mp4
Fig. 3 : Demonstration (Star Wars Theme)
Note I am aware some notes are a little of due to non-ideality of the MCU and components. They probably need some fine-tuning in
notes.h
, but I love them flawed like this.
If you like this project buy me a coffee ☕.