29.08.2013 Views

Autonom robotväckarklocka med trådlös basstation - KTH

Autonom robotväckarklocka med trådlös basstation - KTH

Autonom robotväckarklocka med trådlös basstation - KTH

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Läge2-Kontinuerlig drift.<br />

Här användes istället en 16-bitars timer <strong>med</strong> intern interrupt där interrupflaggan bestäms av<br />

inmatningsfunktionen.<br />

Läge3-musik<br />

Det bestämdes att göra ett läge där stegmotorn kan ”spela” toner genom att den stegas så pass<br />

fort att istället för att börja snurra börjar den vibrera och där<strong>med</strong> även ger ifrån sig en<br />

fyrkantsliknande ton. Detta ska kunna styras genom att knapparna på tangentbordet ska<br />

motsvara de vita tangenterna på ett piano.<br />

Även här användes samma timer som i läge 2. Genom att ta hänsyn till kontrollerns<br />

klockfrekvens på 8 MHz och en prescaler på 1 räknades ett värde ut vad interruptflaggan<br />

måste vara på för att få A-ton på 440 Hz, denna användes som grundton för att generera<br />

resterande toner. En oktav på ett piano består av 12 svarta och vita tangenter där den<br />

multiplicerande faktorn mellan varje hopp är lika stort mellan varje tangent. Då frekvensen<br />

ökar <strong>med</strong> en faktor 2 för varje oktav innebär detta innebär att frekvensen skiljer sig <strong>med</strong> en<br />

faktor 2 mellan varje tangetsteg.<br />

Bild 19. Schematisk bild över en oktav från ett piano och faktorn som varje tangent skiljer sig<br />

från grundtangenten A (till vänster). Bild tagen och ändrad från Wikipedia.<br />

Prototypen<br />

När samtliga moduler blivit bestämda och testade skapades en prototyp på ett experimentkort.<br />

För att ha möjligheten att kunna byta ut motordrivaren mot någon annan fattades beslutet att<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!