Elektriska Imp WiFi framsteg Display (9 / 12 steg)
Steg 9: Firmware - driva lysdioderna
- Enheten raden 0 Pin hög
- Om bitmappsmönster lite in för en viss kolumn, vända enheten kolumn pin hög. Vänta en kort stund och ange den kolumn pin låg.
- Gå vidare till nästa kolumn tills alla kolumner har förvaltats.
- Kör rad 0 låg och driva rad 1 hög och upprepa processen för kolumnen stiften definieras för den raden.
Lysdioderna visas att tändas kontinuerligt på grund av ihållande vision. Det finns en mycket omfattande artikel om principerna för LED arrays här: http://www.avagotech.com/docs/AV02-3697EN
Mönstret som definierar som LED måste vara belysta i varje rad arrangeras i rad- och mode. En matris med 4 byte definierar tillståndet i rutnätet på en viss punkt i tiden. Hänvisning till Dragonfly matrisen, kan vi vända kroppen komponenter på och av genom att definiera en nolla och en för varje rad och kolumn position. Till exempel för att vända på huvudet, måste vi driva raden 0 hög och kolumn 1 hög. Detta är en mödosam process. Följande rad poster visar typiska sekvensen behövs för att animera displayen
Raden 0, rad 1, rad 2
[0x00, 0x00, 0x00], animation Sequence steg 0 (inga kolumn bitar är iväg - allt)
[0x00, 0x00, 0x04], animation Sequence steg 1 (rad 2 kolumn kolumn 2 ligger på - här vänder på svansen spets)
[0x00, 0x00, 0x06], animation Sequence steg 2 (rad 2 kolumn 2 och 3 är på - detta visar på svansen spets och buken)
[0x00, 0x02, 0x06] Animation Sequence steg 3 (rad 2 kolumn 2 och 3 och rad 1 kolumn 1 är på - svans tips, buk och thorax)
Det finns en 250ms fördröjning mellan sekvens steg. Du kan ändra i koden för snabbare eller långsammare. Animeringen används för att "fira" den slutliga belöning nivå uppfylls. När du ser dragonfly blinkande - det är dags för glass!
Under normal drift tänds lysdioderna i sekvens som varje registrering görs från remote smartphone. Om en A tas emot, den nuvarande belöning nivån ökas som vänder på nästa body-elementet. Displayen är inte animerad i detta fall och visas statisk, lysande endast lysdioderna motsvarar nivån som belöning.
Ett diagnostiskt läge ges också så att du kan kontrollera din panel ledningar. Genom att klicka på varje del av kroppen av trollslända, kan du växla belysning av en LED.