Étape 4: Le Code de l’Arduino
Ce code est pour l’Arduino RSS feed projet, par beignetLire les lignes de commentaire pour comprendre comment ça marche
int startstring = 0 ; reconnaissance du début de la nouvelle chaîne
int charcount = 0 ; conserve la trace des caractères totales sur écran
#include < LiquidCrystal.h > / / Importer la bibliothèque innovente
Innovente lcd (12, 11, 5, 4, 3, 2) ;
void setup() {}
Serial.Begin(9600) ; ouvre le port série, établit le taux de données à 9600 bits/s
LCD.Begin(16,2) ; Initialiser la taille du LCD 16 x 2. Changer si vous utilisez un plus grand écran LCD
lcd.setCursor(0,0) ; Définir la position du curseur à l’angle supérieur gauche
pinMode (13, sortie) ;
}
void loop() {}
char incomingByte = 0 ; pour les données entrantes de série
Si (Serial.available() > 0) {/ / vérifier pour les données entrantes de série
digitalWrite (13, HIGH) ;
incomingByte = Serial.read() ;
Si ((incomingByte == ' ~') & & (startstring == 1)) {/ / vérifier la fermeture ' ~' pour mettre fin à l’impression des données série
startString = 0 ; Définir l’impression OFF
Delay(5000) ; Attendez 5 secondes
LCD.Clear() ; Essuyez l’écran
charCount = 0 ; réinitialiser le compteur de caractère à 0
lcd.setCursor(0,0) ; réinitialiser le curseur à 0,0
}
Si (startstring == 1) {/ / vérifier si la chaîne a commencé si première ' ~' a été lue
Si (charcount < = 30) {/ / vérifier si charcount est dessous ou égal à 30
LCD.Print(incomingByte) ; Imprimer l’octet courant dans la série
charCount = charcount ++ ; Incrémentez le charcount 1 Oui je sais c’est maladroit
}
}
Si (charcount == 31) {/ / si le charcount est égal à 31, aka, l’écran est plein
Delay(500) ;
LCD.Clear() ; effacer l’écran
lcd.setCursor(0,0) ; jeu de curseur à 0,0
LCD.Print(incomingByte) ; continuer les données d’impression
charCount = 1 ; charcount Set à 1
}
Si (incomingByte == ' ~') {/ / vérifier si l’octet est marqueur ~ pour commencer l’impression
startString = 1 ; lancer l’impression
}
}
digitalWrite (13, faible) ;
Delay(10) ; retard de 10 ms pour la stabilité
}