TweeterBie (5 / 9 étapes)

Étape 5: Permet de Code Arduino

ARDUINO

C’est une connaissance commune de choisir Arduino pour la plupart des systèmes embarqués en raison de sa simplicité de programmation et une vaste quantité de ressources pour tirer le meilleur de petite durée de temps.

Donc vous connecter la carte Arduino à votre ordinateur de bureau/portable (désormais appelé PC) et lancez le logiciel Arduino

Maintenant, ouvrez le programme exemples > cristaux liquides > Hello World comme indiqué ci-dessous.

Faire toutes les connexions de broches comme indiqué dans les commentaires de programme au début.

J’ai représenté ci-dessous pour référence

Maintenant le module LCD s’exécute dans un Mode de 4 bits au lieu du mode 8 bits.

Étant donné que le transfert de données prend deux fois plus longtemps, mais il suffit que le TweeterBie.

Arduino Code repensé.

Les modifications de code suivant présente l’effet de défilement sur le texte à afficher.

#include

déjà là, dans l’esquisse pour l’affichage à cristaux liquides

initialiser la bibliothèque avec les numéros des broches interface

Innovente lcd (12, 11, 5, 4, 3, 2) ;

inData Char [141] ; Allouer de l’espace pour le max de chaîne de 140 caractères dans les Tweets

char inChar ; Où stocker le caractère lu depuis le port série

index de l’octet = 0 ; Index en tableau pour pointer l’emplacement mémoire

bytesrecvd octets = 0 ; compteur pour vérifier les octets entrants

void setup() {}

Serial.Begin(9600) ; Port série pour envoyer les caractères à afficher

Serial.Write (« Power On ») ; Allumez de signalisation sur le port de débogage après avoir établi la connexion

LCD.Begin (16, 2) ; mettre en place nombre de l’écran LCD de colonnes et de lignes

LCD.Print ("hello, world!") ; Afficher un message dans l’exemple de l’écran LCD du vieux croquis

Delay(1000) ; Décalage dans le temps jusqu'à ce que le message est lu hors de l’écran LCD

lcd.setCursor (0, 0) ; Positionnez le curseur LCD sur Accueil.

index = 0 ; Position du caractère d’indexation la valeur nulle (zéro)

lcd.setCursor (0, 0) ; ramener le curseur à la maison

LCD.Print (« dernier Tweet: ") ; Affichez l’en-tête sur la première ligne

lcd.setCursor (16, 1) ; Aller à la dernière colonne de la deuxième ligne et attendre pour les caractères à comparaître.

}

Ceci termine la configuration de l’Arduino, maintenant pour faire une boucle Super

void loop() {}

index = 0 ; toujours remettre à zéro au début de la réception de données

while(Serial.available() > 0) / / ne pas entrer dans la section à moins que les données soient disponibles pour lire

{

if(index < 140) / / un inférieur à la taille du tableau obtenir seulement 140 caractères

{

inChar = Serial.read() ; Lit un caractère

inData [index] = inChar ; Stockez-le dans le tableau « inData »

index ++ ; Incrémenter où écrire prochaine augmentation de l’indice

inData [index] = « \0 » ; Ajouter le caractère de fin (caractère Null) pour la position suivante

Delay(5) ; donner 5 écart millisecondes pour éviter l’altération de données

bytesrecvd = index ; obtenir le nombre total d’octets reçus

}

} / / keep élaboration jusqu'à ce que les données sont disponibles

LCD.Clear() ; Effacer maintenant l’écran LCD de données antérieures

lcd.setCursor (0, 0) ; Aller à la Position d’origine

LCD.Print (« dernier Tweet: ") ; écrire le dernier en-tête de tweet sur la première ligne

lcd.setCursor (16, 1) ; aller en fin de ligne sur la deuxième rangée

LCD.AutoScroll() ; défilement automatique de démarrer (le problème est il tournera les deux rangées)

pour (int thisChar = 0; thisChar < bytesrecvd ; thisChar ++) / / obtenir un caractère du tableau stockée

{/ / ce personnage incrémentera simultanément avec le défilement de texte

lcd.noAutoscroll() ; arrêter le défilement

lcd.setCursor (thisChar + 1, 0) ; Étant donné que le dernier Tweet est déplacé d’une position réinitialise le texte.

LCD.Print (« dernier Tweet: ") ; Définir le texte vers le haut en position d’origine

lcd.setCursor (16 + thisChar, 1) ; définir la position du caractère nouveau à charger dans l’écran

LCD.AutoScroll(); / / démarrer le défilement de retour

LCD.Print(inData[thisChar]) ; Maintenant imprimer le caractère sur la position préréglée

retard (300) ; C’est le délai de défilement requis pour rendre le texte lisible.

}

lcd.noAutoscroll() ; Si aucun texte n’est mis à jour arrêter le défilement.

Delay(5) ; Attendez quelques microsecondes avant une boucle de retour...

}

Remarque : Le Code ci-dessus a été attaché en tant que fichier INO

Après dumping le code et l’exécution avec « GARAGE ENGINEERING » en Port série

Articles Liés