Sida 1 av 1

Väckarklocka

Postat: 24 juni 2009, 00:49:12
av E85
Ett litet projekt jag pulat med för att komma igång med AVR:ens funktioner efter att tidigare ha använt PIC18. Det är inte färdigt än så jag kommer fortsätta i den här tråden ett tag framöver förmodligen.

Allt kretsar kring en Atmega168 som är en 8-bit mikrokontroller i AVR-serien från Atmega. Den har 16KB flash-minne och för tillfället används ungefär 10KB. Om det skulle krisa sig går det förmodligen att rensa i koden eller byta upp till en Atmega328 (32KB).

Jag har köpt en Denver EC-30 Väckarklocka på Jula för att få tag i allt så billigt som möjligt. Det jag kan återanvända är display, låda med knappar och förmodligen även transformatorn (6.5VAC ?VA).

Bild

Funktioner:
* Uppspelning av WAV-filer (PCM 8-bit 22050hz max)
* Styrning av fjärrströmbrytare
* 2GB minne för lagring av musik och konfiguration
* Alarm
* Klocka

För att driva displayen använder jag en extra Atmega168 (som ska bli en Atmega48 på framtida PCB). Det dryga (och bra) med den här displayen är att den har dubbla katoder för att spara in på pinnar. För att driva den har jag två PWM-kanaler kopplade till gaten på två mosfetar. Den ena kanalen är normal och den andra är inverterad vilket gör att med 127 av 255 i duty-cycle-registret på båda kanalerna kommer den ena alltid vara tänd när den andra är släckt. Genom att justera duty-cycle beroende på antalet tända lysdioder går det att få ganska jämn ljusstyrka. Den här LCD-kontrollern agerar TWI-slav och styrs genom att 16 bitar skickas över bussen. De tre första bitarna bestämmer om Kolon och de två alarm-LEDarna ska vara tända och resten (13-bit) är det tal som ska visas.

Eftersom minneskortet (MicroSD) vill ha 3.3V bestämde jag mig för att köra hela kretsen på 3.3V (LM1117). Minneskortet läses med hjälp av Roland Riegels MMC/SD/SDHC card library. Skrivning är avaktiverat.

RF-sändarmodulen köpt på Kjell styrs av huvudkontrollern och den klarar NEXA och Sartano just nu.

Bild
Bild

Koden är väldigt okomplett och inte speciellt kommenterad. Finns t.ex inga funktioner för att prata med RTC'n än eller alarm-funktioner. Det den kan göra just nu är att visa valfritt nummer upp till 2999 på displayen, spela musik från minneskort och styra fjärrströmbrytare.

Kod: http://misc.fmx.se/alarmclock-0.1.zip

Re: Väckarklocka

Postat: 24 juni 2009, 08:45:56
av Mindmapper
Härligt projekt! Hoppas att nätdelen räcker till, då har du fått till en maximal moddning av den gamla klockan.
Tycker du fått in en härlig mix av nya funktioner i den gamla härken. Det verkar genomtänkt.
Lycka till med fortsättningen! :tumupp:

Re: Väckarklocka

Postat: 24 juni 2009, 15:51:32
av blueint
Bra projekttråd! ;) :tumupp: