Stap 4: Tekst op het LCD-scherm weergeven
Code die door roken en draden
http://www.smokeandwires.co.nz / / deze code is overgenomen uit de bibliotheek van Adafruit TFT en bewerkt / / door ons voor gebruik met onze schilden TFT / Modules / / voor oorspronkelijke code / licentieverlening Raadpleeg / / http://www.smokeandwires.co.nz
#include / / core grafische bibliotheek #include "SWTFT.h" / / hardwarespecifieke bibliotheek
De pinnen van de controle voor het LCD-scherm kunnen worden toegewezen aan elke digitale of / / analog pinnen... maar we zullen de analoge pinnen gebruiken zoals dit laat ons toe om / / verdubbelen de pinnen met de touch-screen (Zie het voorbeeld van de verf TFT). #define LCD_CS A3 / / Chip Selecteer gaat naar analoge 3 / / #define LCD_CD A2 / / Command/Data gaat naar analoog 2 / / #define LCD_WR A1 / / LCD schrijven gaat naar analoge 1 / / #define LCD_RD A0 / / LCD lezen gaat naar analoge 0
#define LCD_RESET A4 / / afwisselend alleen verbinding kan maken met de Arduino resetpin
Als u alleen de BREAKOUT BOARD, gebruikt deze 8 data lijnen naar het LCD-scherm: / / voor de Arduino Uno, Duemilanove, Diecimila, etc.: / / D0 verbindt met digitale pin 8 (merken dit zijn / / D1 verbindt met digitale pin 9 niet in volgorde!) / / D2 verbindt met de digitale pen 2 / / D3 verbindt met de digitale pen 3 / / D4 verbindt met digitale pin 4 / / D5 verbindt met digitale pin 5 / / D6 verbindt met digitale pin 6 / / D7 verbindt met digitale pin 7 / / voor de Arduino Mega , gebruik digitale pinnen 22 tot en met 29 / / (op de kop van de 2-rij aan het einde van de Raad van bestuur).
Leesbare namen toewijzen aan bepaalde gemeenschappelijke waarden van de 16-bits kleuren: #define BLACK 0x0000 #define 0x001F BLUE #define rood 0xF800 #define GREEN 0x07E0 #define 0x07FF cyaan #define MAGENTA 0xF81F #define 0xFFE0 gele #define WHITE 0xFFFF
SWTFT tft; Als met behulp van het schild, alle controle- en datalijnen worden opgelost, en / / een eenvoudiger verklaring kan eventueel worden gebruikt: / / SWTFT tft;
void setup(void) {tft.reset();
uint16_t id = tft.readID(); TFT.begin(Identifier); }
void loop(void) {voor (uint8_t rotatie = 0; rotatie = 1; rotatie ++) {tft.setRotation(rotation); testText(); delay(20000);}}
unsigned long testFillScreen() {unsigned lange start = micros(); tft.fillScreen(BLACK); tft.fillScreen(RED); tft.fillScreen(GREEN); tft.fillScreen(BLUE); tft.fillScreen(BLACK); terugkeer micros() - start;}
unsigned long testText() {tft.fillScreen(BLACK); niet-ondertekende lange start = micros() met tft.setCursor (0, 0); tft.setTextColor(WHITE); tft.setTextSize(1); tft.println ("Zhungu Robotics!");
tft.setTextColor(GREEN); tft.setTextSize(2); TFT.println ("Motor temp ~ 56 graden C"); tft.setTextColor(WHITE);
TFT.println ("ESC Temp ~ 50 graden C"); tft.setTextColor(MAGENTA);
TFT.println ("methaan Sensor ~ 20ppm"); tft.setTextColor(CYAN);
TFT.println ("waterstof sensor ~ 0.2 ppm"); tft.setTextColor(RED);
TFT.println ("CO2-Sensor ~ 70ppm"); tft.setTextColor(MAGENTA);
TFT.println ("luchtdruk ~ 100011Pa"); tft.setTextColor(GREEN);
TFT.println ("huidige temp ~ 30 graden C"); tft.setTextColor(YELLOW);
TFT.println ("huidige luchtvochtigheid bedraagt 50%"); tft.setTextColor(CYAN);
TFT.println ("~ 45m Altutude"); tft.setTextColor(WHITE);
TFT.println ("spanning resterende ~ 7.6V"); tft.setTextColor(BLUE);
TFT.println ("huidige draw ~ 12 bis"); tft.setTextColor(GREEN); TFT.println ("UV-Index is 12mW/cm ^ 2"); tft.setTextColor(RED); TFT.println ("lichtintensiteit is 930 Lux");
retour micros() - start; }