Motivering
Med de flesta vanliga väckarklockorna ställer man in alarmtiden genom att "klicka sig fram" till rätt tid. Problemet med detta är att det tar väldigt länge att ställa in tiden. Sedan klickar man alltid nu som då en gång för mycket. Någon annan som känner igen sig när man skall ställa in klockan på t.ex. 8.00 och i misstag klickar en gång för mycket, och så tvingas man klicka 23 gånger till? Detta problem löser jag med hjälp av rotationssensorer vilka tillåter mycket snabbare "sökning" och även fungerar i båda riktningarna.
Hårdvara
Klockan är uppbyggd kring en PIC16F628 som använder sig av den interna oscillatorn för att hålla tiden. Displayenmodulen består av 4st 7-segment displayer som drivs av varsin 4511 (BCD to 7-segment driver). Displaydrivarna är multiplexade för att kunna uppdatera varje display skiljt för sig. För justering av tid och annat används som sagt rotationssensorer. Senare tillkommer fler knappar/brytare för diverse funktioner.
Mjukvara
Hjärtat i klockan - PIC:en - kommer jag att mata med ett program jag själv skriver i assembler. Rotationssensorerna kopplas in på PORTB<4:7> och genererar en interrupt när någon av ingångarna ändras. Timer interrupten kommer att användas för att hålla reda på tiden och vid behov uppdatera displayerna och ringa alarmet.
Tidtabell
Jag började på allvar fundera på att göra väckarklockan nångång i början av året, så allting går inte så snabbt. Om den är klar till julen är jag nöjd.
13.08.2006
Jag har införskaffat nästan alla komponenter jag behöver till klockan. En del testkopplingar har gjorts. Assemblerkoden för rotationssensorerna är till största delen skriven (jobbigt!). Komponentschema och kretskortslayout påbörjad för displaymodulen (det blir ett "styrkort" och ett displaykort).
21.08.2006
UV-boxen klar och displaymodulens kretskort tillverkat. Rutinen för att läsa av rotationssensorer är i princip klar.
Bilder

En tidig skiss av hur jag har tänkt mig att klockan skall se ut (matchar min förstärkare).
Ge gärna kommertarer, förslag till förbättringar osv.
*edit: uppdaterade tidtabellen