Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Tutoriel LCD Arduino 16 × 2 - Tout ce que vous devez savoir

Dans ce tutoriel Arduino, nous allons apprendre à connecter et à utiliser un LCD (Liquid Crystal Display) avec Arduino . Les écrans LCD comme ceux-ci sont très populaires et largement utilisés dans de nombreux projets électroniques car ils sont parfaits pour afficher des informations simples, comme les données des capteurs, tout en étant très abordables.

Je les ai déjà utilisés dans plusieurs de mes projets Arduino, et vous pouvez les consulter ici :

  • Projet de système de sécurité et d'alarme Arduino
  • Distributeur automatique – Projet mécatronique basé sur Arduino
  • Mesureur de distance Arduino et projet de niveau à bulle numérique

Vous pouvez regarder la vidéo suivante ou lire le tutoriel écrit ci-dessous. Il comprend tout ce que vous devez savoir sur l'utilisation d'un affichage de caractères LCD avec Arduino, comme le brochage LCD, le schéma de câblage et plusieurs exemples de codes.

Qu'est-ce que l'affichage de caractères LCD ?

Un affichage de caractères LCD est un type d'affichage unique qui ne peut produire que des caractères ASCII individuels de taille fixe. En utilisant ces caractères individuels, nous pouvons alors former un texte.

Si nous regardons de plus près l'affichage, nous pouvons remarquer qu'il y a de petites zones rectangulaires composées d'une grille de 5 × 8 pixels. Chaque pixel peut s'allumer individuellement, et nous pouvons donc générer des caractères dans chaque grille.

Le nombre de zones rectangulaires définit la taille de l'écran LCD. L'écran LCD le plus populaire est l'écran LCD 16 × 2, qui comporte deux rangées de 16 zones rectangulaires ou caractères. Bien sûr, il existe d'autres tailles comme 16×1, 16×4, 20×4 etc., mais elles fonctionnent toutes sur le même principe. De plus, ces écrans LCD peuvent avoir une couleur de fond et de texte différente.

Broche LCD 16×2

Il a 16 broches et la première de gauche à droite est la Ground broche. La deuxième broche est le VCC auquel nous connectons la broche 5 volts sur la carte Arduino. Vient ensuite la broche Vo sur laquelle on peut fixer un potentiomètre pour contrôler le contraste de l'affichage.

Ensuite, le RS pin ou register select pin est utilisé pour sélectionner si nous enverrons des commandes ou des données à l'écran LCD. Par exemple, si la broche RS est définie sur un état bas ou zéro volt, nous envoyons des commandes à l'écran LCD telles que :placez le curseur sur un emplacement spécifique, effacez l'affichage, éteignez l'affichage, etc. Et lorsque la broche RS est définie sur l'état haut ou 5 volts, nous envoyons des données ou des caractères à l'écran LCD.

Vient ensuite le R/W broche qui sélectionne le mode si nous allons lire ou écrire sur l'écran LCD. Ici, le mode d'écriture est évident et il est utilisé pour écrire ou envoyer des commandes et des données à l'écran LCD. Le mode lecture est utilisé par l'écran LCD lui-même lors de l'exécution du programme dont nous n'avons pas besoin d'en parler dans ce tutoriel.

Vient ensuite le E broche qui permet l'écriture dans les registres, ou les 8 broches de données suivantes de D0 à D7. Ainsi, à travers ces broches, nous envoyons les données 8 bits lorsque nous écrivons dans les registres ou, par exemple, si nous voulons voir ce dernier A majuscule sur l'écran, nous enverrons 0100 0001 aux registres selon la table ASCII. Les deux dernières broches A et K , ou l'anode et la cathode sont pour le rétroéclairage LED.

Après tout, nous n'avons pas à nous soucier du fonctionnement de l'écran LCD, car la bibliothèque de cristaux liquides s'occupe de presque tout. Sur le site officiel d'Arduino, vous pouvez trouver et voir les fonctions de la bibliothèque qui permettent une utilisation facile de l'écran LCD. Nous pouvons utiliser la bibliothèque en mode 4 ou 8 bits. Dans ce tutoriel, nous l'utiliserons en mode 4 bits, ou nous n'utiliserons que 4 des 8 broches de données.

Comment connecter l'Arduino à l'écran LCD - Schéma de câblage

Voici comment nous devons connecter l'écran LCD 16 × 2 à une carte Arduino.

Nous n'utiliserons que 6 broches d'entrée numériques de la carte Arduino. Les registres LCD de D4 à D7 sera connecté aux broches numériques d'Arduino de 4 à 7. Le Activer la broche sera connectée à la broche numéro 2 et au RS la broche sera connectée à la broche numéro 1. Le R/W la broche sera connectée à la masse et au Vo la broche sera connectée à la broche centrale du potentiomètre.

Vous pouvez obtenir ces composants sur l'un des sites ci-dessous :

  • LCD 16×2 caractères……………………………..
  • Potentiomètre …………………………….
  • Carte Arduino ……………………………
  • Breadboard et Jump Wires ……… 

