Comment puis-je effacer un écran LCD de mon Arduino?
Je suis en utilisant la communication série pour afficher les données de ma 4x20 écran lcd. Lorsque j'ai rempli toutes les lignes de sûr, j'ai besoin de le vider. J'ai recherche sur le net et trouvé quelque chose comme:
Serial.write(27); //ESC command
Serial.print("[2J"); //clear screen command
Serial.write(27);
Serial.print("[H"); //cursor to home command
Mais ça ne fonctionne pas. J'ai aussi trouvé une solution comme Serial.println();
mais cette solution (tricher comme ils l'appellent) ne fonctionne que sur un moniteur de série. Si il ya une solution possible pour effacer l'écran ou supprimer un caractère à partir de l'écran LCD?
Vous devez inclure la Fabrication et le Numéro de Série du module LCD. Nous ne pouvons que deviner sa commande set.
C'est celle que je n'ai que E terme
Vous voudrez peut-être regarder à leur difficile de trouver un exemple de code gist.github.com/egizmocodes/7819592 Il est difficile de savoir si c'est l'écran LCD, vous avez.
C'est celle que je n'ai que E terme
Vous voudrez peut-être regarder à leur difficile de trouver un exemple de code gist.github.com/egizmocodes/7819592 Il est difficile de savoir si c'est l'écran LCD, vous avez.
OriginalL'auteur NewInJava | 2014-01-14
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé
lcd.clear()
? Il est dit dans la documentation ici que cette commande effectue les opérations suivantes:Évidemment, vous aurez besoin de la
lcd
variable (connu sous le nom LiquidCrystal objet) pour utiliser cette méthode. Voir comment créer que ici et une base de mise en œuvre ci-dessous. Peut-être que vous pouvez ajouter un temps de retard aprèslcd.print("hello, world!");
puis ajouterlcd.clear();
(comme une base de la preuve-de-concept.)Passer en revue l'ensemble LiquidCrystal référence pour l'ensemble de ses méthodes et des exemples supplémentaires.
Une recherche rapide donne un exemple de LiquidCrystalSerial: arduino.cc/en/Tutorial/LiquidCrystalSerial, qui utilise également le
lcd
objet.Mais quand j'ai utilisé le liquidcrystal bibliothèque pour afficher dans mon lcd ne fonctionne pas
après avoir testé votre code et le code dans le lien que tu m'as donné, ça ne me fait pas d'affichage sur mon écran lcd et de même pour le moniteur de série
Avez-vous changer les valeurs en fonction de votre configuration? (Les arguments de l'écran lcd sont des nombres qui représentent des pins/connexions.
OriginalL'auteur gary
J'ai trouvé une solution rapide à mon problème
for (int i=0; i < 80; i++)
{
Serial.write(8); //print 80 times forward (BS)
}
si vous avez des grand écran il suffit d'augmenter la valeur de la boucle. Comme mon observation dans la série du moniteur Le curseur de la pousse de l'avant jusqu'à ce que la ligne est claire (en fonction de votre boucle). mais cela ne vous permettra pas de supprimer un caractère unique à votre écran.
OriginalL'auteur
Avez-vous essayer d'envoyer 12 (0x0C) comme détaillé dans cette Arduino Aire De Jeux 0 SerialLCD affichage
voir lien ci-dessus pour les autres commandes.
void clearLCD(){ char keypressed = myKeypad.getKey(); if(keypressed == 'C'){ Serial.write(12); } }
mais il n'est pas évident de l'écran lcd, mais l'affichage de la lettre "C"Essayez De Série.écrire(chr(2) + chr(12) + chr(3)). Si le terminal est celui que je pense il est, puis joignant les commandes entre STX et ETX devrait faire l'affaire.
OriginalL'auteur mpflaga
La meilleure façon que j'ai trouver est de simplement ajouter la ligne suivante à votre croquis:
Cela rendra l'affichage lcd clair.
OriginalL'auteur Michael Mulvey