les vencimos · offline

L16. Potenciómetro y analogRead

Sensores (38–54%)

Maestro

El potenciómetro es una resistencia con un cursor. Tú lo giras y el cursor se acerca a un extremo o al otro. Si los extremos están en 5 voltios y en masa, el cursor es una tensión a medias. Esa pata va a A0. El LED del 13 se enciende cuando el número pasa de 512. Aún no hay Serial. La luz es el indicador.

Usa uno de 10 kiloohmios, lineal, el habitual. Una pata externa a 5V, la otra externa a GND, la del medio a A0. Si cambias los extremos, el giro se invierte: no se rompe. Si pones el cursor a 5V y una externa a un pin, no es este circuito. Las tres patas tienen oficio.

analogRead(A0) mira esa tensión. Por debajo de 512, cerca de masa o a medias bajas, el LED 13 apagado. Por encima, encendido. 512 no es un número sagrado del potenciómetro. Es la mitad de la escala del Uno, para que a mitad de giro cambie la luz.

No hace falta resistencia extra en serie con el potenciómetro de 10 kΩ: ya limita la corriente entre 5V y GND a 5/10000 amperios, medio miliamperio. No pongas un potenciómetro de pocos ohmios: eso sí calienta, porque es casi un cortocircuito entre 5V y masa.

Gira despacio cerca del cambio. Verás una zona pequeña donde la luz tiembla, porque la lectura baila alrededor del umbral. No es un fallo tuyo. Es el umbral seco contra un número que se mueve un poco. Calibrar, más adelante, es elegir el umbral donde a ti te importa, no donde queda bonito en el papel.

Montaje

Uno5 VA0GND10 kextremo a 5 Vcursor a A0extremo a GND
Extremos del potenciómetro a 5 V y a GND. El cursor, la pata del centro, a A0. Si cruzas los extremos, el giro se invierte y no se rompe.

Pines de esta lección

Uno R3 · 5 V · mira la serigrafía, no la memoriaA0cursor5 Vun extremoGNDel otro512umbral
A0 no va a un extremo. Va al centro. 13 solo muestra si pasaste de 512.

Por qué

Un potenciómetro de 10 kiloohmios es una resistencia con una toma móvil. Entre los extremos hay 10 kiloohmios fijos. El cursor reparte ese camino: más cerca de 5 V, número alto; más cerca de masa, número bajo. Si el cursor no va a A0, estás midiendo un extremo fijo y el giro no hace nada.

No alimentes el potenciómetro desde un pin digital. Los extremos van a 5 V y GND de la placa, que aguantan ese consumo mínimo. El pin A0 solo escucha. Meter 5 V y GND al revés no quema un potenciómetro normal: invierte el sentido. Meter el cursor a 5 V y un extremo a A0 sí te deja sin variación.

El umbral 512 es la mitad de la escala, no la mitad del giro físico si el potenciómetro es malo en los extremos. Prueba el giro completo. Si el número nunca baja de 200, hay un cable flojo hacia masa, no un umbral injusto.

El LED del 13 es un sí o un no. Por debajo o igual a 512, apagado; por encima, encendido. No busques un brillo intermedio. Eso es PWM y todavía no toca. Y no abras el monitor serie: esta lección se aprueba con el ojo.

Práctica

  1. Identifica la pata central del potenciómetro de 10 k. Suele ser el cursor.
  2. Extremo a 5 V, extremo a GND, centro a A0. Tres cables, tres sitios.
  3. Carga el sketch que enciende el 13 si el valor pasa de 512.
  4. Gira despacio de tope a tope. Tiene que haber una zona apagada y una encendida.
  5. Busca el punto en que cambia. Déjalo ahí y da un golpecito a la mesa. No debe dispararse solo si los cables entran bien.
  6. Invierte los extremos 5 V y GND. El lado encendido del giro tiene que cambiar de lado. Vuelve a dejarlo como el dibujo.
  7. Si nunca cambia, saca el cursor y vuelve a meterlo en A0, no en A1.

Práctica en la página

Por encima de 512 el LED enciende. Arranca en 700. La simulación arranca encendida.

Ejemplos resueltos

Siempre encendido

El centro y el extremo de 5 V están en la misma fila de la protoboard. A0 ve 5 V fijo, un número cerca de 1023, siempre mayor que 512.

Se separan las patas en filas distintas. El giro tiene que poder bajar de 512. Si no baja, el extremo de GND no está haciendo contacto.

Nunca enciende

El cursor va a A1 y el programa lee A0, que está flotando o sujeto a nada. O el umbral se subió a 2000, un número que analogRead no puede devolver.

Se lee A0 y se compara con 512. El máximo real es 1023. Un umbral de 2000 deja el LED apagado para siempre.

Soldadura y seguridad

El potenciómetro de protoboard se pincha, no se suelda. Si el tuyo trae patas cortas para circuito impreso, no las fuerces en el agujero hasta partirlas. Unos hilos soldados a las tres patas, con la placa apagada, y el otro extremo pelado a la protoboard.

Tres soldaduras, no un pegote que una las tres patas. Si dos patas quedan puenteadas, el giro muere. Ventana abierta, placa sin USB mientras la punta está caliente.

En la mesa

Gira el potenciómetro despacio desde un tope hasta el otro mientras miras solo el LED, no el eje. Tiene que haber un tramo largo apagado y un tramo largo encendido, con un cambio claro. Si el cambio está pegado a un tope, un extremo no hace buen contacto y casi todo el giro vive en un lado de 512. Aprieta los tres cables y repite el giro antes de tocar el umbral.

Invierte 5 V y GND, gira otra vez, y di en qué dirección se enciende ahora. Tiene que ser la contraria. Si es la misma, no invertiste los extremos: moviste el cursor. Vuelve al dibujo. Esta prueba confirma que entiendes el reparto, no solo que el LED a veces luce.

Deja los extremos como el dibujo y el LED respondiendo en la mitad aproximada del giro. Anota 512 al lado. Cuando llegue Serial podrás ver el número, y tendrá que cruzar 512 donde hoy cruza la luz. Si no coincide, alguien cambió el cable entre medias.

Sketch

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  int valor = analogRead(A0);
  if (valor > 512) {
    digitalWrite(13, HIGH);
  } else {
    digitalWrite(13, LOW);
  }
}

Ejercicio

Monta el potenciómetro de 10 kΩ en A0, extremos a 5V y GND. Gira hasta que el LED 13 cambie. Si cambia al revés de como esperabas, intercambia los dos extremos. No toques el programa para eso.

Autoevaluación

1. ¿Qué pata del potenciómetro va a A0?

2. ¿Por qué el umbral del ejemplo es 512?

3. ¿Hace falta Serial para ver si funciona?