Arduino text LCD animation (8 / 9 steg)
Steg 8: Se det arbete!
Slutresultatet är en tank som rör sig över skärmen.En sak att notera är att olika LCD-paneler har olika fysiska layouter och egenskaper. På detta forum finns det en fästmarginal linje som är en pixel bred mellan varje tecken, både vertikalt och horisontellt. Displayen är 8 tecken brett av 2 chars hög. Jag experimenterade med olika modulo inställningarna, tillåter karaktär rörelse på varje sjätte SKIFT, snarare än varje femte, för att kompensera. Det är något du har att spela med, beroende på vad du försöker Rita. En annan LCD-panelen har jag kom från en H-P skrivare, och den har inte en pixel bred rännstenen mellan raderna, men fortfarande har en avloppsränna mellan varje tecken.
Den andra saken är att för att se upp för är vissna tid och kontrast. Potentiometern möjliggör olika kontrast inställningar, vilket gör det lättare att se pixlarna. Fade tiden kan variera mellan paneler. Ju längre vissna, mer förseningen du behöver, eller annars du kommer att stöta på suddiga animation. Någon där ute kan förmodligen hitta ett sätt att dra nytta av att blekna, men. Det verkar finnas ett smart sätt att generera "grå" nivåer genom att snabbt vrida pixlar på/av, men bara om tidpunkten är verkligen exakt.
Slutligen, från kodning synpunkt, detta kan väl inte vara det mest effektiva sättet att göra saker. Du kan i stället före återge alla turrent bitar, och alla slitbanan bitars kombinationer, och även före flytta dem till alla nödvändiga platser. (Låt oss se, det skulle vara fem kombinationer för de första fyra linjer som representerar tornet, och tre gånger fem kombinationer av bit-skiftat slitbanan, gånger åtta långa ints, för sammanlagt 5 x 8 + 3 x 5 x 8 = 4 x 5 x 8 = 160 lång ints = 640 byte, förrenderade. Med annan kod, som kan vara billigare än det utrymme som vidtagits av den kompilerade koden, och det finns andra medelväg lösningar.
Den faktiska koden är på den sista sidan i detta Instructable.