LCD-Magic (1 / 9 steg)
Steg 1: Gör dina egna tecken
Det finns också detta instructable om LCD förklara mer om specialtecken:
Fråga
I det aktuella Liquid Crystal biblioteket (2014, Arduino 1.0.5)
LCD.write(0); skriver första specialtecknet
ger ett felmeddelande:
CustomCharacter.ino: I funktion "Ogiltig setup()":
CustomCharacter:115: fel: call of overloaded "write(int)" är tvetydig/program/Arduino 3.app/Contents/Resources/Java/libraries/LiquidCrystal/LiquidCrystal.h:82: Obs: kandidaterna är: virtuella size_t LiquidCrystal::write(uint8_t) program/Arduino 3.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.h:49: Obs: size_t Print::write (const char *)
Du kan göra egna karaktär men inte Visa det?
Det visar sig att du kan skriva ut denna första specialtecken också gilla:
LCD.Print (char(0));
Då kan du få din första specialtecknet utan fel.
Inspektera
Om man tittar på de speciella tecken med en slinga:
för (int jag = 0; jag < 16; i ++)
LCD.Print (char(i));
Du ser att specialtecken två gånger visas (i de första 16 minnesplatser)... Jag undrar fortfarande om det finns sätt att få ut mer av detta...
Jag ville mer visuella effekter, övergångar och började göra slumpmässiga tecken i farten så här:
Random
Två varianter:
- en random pixel i varje 8 rad (mindre tät),
- helt slumpmässigt nummer på varje rad (densitet 50%)
för (int q = 0; d < 8; q ++)
{
om (g %2 == 0)
T6 [q] = random(8) << 2; variation 1
annat
T6 [q] = random (64), //variation 2
lcd.createChar (g %7 + 1, t6);
g ++;
}
T6 [] är en 5 x 8 matris, som denna, som är som uttryckligen ytterligare i skriptet "kod".
byte t6 [8] = {//all vit
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
Det finns en tredje variant frestande: infoga större "block" inuti dessa matriser för att få slumpmässiga effekten på en mer "större" format.
Större specialtecken
Genom att göra ett block av säga 2 x 4 specialtecken (här ger 16 x 20 bildpunkter), kan du göra en större "ritning". Du måste bryta ner ritningen att passa i olika enda specialtecken och detta kan vara tråkiga.
Jag förbereda denna "bild" i Photoshop med hjälp av en bild på 16 x 20 pixlar. Antingen kan du koda detta till 8 specialtecken för hand eller använda en bearbetning skiss för detta som skannar en bild och har som utdata byte i formatet på arrayer. Du kan kopiera klistra in denna kod på Arduino koden direkt.