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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
visats klart. Därför lägger vi till en timer <strong>med</strong> ett interrupt som säger att efter en viss tid ska man gå<br />
in i denna interrupt, och där skiftas värdet för vilken kolumn man ska börja visa bokstaven på. Då<br />
hinner man se varje bild en stund innan den ändras.<br />
När du vill ha en text som rullar förbi gör du i princip samma sak. Det du gör då är att du istället för<br />
att ha bara en vektor, gör du en matris där varje rad är definierad som en bild <strong>med</strong> de bokstäver du<br />
vill skriva ut, och bokstäverna kommer i den ordning i matrisen som du vill skriva ut dem på. Den<br />
första bilden som kommer skrivas ut på matrisen, säg ett mellanslag för att börja <strong>med</strong> en ren bild,<br />
kommer vara vektorn som är högst upp i matrisen. Men när du sen ska skifta bild så vill du att en<br />
bokstav ska komma direkt efter, och inte när du har skiftat klart en bokstav i taget som ovan. Det vi<br />
gör nu är att vi skiftar plats i matrisen, istället för att skifta kolumner. Tänk dig matrisen som en enda<br />
lång vektor. Då kommer det där att stå ett helt ord på hexadecimal form efter varandra. Vi lägger ett<br />
förstoringsglas över de första åtta talen, så vi har ett hexadecimalt tal för varje kolumn i LEDmatrisen<br />
att skriva ut. Om du sen skulle dra förstoringsglaset ett steg åt höger i denna långa vektor<br />
kommer du här bara se 7/8-delar av den första bokstaven, men du har nu också fått 1/8-del av nästa<br />
bokstav. Om vi nu skriver ut dessa åtta hexadecimala tal så får vi att första bokstaven har skiftats<br />
bort ett steg och nästa bokstav har skiftats in, och helt plötsligt så har ordet börjat rulla förbi.<br />
Fortsätt att skifta igenom matrisen på detta sätt tills alla bokstäver du vill skriva ut har skrivits ut.<br />
Här används samma typ av interrupt som säger att efter en viss tid ska man gå in i den för att skifta<br />
plats i matrisen så att texten inte rullar förbi i ett för snabbt tempo. Det som är bra <strong>med</strong> detta<br />
interrupt är det helt upp till dig hur snabbt du vill att din text ska rullas förbi på LED-matrisen.<br />
Initiering av timer<br />
Varje rad loopas igenom<br />
och tänds var för sig i en<br />
snabb frevens. En<br />
bokstav blir synlig.<br />
Initiering av<br />
interrupt<br />
Figur 7 Flödesdiagram för att rulla text<br />
6.3 Pong<br />
En LED-matris är en display <strong>med</strong> stora pixlar, och <strong>med</strong> en display kan man göra mycket roligt, inte<br />
bara skriva ut texter på. Man kan till exempel koppla in några knappar och programmera ett spel till<br />
den. I detta projekt har spelet Pong gjorts. Pong var det första kommersiellt framgångsrika<br />
arkadspelet. Idén är att spelet ska fungera för två spelare som spelar mot varandra. De står på varsin<br />
sida av en mittlinje och båda har en ”paddle”, ett racket som de kan styra upp och ned <strong>med</strong> hjälp av<br />
två knappar var. Med sitt racket ska de hindra en boll som bollas fram och tillbaka över spelplanen<br />
från att komma förbi dem. Om man missar att stoppa bollen får motståndaren ett poäng. Högst<br />
poäng vinner.<br />
10<br />
Skiftar position ett steg i<br />
matrisen som är<br />
uppbyggd av<br />
bokstäverna som ska<br />
skrivas ut. Ger intrycket<br />
att bokstaven har flyttat<br />
på sig.