A Puzzle Alarm Clock.
![IMGA0159.JPG](/proxy/?url=https://content.instructables.com/FRH/73QV/GPBDHOO2/FRH73QVGPBDHOO2.jpg&filename=IMGA0159.JPG)
![IMGA0162.JPG](/proxy/?url=https://content.instructables.com/F6K/7JQB/GPBDHONZ/F6K7JQBGPBDHONZ.jpg&filename=IMGA0162.JPG)
![IMGA0160.JPG](/proxy/?url=https://content.instructables.com/FP9/U0ZO/GPBDHOOA/FP9U0ZOGPBDHOOA.jpg&filename=IMGA0160.JPG)
![IMGA0161.JPG](/proxy/?url=https://content.instructables.com/FF0/VXK9/GPBDHOOF/FF0VXK9GPBDHOOF.jpg&filename=IMGA0161.JPG)
This is an alarm clock that does not tell you time but when the time reaches a given point the alarm goes off. A buzzer goes off and soleniodes push the top off the alarm. To turn off the alarm the top, which is a puzzle, must be placed back on the right place. It works as the puzzle acts as a jumper lead across the buzzer so it is not one even though power is being applied. When the solinoides are activated, in my case at 7:00 am, the puzzle is pushed off beaking the jumper circuit, turning on the buzzer. I have used 2.5 A2 sheets of 3mm acrylic plastic sheets, 1 picaxe 08M and 08M board, 1 buzzer and 4 solenoides. The chip runs off 4.5 DC V. In the code below the buzzer is attached to output 1 and the solenoides are attached in paralel to output 2. The code follows;
symbol hour = b0
symbol minute = b1
symbol houralarm = b2
symbol minutealarm = b3
high 0
let hour = 18
let minute = 31
let houralarm = 7
let minutealarm =0
waitime:
pause 59300
inc minute
if minute = 60 then
inc hour
let minute = 0
endif
if hour = 24 then
let minute = 0
let hour = 0
endif
if houralarm = hour and minutealarm = minute then
high 1
pause 100
low 1
endif
goto waitime.
If you want to make your own I hope this explains how I made mine.
symbol hour = b0
symbol minute = b1
symbol houralarm = b2
symbol minutealarm = b3
high 0
let hour = 18
let minute = 31
let houralarm = 7
let minutealarm =0
waitime:
pause 59300
inc minute
if minute = 60 then
inc hour
let minute = 0
endif
if hour = 24 then
let minute = 0
let hour = 0
endif
if houralarm = hour and minutealarm = minute then
high 1
pause 100
low 1
endif
goto waitime.
If you want to make your own I hope this explains how I made mine.