🛠 Afficher sur un LCD 16×2 en bus parallèle 8 bits

Arduino Mega 2560 (Rev3) · intermediaire · Schéma : IMG-mega-2560-intermediaire-3-lcd-16x2.svg — écran LCD 16×2 à contrôleur HD44780 câblé en bus 8 bits sur les broches 22 à 32 de l’Arduino Mega 2560, potentiomètre de contraste sur V0

Objetivos

Aprovechar los 54 pines de entrada/salida de la Mega 2560 para conectar una pantalla de caracteres HD44780 16×2 en modo de 8 bits completo (ocho líneas de datos D0–D7 más RS, E y RW, es decir, once pines) — un lujo imposible con un Uno sin sacrificar la mitad de sus pines. El bus de 8 bits duplica la velocidad de escritura en comparación con el modo clásico de 4 bits.

Material

Cableado elegido (pines libres de la Mega): RS=22, RW=23 (conectado a GND para escritura únicamente), E=24, D0–D7 = 25 a 32. LCD: VSS→GND, VDD→5 V, V0→cursor del potenciómetro (las otras dos patas: 5 V y GND). La pantalla está diseñada para lógica de 5 V, la tensión nominal de los pines de la Mega.

Código completo

// LCD 16x2 en bus 8 bits — bibliothèque LiquidCrystal
#include <LiquidCrystal.h>

// (RS, RW, E, D0, D1, D2, D3, D4, D5, D6, D7) : mode 8 bits
LiquidCrystal lcd(22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32);

void setup {
  lcd.begin(16, 2);
  lcd.print(F("Mega 2560"));
  lcd.setCursor(0, 1);
  lcd.print(F("Bus 8 bits"));
}

void loop {
  lcd.setCursor(11, 0);
  lcd.print(millis / 1000);   // chrono sur la 1re ligne
}

Verificación esperada

«Mega 2560» y «Bus 8 bits» se muestran en las dos líneas, un contador de segundos se actualiza al final de la primera línea. Al ajustar el potenciómetro, el contraste varía de todo apagado a todo negro.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales