Arduino TFT display och teckensnitt bibliotek (8 / 11 steg)
Steg 8: Nytt snabb bibliotek för ILI9341 baserade TFT-skärm med kör längd kodade teckensnitt
Detta nya bibliotek är ett fristående bibliotek som innehåller TFT föraren samt funktionerna grafik och teckensnitt som fanns i GFX biblioteket. Detta bibliotek har betydande prestandaförbättringar när den används med en UNO (eller ATmega328 baserade Arduino) och MEGA.
Exempel på ingår i biblioteket, inklusive grafiska test program. Exemplet skiss TFT_Rainbow_one visar olika sätt att använda teckensnitt stödfunktioner. Detta bibliotek stöder nu "Skriv ut" biblioteket så formateringsfunktionerna för "Skriv ut" biblioteket kan användas, till exempel att skriva ut till TFT i hexadecimal form, till exempel:
TFT.println (57005, HEX);
Större teckensnitt är nu kör längd kodade (RLE) så att de upptar mindre FLASH utrymme, detta frigör utrymme för resten av skissen. En biprodukt av RLE metoden är att typsnittet ritning är också påskyndas så det är en win-win situation.
En ny 72 poäng stor Font 8 har lagts till som innehåller [mellanslag] 1234567890:. tecken.
Om du använder alternativet F_AS_T prestanda måste ILI9341 baserade displayen vara ansluten till en UNO enligt följande:
- UNO + 5V att Visa pin 1 (VCC) och pin 8 (LED)
- UNO 0V (GND) att Visa stift 2 (GND)
- UNO digital stift 7 genom en 1K 2 motstånd Visa stift 4 (RESET), lägga till en 1K 8 motstånd från display stift 4 till GND
- UNO digital stift 9 genom en 1K 2 motstånd visas pin 5 (DC/RS), lägga till en 1K 8 motstånd från display stift 5 till GND
- UNO digital stift 10 genom en 1K 2 motstånd visas pin 3 (CS), lägga till en 1K 8 motstånd från display stift 3 till GND
- UNO digital stift 11 genom en 1K 2 motstånd Visa stift 6 (SDI/MOSI), lägga till en 1K 8 motstånd från display stift 6 till GND
- UNO digital stift 13 genom en 1K 2 motstånd Visa stift 7 (SCK), lägga till en 1K 8 motstånd från display stift 7 till GND
När du använder en UNO CS raden måste vara ansluten till pinne 10 och DC line till pin 9, beror detta optimerade koden använder direkt port tillgång.
När du använder UNO kommentaren ut MEGA_TFT_ILI9341 #define i biblioteket Run_faster.h filen.
Detta bibliotek stöder endast maskinvara SPI, så stift 11 och 13 på UNO måste användas enligt ovan.
Om du använder alternativet F_AS_T prestanda måste ILI9341 baserade displayen vara ansluten till en MEGA enligt följande:
- MEGA + 5V att Visa pin 1 (VCC) och pin 8 (LED) UNO 0V (GND) att Visa stift 2 (GND)
- MEGA digital pin 44 genom en 1K 2 motstånd Visa stift 4 (RESET), lägga till en 1K 8 motstånd från display stift 4 till GND
- MEGA digital pin 48 genom en 1K 2 motstånd visas pin 5 (DC/RS), lägga till en 1K 8 motstånd från display stift 5 till GND
- MEGA digital pin 47 genom en 1K 2 motstånd visas pin 3 (CS), lägga till en 1K 8 motstånd från display stift 3 till GND
- MEGA digital pin 51 genom en 1K 2 motstånd Visa stift 6 (SDI/MOSI), lägga till en 1K 8 motstånd från display stift 6 till GND
- MEGA digital pin 52 genom en 1K 2 motstånd Visa stift 7 (SCK), lägga till en 1K 8 motstånd från display stift 7 till GND
När du använder en MEGA CS raden måste vara ansluten till pin 47 och DC line till stift 48, beror detta optimerade koden använder direkt port tillgång.
När använda MEGA se till MEGA_TFT_ILI9341 #define i biblioteket Run_faster.h filen i inte kommenteras ut.
Detta bibliotek stöder endast maskinvara SPI, så stift 51 och 52 på MEGA måste användas enligt ovan.
I biblioteket teckensnitt 0 (GLCD typsnitt), 2, 4, är 6 och 8 aktiverade. Redigera filen Load_fonts.h i biblioteksmappen att aktivera/inaktivera teckensnitt för att spara utrymme.
Kom ihåg: Inaktivera teckensnitt sparar FLASH utrymme, och stänga av dem innebär att de inte kan visas!
TFT_ILI9341 biblioteket uppdateras den 1: a juli 2015 till version 12, den senaste versionen bifogas här steg 8:
- Mindre bugg vid rendering brev 'T' i teckensnitt 4 utan bakgrund fast
- RLE teckensnitt är nu utförs utan överlappning (förbättrar renderingshastigheten och stoppar flimmer av intilliggande tecken)