Régler le contraste de l'écran LCD

Nous pouvons régler le contraste de l'écran LCD en ajustant la tension d'entrée au Vo broche. Nous utilisons un potentiomètre car de cette façon nous pouvons facilement affiner le contraste, en ajustant la tension d'entrée de 0 à 5V.

Puis-je utiliser l'écran LCD sans potentiomètre ?

Oui, au cas où nous n'aurions pas de potentiomètre, nous pouvons toujours régler le contraste de l'écran LCD en utilisant un diviseur de tension composé de deux résistances. En utilisant le diviseur de tension, nous devons régler la valeur de tension entre 0 et 5V afin d'obtenir un bon contraste sur l'écran. J'ai trouvé que la tension d'environ 1 V fonctionnait très bien pour mon écran LCD. J'ai utilisé une résistance de 1K et 220 ohms pour obtenir un bon contraste.

Il existe également un autre moyen de régler le contraste de l'écran LCD, et c'est en fournissant un signal PWM de l'Arduino au Vo broche de l'écran LCD. Nous pouvons connecter le Vo broche à n'importe quelle broche compatible Arduino PWM, et dans la section de configuration, nous pouvons utiliser la ligne de code suivante :

analogWrite(11,100); // Generate PWM signal at pin D11, value of 100 (out of 255)Code language: Arduino (arduino)

Il générera un signal PWM sur la broche D11, avec une valeur de 100 sur 255, qui se traduit en tension de 0 à 5V, il sera d'environ 2V en entrée sur le Vo Broche LCD.

Code Arduino LCD

Voici un code simple à travers lequel nous pouvons expliquer le principe de fonctionnement de la bibliothèque Liquid Crystal. Voici le code du premier exemple de la vidéo :

/*
* Arduino LCD Tutorial
*
* Crated by Dejan Nedelkovski,
* www.HowToMechatronics.com
*
*/

#include <LiquidCrystal.h> // includes the LiquidCrystal Library 
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) 

void setup() { 
 lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display } 
}

void loop() { 
 lcd.print("Arduino"); // Prints "Arduino" on the LCD 
 delay(3000); // 3 seconds delay 
 lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed 
 lcd.print("LCD Tutorial"); 
 delay(3000); 
 lcd.clear(); // Clears the display 
 lcd.blink(); //Displays the blinking LCD cursor 
 delay(4000); 
 lcd.setCursor(7,1); 
 delay(3000); 
 lcd.noBlink(); // Turns off the blinking LCD cursor 
 lcd.cursor(); // Displays an underscore (line) at the position to which the next character will be written 
 delay(4000); 
 lcd.noCursor(); // Hides the LCD cursor 
 lcd.clear(); // Clears the LCD screen 
}Code language: Arduino (arduino)

Description du code :

La première chose que nous devons faire est d'insérer la bibliothèque de cristaux liquides. Nous pouvons le faire comme ceci :Sketch> Include Library> Liquid Crystal. Ensuite, nous devons créer un objet LC. Les paramètres de cet objet doivent être les numéros des broches d'entrée numérique de la carte Arduino respectivement aux broches de l'écran LCD comme suit :(RS, Enable, D4, D5, D6, D7). Dans la configuration, nous devons initialiser l'interface avec l'écran LCD et spécifier les dimensions de l'écran à l'aide de begin() fonction.

Dans la boucle, nous écrivons notre programme principal. Utilisation de print() fonction que nous imprimons sur l'écran LCD.

lcd.print("Arduino"); // Prints "Arduino" on the LCDCode language: Arduino (arduino)

Le setCursor() La fonction est utilisée pour définir l'emplacement auquel le texte ultérieur écrit sur l'écran LCD sera affiché.

lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed Code language: Arduino (arduino)

Le clignotement() est utilisée pour afficher un curseur clignotant et le noBlink() fonction pour éteindre.

lcd.blink(); //Displays the blinking LCD cursorCode language: Arduino (arduino)

Le curseur() la fonction est utilisée pour afficher le curseur de soulignement et le noCursor() fonction d'extinction. Utilisation de clear() fonction, nous pouvons effacer l'écran LCD.

lcd.clear(); // Clears the LCD screenCode language: Arduino (arduino)

Exemple de défilement de texte sur LCD 16×2 et Arduino

Si nous avons un texte d'une longueur supérieure à 16 caractères, nous pouvons faire défiler le texte à l'aide de scrollDisplayLeft() ou scrollDisplayRight() fonction de la bibliothèque LiquidCrystal.

Voici un exemple de code :

#include <LiquidCrystal.h>

LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)

void setup() {
  lcd.begin(16, 2);
  lcd.print("Scrolling Text Example");
}
void loop() {
  lcd.scrollDisplayLeft();
  delay(500);
}Code language: Arduino (arduino)

