En Arduino RSS-Feed visas (4 / 6 steg)
Steg 4: Arduino koden
Denna kod är för Arduino RSS feed projektet, av plottraLäs kommentar raderna att räkna ut hur det fungerar
int startstring = 0; erkännande av början av ny sträng
int charcount = 0; håller reda på totala tecken på skärmen
#include < LiquidCrystal.h > / / Importera LiquidCrystal bibliotek
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
void setup() {
Serial.BEGIN(9600); öppnar serieport, anger datahastigheten till 9600 bps
LCD.BEGIN(16,2); Initiera LCD storleken 16 x 2. Ändra om du använder en större LCD
lcd.setCursor(0,0); Ange markörens position till övre vänstra hörnet
pinMode (13, OUTPUT);
}
void loop() {
char incomingByte = 0; för inkommande seriella data
om (Serial.available() > 0) {/ / kolla för inkommande seriella Data
digitalWrite 13, hög.
incomingByte = Serial.read();
om ((incomingByte == "~") & & (startstring == 1)) {/ / kolla för stängning ' ~' till slut utskrift av seriell data
startstring = 0; Ställa utskrifter till off
Delay(5000); Vänta 5 sekunder
LCD.Clear(); Torka av skärmen
charCount = 0; återställa antalet tecken till 0
lcd.setCursor(0,0); återställa markören till 0,0
}
om (startstring == 1) {/ / kolla om strängen har börjat om första ' ~' har lästs
om (charcount < = 30) {/ / kontrollera om charcount är eller lika med 30
LCD.Print(incomingByte); Skriva ut den aktuella byten i följetongen
charCount = charcount ++; Ökas charcount med 1 Ja jag vet att det är krångligt
}
}
om (charcount == 31) {/ / om charcount motsvarar 31 aka skärmen är full
Delay(500);
LCD.Clear(); Rensa skärmen
lcd.setCursor(0,0); Ställ in markören till 0,0
LCD.Print(incomingByte); fortsätta skriva ut data
charCount = 1; Ställ in charcount till 1
}
om (incomingByte == ' ~') {/ / kolla om byte är markör ~ börja tryckningen
startstring = 1; Starta utskriften
}
}
digitalWrite 13, låg.
Delay(10); 10 ms fördröjning för stabilitet
}