Here’s a simple project that I have worked on for time to time which is amazingly finished (in its code format anyway) A simple clock with a buzzer alarm. Not “real time clock” meaning that if the power shuts down, you have to re-set the clock. Not a big deal, it is entended to be put in house. I don’t even know if people bother buying alarm clock anymore considering that any Dumbphone does it now. Anyway, it is how I’d like it to be looking like :
All made of 3mm MDF. The annoying part is the PCB cost. It has to be done in a double sided board fashion, components are on both sides. Well, it isn’t very an issue on its own but the cost for such one-shot project is very high, 33euros (or call me cheap). Everything could be simplified by using SMD parts (which I’d really like using) but I haven’t go them now.
it’s pretty boring stuff from an electronic point of view, everything is happening in the code. And here it is in a “prototype” condition (needs a bit of cleaning) :
I won’t go into full details, could be boring, but here’s some hints.
All the critical stuff (updating datas) in done into a Interupt. Bear in mind that I’m using the internal 1Mhz clock is therefore can drift a bit during time. Don’t use this to send your spacerocket to the moon. There’s the LCD_OK flag to let the interupt does the updating of the screen or not (if the screen is already doing some “screening”). I’m not totally happy with the while loop but it works good without buggs. The alarm condition is evaluated everytime pass into the while loop. The tricky bit was to let the buzzer ring wihtout creating a loop and blocking other code happening so I managed to get something working.
I have to work a bit on the PCB making it single sided board or double-sided but in the tradditional way (without silkscreen, vias ect…) to reduce cost.
However, the µC is barely used and TONS of RAM is unused, I don’t even know if it is worth it to condemn a µC for that…I wanted to incorporate an “doctor who” oriented “hunt the wumpus” game, I started but got a bit lazy on it.
I don’t know if this will really end in its wished format. Once again, as the work is done it kinda lose interest for me.
Anyway if this could be of any help for someone…