Écran LCD: tout ce que vous devez savoir

écran LCD

Une L'écran LCD peut être une solution pour les projets dans lesquels vous avez besoin d'afficher des informations sans avoir à dépendre d'un ordinateur connecté en permanence. Autrement dit, dans un projet Arduino / Raspberry Pi, vous pouvez utiliser le port série pour transmettre des informations affichées à l'écran pour obtenir des lectures de capteur, afficher un graphique, des comptes, etc. Mais si votre projet est constamment en cours d'exécution ou loin de l'endroit où vous pouvez avoir un ordinateur, l'écran LCD est votre salut.

Par exemple, imaginez que vous installez un système d'irrigation automatisé et que vous souhaitez vérifier les relevés d'humidité et de température lorsque vous vous rendez dans votre potager ou votre jardin. Avoir à y emmener l'ordinateur pour connecter la carte Arduino au PC n'est pas une solution pratique. Dans ce cas, vous pouvez modifier votre code pour cela les informations s'affichent sur l'écran LCD et même ajouter des touches ou des boutons pour pouvoir afficher différentes informations.

Qu'est-ce qu'un panneau LCD?

Un écran à cristaux liquides ou LCD (affichage à cristaux liquides) C'est une sorte d'écran plat et fin qui peut afficher des images. Chaque panneau est composé d'un certain nombre de pixels couleur ou monochromes placés devant une source lumineuse. Leur consommation est faible, c'est pourquoi ils sont idéaux pour ce type de projets DIY d'électronique basse consommation.

Chaque pixel de l'écran LCD est constitué d'une couche de molécules alignées entre deux électrodes transparentes et deux filtres de polarisation. Entre filtres polarisants il y a un affichage à cristaux liquides, d'où son nom, et empêche la lumière qui traverse le premier filtre d'être bloquée par le second.

Aussi, si vous avez remarqué, lorsque vous touchez l'un de ces écrans l'image est déformée et une sorte de tache noire apparaît lors de la pression, c'est parce que vous exercez une pression sur le cristal liquide et qu'il n'est pas conseillé de le faire ... Vous risquez de vous retrouver avec des couleurs d'écran de qualité inférieure, une répartition inégale de l'éclairage voire des pixels morts (points noirs ou zones de l'écran qui ne disparaissent pas).

Écrans LCD pour Arduino et Raspberry Pi

Un écran LCD, tel que les modules qui existent pour l'électronique ou pour Arduino, comporte généralement plusieurs colonnes pour afficher des caractères alphanumériques ou des symboles et une ou deux lignes pour afficher des informations. Cela les rend beaucoup plus intéressants qu'un affichage à sept segments, qui devrait connecter plusieurs broches pour ne pouvoir afficher qu'un seul chiffre, symbole ou lettre. Si vous voulez en afficher plus, vous devez placer plusieurs affichages.

Au lieu de cela, avec un seul écran LCD, vous pouvez afficher beaucoup plus d'informations. Mais il faut bien connaître le brochage de ce type de modules pour bien les connecter. Je vous recommande de toujours voir la fiche technique du fabricant et le modèle spécifique que vous avez car ils peuvent varier.

Par exemple, Vous pouvez acheter celui-ci chez Adafruit sur Amazon, qui est l'un des plus populaires avec un clavier et offre la possibilité d'afficher jusqu'à 16 caractères dans chacune de ses deux lignes. Et il y a même 20 × 4, ou quelque chose de plus avancé etCouleur de plusieurs pouces pour afficher des images plus complexes.

Pour écran LCD de Adafruit 16 × 2 vous pouvez voir cette fiche technique...

