les vencimos · offline
L15. Digital y analógico
Maestro
Digital es sí o no. Analógico, en el Uno, es un número de 0 a 1023. Ese número no es «más calidad de vida». Es una medida: el chip parte el rango entre 0 voltios y la referencia, casi siempre 5, en 1024 escalones. 10 bits son eso, 2 elevado a 10. Hoy no se cablea. Hoy se sabe qué significa el número antes de creerlo.
digitalRead devuelve HIGH o LOW. Sirve para un botón, un final de carrera, un módulo que ya decidió. analogRead devuelve un entero de 0 a 1023 en el Uno. Cero es la masa. 1023 es la referencia, normalmente los 5 voltios del Uno. 512 es la mitad de la escala, unos 2,5 voltios. No es la mitad por poesía: 1023 partido por dos, y el entero se queda en 511 o 512 según cómo redondees. En el curso, el umbral de en medio será 512, holgado y fácil de leer.
Esos pines son A0, A1, A2, A3, A4 y A5. Se llaman analógicos porque miden, no porque saquen una tensión analógica ellos solos. Sacar un valor intermedio de verdad, un voltaje a medias, no es analogWrite en el sentido que la gente cree: eso será el PWM, más adelante, y es un parpadeo rápido, no una tensión limpia. No los mezcles hoy.
La cuenta inversa también ayuda. Si lees 200, estás cerca de masa, no a media escala. Si lees 900, estás cerca de 5 voltios. Sin esa traducción, un sensor «da números» y no sabes si sube la luz o el cable suelto.
Placa de 3,3 voltios: el 1023 sería 3,3, no 5, y además no le metas un divisor pensado para 5. El curso mide con el Uno.
Montaje
Pines de esta lección
Por qué
Una entrada digital distingue dos zonas: cerca de 0 V y cerca de 5 V. Una entrada analógica del Uno, A0 a A5, mide y devuelve un entero de 0 a 1023. 0 es masa. 1023 es cerca de 5 V. 512 está a mitad, unos 2,5 V. No hay decimales. No hay voltios en el número hasta que tú los calculas.
analogRead no enciende nada. Solo pregunta. El LED sigue siendo digital hasta la lección de PWM. Si escribes analogRead(13) no estás midiendo el LED: el 13 no es un canal analógico. Los canales son A0, A1, A2, A3, A4 y A5.
El conversor necesita un voltaje quieto un instante. Un pin flotando, sin potenciómetro ni divisor, da números que bailan. No está roto el chip. Está midiendo el aire. Hasta que no haya un circuito en A0, no interpretes el baile.
A4 y A5 son a la vez analógicos y, más adelante, el bus I2C. Si un día cuelgas ahí una pantalla, deja de usarlos como potenciómetro. Hoy están libres.
Práctica
- Sin cablear aún, escribe en el papel la escala: 0 masa, 1023 los 5 V, 512 el medio.
- Señala A0 en la placa. Comprueba que no es el pin 0 de RX.
- Calcula qué número sería 1 V aproximado: 1023 por 1 entre 5, cerca de 205. No hace falta el decimal.
- Di qué función lee y qué función escribe: analogRead lee, digitalWrite escribe.
- Explica por qué un LED en el 13 no puede mostrar 512 niveles con digitalWrite. Solo tiene dos.
- Deja A0 sin tocar hasta la lección del potenciómetro. Un dedo en el pin solo mete ruido.
- Anota que el resultado se verá en el LED 13 con un umbral, no en el monitor. El monitor llega en la lección de Serial.
Anota el montaje
Escribe qué cable va a qué pin, o qué has entendido del paso. Se guarda en este aparato.
Ejemplos resueltos
Se espera un 2,5 en la variable
Alguien compara analogRead con 2, creyendo que son voltios. Casi cualquier luz o posición supera 2, y la condición está siempre cumplida.
El número va de 0 a 1023. Medio camino es 512, no 2,5. Si quieres voltios, los calculas aparte; la comparación del curso usa el entero.
Se lee el pin 13
El LED está en el 13 y se pide analogRead(13). Eso no devuelve el brillo. En el Uno, analogRead quiere A0 y sus vecinos.
Se mide A0. Se actúa sobre el 13. Una patilla pregunta y otra contesta.
En la mesa
Sin potenciómetro todavía, escribe en una línea la escala y tres marcas: cero, quinientos doce, mil veintitrés. Debajo, en voltios aproximados: cero, dos y medio, cinco. No hace falta más precisión. Si alguien te dice que analogRead devuelve voltios, corrígelo con esta línea. El entero es lo que el if va a comparar. Los voltios son una traducción para ti.
Señala A0 y el pin 0 con las dos manos a la vez, para sentir que están en lados distintos de la placa. El día que el monitor serie entre, el pin 0 se ocupa solo. A0 sigue libre. Confundirlos es el fallo de una letra, y cuesta una tarde. Dilo: A cero mide, cero a secas habla con el USB.
Cierra la lección sin cablear el dedo en A0. Un dedo no es un sensor: es una antena húmeda. La tentación de ver números moviéndose es fuerte y enseña lo contrario de un circuito. Espera al potenciómetro, que sí tiene dos extremos y un cursor.
Ejercicio
Sin placa, completa tres huecos: lectura 0 significa …, lectura 512 significa …, lectura 1023 significa …. En voltios, para un Uno a 5 V.
Autoevaluación
1. ¿Qué rango da analogRead en el Uno?
De 0 a 1023.
2. ¿Qué tensión representa, más o menos, el valor 512?
La mitad de la referencia: unos 2,5 voltios si la referencia son 5.
3. ¿analogRead saca una tensión por el pin?
No. Mide. Sacar un valor intermedio, el PWM, es otra lección.