Nous pouvons choisir si le texte défilera vers la gauche ou vers la droite, en utilisant le scrollDisplayLeft() ou scrollDisplayRight() les fonctions. Avec le delay() fonction, nous pouvons définir la vitesse de défilement.

Si vous voulez plus de contrôle sur la façon dont le texte défile, vous pouvez également effectuer le défilement vous-même en utilisant une boucle "for". Voici un exemple :

#include <LiquidCrystal.h>

LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)

void setup() {
  lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display

}

void loop() {
  // scroll text to the right
  for (int i = 0; i <= 13; i++) {
    lcd.setCursor(i, 0); // Sets the location at which subsequent text written to the LCD will be displayed
    lcd.print("LCD");
    delay(500); // 1 second delay
    lcd.clear(); // Write a character to the LCD
  }
  // scroll text to the left
  for (int i = 12; i >= 1; i--) {
    lcd.setCursor(i, 0);
    lcd.print("LCD");
    delay(500); 
    lcd.clear(); 
  }
}Code language: Arduino (arduino)

Comment générer et afficher des caractères personnalisés sur l'écran LCD

En plus des caractères ASCII, avec la bibliothèque LiquidCrystal, il est également possible de générer et d'afficher des caractères personnalisés sur l'écran LCD.

On peut spécifier l'apparence de chaque caractère par un tableau de 8 octets. Voici un exemple de code :

#include <LiquidCrystal.h>

byte heart[8] = {  // Array of bytes
  B00000,          // B stands for binary formatter and the five numbers are the pixels
  B01010,
  B11111,
  B11111,
  B01110,
  B00100,
  B00000,
  B00000
};

byte smile[8] = {
  B00000,
  B00000,
  B01010,
  B00000,
  B10001,
  B01110,
  B00000,
  B00000
};

byte lock[8] = {
  B01110,
  B10001,
  B10001,
  B11111,
  B11011,
  B11011,
  B11111,
  B00000
};

byte character[8] = {
  B11111,
  B10101,
  B11111,
  B01010,
  B01110,
  B11111,
  B01110,
  B01110
};


LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7)

void setup() {
  lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display
  lcd.createChar(0, heart); // Create a custom character
  lcd.createChar(1, smile);
  lcd.createChar(2, lock);
  lcd.createChar(3, character);

  // Clears the LCD screen
  lcd.clear();

  // Print a message to the LCD
  lcd.print("Custom Character");
}

void loop() {
  lcd.setCursor(1, 1);
  lcd.write(byte(0));  // Display the custom character 0, the heart

  lcd.setCursor(5, 1);
  lcd.write(byte(1));

  lcd.setCursor(9, 1);
  lcd.write(byte(2));

  lcd.setCursor(13, 1);
  lcd.write(byte(3));
}Code language: Arduino (arduino)

Nous pouvons remarquer comment nous pouvons spécifier l'apparence du caractère en changeant les 0 en 1 dans la grille de 5×8 pixels.

Dans la configuration, nous devons créer le caractère personnalisé à l'aide de createChar() fonction.

lcd.createChar(0, heart); // Create a custom characterCode language: Arduino (arduino)

Le premier paramètre de cette fonction est un nombre compris entre 0 et 7, ou nous devons réserver l'un des 8 caractères personnalisés pris en charge. Le deuxième paramètre est le nom du tableau d'octets.

Nous écrivons le caractère personnalisé à l'écran en utilisant write() fonction et comme paramètre nous utilisons le numéro du caractère.

lcd.write(byte(0));  // Display the custom character 0, or the heartCode language: Arduino (arduino)

Voir aussi : Tutoriel sur l'écran tactile Arduino | LCD TFT

Conclusion

Nous avons donc couvert à peu près tout ce que nous devons savoir sur l'utilisation d'un écran LCD avec Arduino. Ces écrans LCD à caractères sont vraiment pratiques pour afficher des informations pour de nombreux projets électroniques. Dans les exemples ci-dessus, j'ai utilisé un écran LCD 16 × 2, mais le même principe de fonctionnement s'applique à toute autre taille de ces affichages de caractères.

J'espère que vous avez apprécié ce tutoriel et appris quelque chose de nouveau. N'hésitez pas à poser des questions dans la section des commentaires ci-dessous et n'oubliez pas de consulter ma collection complète de plus de 30 projets Arduino.


Processus de fabrication

  1. Tout ce que vous devez savoir sur l'EDM en plongée
  2. Tout ce que vous devez savoir sur la fonte
  3. Tout ce que vous devez savoir sur le haut fourneau
  4. Tout ce que vous devez savoir sur la perceuse
  5. Tout ce que vous devez savoir sur les tôles
  6. Tout ce que vous devez savoir sur la fraiseuse
  7. Tout ce que vous devez savoir sur une raboteuse
  8. Tout ce que vous devez savoir sur la machine à façonner
  9. Tout ce que vous devez savoir sur le travail des métaux