Étape 4: Code d’Arduino
Ce code est pour l’Arduino RSS feed projet, par beignet
Il a été actualisé et élargi par Sander van Haperen, août 2014. Lire 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 servo myservo ; Créez l’objet servo pour contrôler un servo / / peut être créé à un maximum de huit objets de servo
#include / / import de la lcd innovente bibliothèque innovente (12, 11, 5, 4, 3, 2) ;
void setup() {Serial.begin(9600); / / ouvre le port série, établit le taux de données à 9600 bps lcd.begin(16,2); / / Initialise la taille de l’écran LCD 16 x 2. Changer si vous utilisez un lcd.setCursor(0,0) LCD plus grand ; Définir la position du curseur au coin supérieur gauche pinMode (13, sortie) ; myservo.Attach(9) ; s’adapte sur le servo sur la broche 9 l’objet servo}
void loop() {char incomingByte = 0; / / pour les données série entrantes si (Serial.available() > 0) {/ / Check pour entrant données série int pos = 0; / / variable pour stocker le servo position myservo.write(pos); / / dire servo pour aller à positionner dans la variable « pos » digitalWrite (13, HIGH); incomingByte = Serial.read() ; if ((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); / / attendre 5 secondes lcd.clear(); / / essuyer l’écran charcount = 0; / / reset le nombre de caractères à 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); / / Print 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(); / / efface l’écran lcd.setCursor(0,0); / / définir le curseur 0,0 LCD.Print(incomingByte) ; continuer l’impression données charcount = 1 ; Retour à 1 la valeur charcount} si (incomingByte == ' ~') {/ / vérifier si l’octet est marqueur ~ pour commencer l’impression startstring = 1; / / lancer l’impression}} digitalWrite (13, faible) ; int pos = 90 ; variable pour stocker le servo position myservo.write(pos) ; dire de servo pour aller à positionner dans la variable « pos » delay(10) ; retard de 10 ms pour stabilité}