Pour arduino peut-être qu'un plus simple comme celui-là est meilleur Écran LCD 16x2 sans clavier. Si vous regardez cette carte, elle a 16 broches à l'arrière. Si vous prenez la carte et la retournez et regardez ses broches de gauche à droite, vous avez un brochage:

  • Broche 16: GND pour le rétroéclairage
  • Broche 15: Vcc pour le rétroéclairage
  • Pin 7-14: 8 bits (8 broches suivantes) pour transmettre les informations à afficher à l'écran
  • Pin 6: synchronisation de lecture et d'écriture
  • Broche 5. R / W (écrire et lire pour les données et les commandes)
  • Broche 4: RS (sélecteur entre commandes et données)
  • Broche 3: contrôle du contraste
  • Broche 2: Vcc de 5 v pour l'alimentation
  • Broche 1: GND (0v) pour l'alimentation

N'oubliez pas que lorsque vous le placez dans sa position correcte, les broches sont inversées ...

Intégration avec Arduino

Schéma de connexion LCD 16x2 pour Arduino Uno

Pour connectez-le à arduino Ce n'est pas trop compliqué, il ne faut envisager d'inclure qu'une résistance de 220 ohms pour réguler la tension d'entrée pour la puissance de l'écran, et un potentiomètre pour moduler le contraste de l'écran. Ensuite, connectez chacune des broches à la carte Arduino de manière appropriée et vous avez terminé. Vous pouvez regarder l'image de Fritzing ...

Comme tu peux le voir, le potentiomètre sera à travers lequel il sera alimenté l'écran LCD et le contraste seront également ajustés. Par conséquent, il sera lié à la fois à GND et Vcc de l'écran, ainsi qu'à la ligne de contrôle du rétroéclairage et au contrôle du contraste. C'est peut-être le plus compliqué, alors il s'agit de connecter les broches restantes aux entrées / sorties que vous allez utiliser dans votre projet.

Programmation avec Arduino IDE

Pour la programmation vous devez prendre en compte certaines particularités, Gardez à l'esprit que vous devez non seulement savoir comment envoyer des données, mais aussi les déplacer, bien les placer à l'écran, etc. Et vous devriez également utiliser une bibliothèque appelée LiquidCrystal.h, tant que votre écran LCD dispose d'un chipset Hitachi HD44780 compatible. Vous avez un exemple de code ici:

#include <LiquidCrystal.h>

// Definimos las constantes
#define COLS 16 // Aqui va el num de columnas del LCD, 16 en nuestro caso
#define ROWS 2 // Aqui las filas x2
#define VELOCIDAD 200 // Velocidad a la que se movera el texto

// Indicamos los pines de la interfaz donde hayas conectado el LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Para el texto que se muestra
String texto_fila = "Ejemplo LCD";

void setup() {
  // Configura el monitor serie
  Serial.begin(9600);

  // Configurde filas y columnas
  lcd.begin(COLS, ROWS);
}

void loop() {

  // Tamaño del texto a mostrar
  int tam_texto=texto_fila.length();

  // Indicamos que la entrada de texto se hace por la izquierda
  for(int i=tam_texto; i>0 ; i--)
  {
    String texto = texto_fila.substring(i-1);

    // Limpia la pantalla para poder mostrar informacion diferente
    lcd.clear();

    //Situar el cursor en el lugar adecuado, en este caso al inicio
    lcd.setCursor(0, 0);

    // Escribimos el texto "Ejemplo LCD"
    lcd.print(texto);

    // Esperara la cantidad de milisegundos especificada, en este caso 200
    delay(VELOCIDAD);
  }

  // Desplazar el texto a la izquierda en primera fila
  for(int i=1; i<=16;i++) { 
    lcd.clear();
    lcd.setCursor(i, 0); 
    lcd.print(texto_fila); 
    delay(VELOCIDAD); } 
  // Desplazar el texto a izquierda en la segunda fila 
    for(int i=16;i>=1;i--)
  {
    lcd.clear();
    lcd.setCursor(i, 1);
    lcd.print(texto_fila);
    delay(VELOCIDAD);
  }
  for(int i=1; i<=tam_texto ; i++)
  {
    String texto = texto_fila.substring(i-1);
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print(texto);
    delay(VELOCIDAD);
  }
}

Plus d'informations - Manuel de programmation Arduino (PDF gratuit)


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.