les vencimos · offline
L30. Una pantalla o un módulo, sin memorizar registros
Maestro
Una pantalla pequeña no se controla encendiendo píxeles con digitalWrite. Habla por un bus y una biblioteca traduce tus frases a los registros del controlador. Tú llamas a una función con sentido, por ejemplo poner el cursor y escribir una palabra. Los números de registro se quedan dentro de la biblioteca.
El patrón, sea una pantalla de dos líneas o un sensor con nombre raro, es el mismo. Incluyes la biblioteca. En setup arrancas el módulo. En loop le pides gestos: borra, escribe, mide. Si la biblioteca no está en el entorno, el sketch no compila, y el remedio no es copiar registros de un foro. El remedio es instalar esa biblioteca, y ese paso vive en Software.
Antes de escribir, cuatro cables bien dichos: 5V o 3,3 según la serigrafía, GND común, y los dos del bus al pin que toca. Una pantalla de 5 voltios en un Uno va a 5V. La misma pantalla en una placa de 3,3 no se alimenta a 5. Si el módulo trae un regulador propio, lo dice el catálogo Hardware, no una suposición.
Cuando compile y la pantalla siga en blanco, no añadas código. Bajas el brillo o el contraste si tiene un tornillo, revisas la dirección I2C si el módulo lo permite, y solo entonces vuelves al programa. Muchas pantallas mudas están vivas con el contraste al mínimo.
Esta lección no trae un sketch único a propósito. Pegar uno de una pantalla concreta y no tener esa pantalla enseña poco. El ejercicio es leer qué función de la biblioteca hace el gesto, y negarte a copiar un registro suelto.
Montaje
Pines de esta lección
Por qué
Una pantalla no es un pin más brillante. Es un módulo con dirección, librería y bus. El curso no copia aquí el manual de todas las librerías: eso vive en Software. Aquí se entiende el sitio: el número que analogRead devuelve puede pintarse, y deja de hacer falta el portátil para verlo. El portátil sigue haciendo falta para cargar el programa.
El fallo típico es la dirección. Muchas pantallas pequeñas de 16 por 2 por I2C escuchan en una de dos direcciones habituales. Si la librería usa la otra, la pantalla enciende luz de fondo y no escribe. No está desconectada SDA: está sorda a ese nombre. Prueba la otra dirección que documente tu módulo antes de recablear.
Contraste. Hay un potenciómetro minúsculo en la trasera de algunas placas. Al extremo, los caracteres existen y no se ven, o se ven cuadros negros. Un cuarto de vuelta distingue un fallo de bus de un fallo de vista.
No alimentes la luz de fondo y el módulo desde un pin digital. VCC al 5 V de la placa si el módulo es de 5 V. El pin de datos no da la corriente de la luz.
Práctica
- Cablea como en la lección del bus, solo si el voltaje coincide.
- Deja A0 con el potenciómetro o el LDR para tener un número que merezca verse.
- Carga un ejemplo mínimo de tu librería, el de poner una letra, no un proyecto entero.
- Si hay luz y no hay letra, gira el contraste un pelo.
- Si no hay nada, invierte SDA y SCL una vez, prueba, y déjalos como la seda si no era eso.
- Escribe en la pantalla el valor de A0 solo cuando hayas visto una letra fija. Primero la letra, luego el sensor.
- Quita el módulo si la siguiente lección no lo usa, para liberar A4 y A5.
Anota el montaje
Escribe qué cable va a qué pin, o qué has entendido del paso. Se guarda en este aparato.
Ejemplos resueltos
Luz de fondo sí, texto no
El bus está alimentado y el contraste está al extremo. O la dirección es la otra. Las dos cosas parecen el mismo síntoma.
Primero un cuarto de vuelta al contraste. Si aparecen cuadros, el bus habla y solo faltaba verlo. Si no aparece nada, se prueba la otra dirección del módulo. No se cambian las dos a la vez.
El número de A0 no cambia en la pantalla
Se pinta el número una vez en setup. loop no vuelve a leer. La pantalla muestra el valor del arranque para siempre.
La lectura y el pintado van en loop, con una espera corta o con millis, para que el ojo pueda seguir el giro.
En la mesa
Primero consigue una letra fija, la que sea, antes de pintar el sensor. Una letra demuestra bus, dirección, contraste y alimentación de un golpe. El sensor, si falla después, ya no puede culpar a la pantalla. Si inviertes el orden y no se ve el número, son cinco causas a la vez.
Gira el contraste un cuarto de vuelta con un destornillador pequeño, no con una llave grande que patine y rompa el tornillo. Si aparecen cuadros negros, date la vuelta un poco hasta ver huecos. Si no aparece ni el cuadro, deja el tornillo y prueba la otra dirección. Una cosa cada vez.
Cuando el número de A0 cambie en la pantalla al girar, desenchufa y vuelve a enchufar. Tiene que reaparecer solo, sin el ordenador, si la alimentación de la pantalla sale de la placa. Si solo vive con el monitor abierto, estás leyendo el ordenador y creyendo que es la pantalla. Mira la pantalla, no el monitor, para el examen.
Ejercicio
Si tienes una pantalla o un módulo con biblioteca, localiza en el ejemplo oficial tres funciones: la que arranca, la que limpia y la que escribe o mide. Anótalas con tus palabras. Si no tienes pieza, anota el bus y la tensión que exigirías ver en la serigrafía antes de cablear.
Autoevaluación
1. ¿Quién traduce una palabra a los registros de la pantalla?
La biblioteca. No tu memoria.
2. Si el sketch no compila porque falta la biblioteca, ¿se copian registros a mano?
No. Se instala la biblioteca. Ese paso es de Software.
3. Una pantalla en blanco y el programa ya subido, ¿qué miras antes de reescribir?
Contraste, alimentación, masa y dirección. Luego el código.