fbpx
Clase 28 de 73
En Progreso

Clase 28: ¡Conectemos el pulsador!

Clase
Materiales

En esta clase vamos a:

  • Ver como se conecta un pulsador.
  • Estudiar las dos configuraciones mas utilizadas.
  • Hackear el Arduino con una forma de INPUT especial.

Un breve resumen de esta clase:

      Tenemos un problema a la hora de conectar un pulsador al Arduino y es que el pulsador es un elemento que funciona bien si lo mantenemos presionado. Osea, imaginen que en un extremo del pulsador hay 5v y en el otro extremo nos vamos directo al pin del Arduino. Si esta presionado el pulsador el pin del Arduino va a ver un HIGH. ¿Hasta ahí todo bien, pero…que pasa si suelto mi pulsador? Que tensión va a ver mi Arduino. Muchos se arriesgarán y dirán…pero es obvio, va a ver LOW o 0V.
Pero no se si es tan obvio…porque de donde vendría esa tensión, si no esta conectado a nada? Ese tipo de entradas para los que quieran estudiarlo un poco mas en profundidad, se llaman de ALTA IMPEDANCIA, como que queda libre a su suerte. Y justamente eso no es lo que queremos hacer.

      Por eso es que los electrónicos han diseña 2 formas de conectar eficientemente un pulsador al pin del Arduino:

  • PULL UP, es una forma de conectarlo, donde ese pin que queda al aire (cuando el pulsador no está presionado) tendrá conectado una resistencia a 5V, entonces lo que va a ver nuestro Arduino (cuando no esta presionado nuestro pulsador) es un HIGH. Por ende…en el otro extremo de nuestro pulsador tendremos que conectarlo a GND para que cuando lo pulsemos nos muestre un LOW.
  • PULL DOWN , es justamente la forma opuesta de conectarlo y la resistencia en esta ocasión va a GND. Entonces el Arduino todo el tiempo que el pulsador no este presionado va a ver un LOW y al momento que este sea presionado veremos un HIGH por que el otro extremo esta conectado a 5v.

      Dicha resistencia suele ser de un valor alto (de 10kOhm) para que no consuma corriente.

      Por suerte no y por eso es que los fabricantes del chip de Arduino que es el Atmega328, han diseñado una forma especial para que internamente ya tenga esas resistencias instaladas.

       El único problema es que estas resistencias solo vienen INPUT_PULLUP, ósea que están a positivo y pro ello el uno de los extremos del pulsador va directo al pin de nuestro Arduino y el otro una a GND.

        ¿Y que es lo que vamos a ver entonces en el input del Arduino?

       Cuando el pulsador no esta presionado vamos a ver siempre HIGH, ese es el efecto de que el pin este a PULLUP.
Y cada vez que pulsemos nuestro botón (pulsador) vamos a ver un LOW. Esto también es conocido como lógica inversa. Porque cuando “sucede la acción” el sistema nos devele un LOW (bajo)

void setup()
{
  //defino el pin 12 como entrada
  pinMode(12, INPUT_PULLUP);
  
  //defino el pin 13 como salida
  pinMode(13, OUTPUT);
}

void loop()
{
  //cargo en lectura "lo opuesto" de lo que
  //se leyo del pin 12, por eso el simbolo "!"
  int lectura = !digitalRead(12);
  
  //Escribo en el pin 13 lo que esta en lectura
  digitalWrite(13, lectura);

Descargar el PDF aquí 👉 Clase 28

Responses

[uo_login_ui]