Home Assistant Fácil

Curso de Home Assistant y domótica

  • Blog
  • Soy un pardillo
  • Podcast
  • Curso Arduino
  • Curso Domótica
  • Acceder
Usted está aquí: Inicio / Blog / Arduino / Cómo utilizar pulsadores sin saber nada de electrónica con Arduino

Cómo utilizar pulsadores sin saber nada de electrónica con Arduino

Comentarios(9)
Luis del Valle Hernández

En este artículo vamos a ver como deberíamos utilizar pulsadores en Arduino. Aunque parece una tarea bastante sencilla, veremos que en la práctica hay que tener en cuenta ciertos factores para que nuestro pulsador funcione correctamente.

Lo primero es distinguir un interruptor pulsador del resto, ya que existen muchos tipos de interruptores. El que vamos a ver aquí es del tipo pulsador lo que indica que necesitamos mantener una presión sobre él para que funcione. Por norma general, los pulsadores tienen un estado inicial donde no permiten pasar la corriente.

Existen otros tipos de interruptores como los que tenemos en casa, donde tenemos dos estados a modo de conmutador, podemos dejar fijo un estado sin que esto requiera una acción por nuestra parte.

Indice de contenidos

  • 1 Pulsadores, el componente eléctrico
  • 2 Circuito eléctrico con pulsadores
  • 3 Programando pulsadores con Arduino
  • 4 Aplicando resistencia pullup y pulldown con pulsadores
  • 5 Circuito eléctrico con pulsadores y resistencia pulldown
  • 6 Circuito eléctrico con pulsadores y resistencia pullup

Pulsadores, el componente eléctrico

El pulsador tiene cuatro patillas que están conectadas a pares como se ve en el siguiente esquema.

pulsador

Cuando pulsamos el interruptor se cierra el circuito y dejamos pasar la corriente. Esto nos permite, por ejemplo, controlar un LED, un motor o cualquier otro elemento. La duda surge cuando dejamos la patilla donde está conectado ese elemento al aire es decir, sin estar conectado a nada.

Circuito eléctrico con pulsadores

Pongamos un ejemplo, vamos a trabajar con el LED que viene integrado dentro de la placa de Arduino y que está conectado al pin 13. Te muestro a continuación el esquema.

pulsador-mal-conectado

Programando pulsadores con Arduino

El código que debes cargar en la placa es el siguiente.

/*
  Creado: Luis del Valle (ldelvalleh@programarfacil.com)
  https://programarfacil.com
*/

// Constantes para definir los pines
const int pulsadorPin = 2;
const int ledPin = 13;

int valorPulsador = 0;

void setup() {
    // Activamos los pines de entrada y salida
    pinMode(pulsadorPin, INPUT);
    pinMode(ledPin, OUTPUT);
}

void loop() {
    // Leemos el valor del pin
    valorPulsador = digitalRead(pulsadorPin);
 
  // Encendemos o apagamos el pin del LED según convenga
  if (valorPulsador == HIGH) {
      digitalWrite(ledPin, HIGH);
  }
  else {
      digitalWrite(ledPin, LOW);
  }
}


Si lo pruebas comprobarás que no funciona correctamente, probablemente el LED integrado dentro de la placa parpadeará o se mantendrá encendido, tiene un comportamiento inestable por no estar conectado a ninguna tensión, esto se conoce como alta impedancia. Para conseguir que el LED quede en un estado determinado cuando el pulsador esté abierto, debemos hacer uso de las resistencias Pull-up y Pull-down.

Aplicando resistencia pullup y pulldown con pulsadores

Estos dos tipos de resistencias nos aseguran que cuando el interruptor esté abierto tengamos un valor HIGH (5V) o LOW (0V), pero ¿cómo lo hacen?

resistencia-pull-up-down

Empecemos por el caso de la resistencia pull-down. En este caso el LED (en la figura se muestra como Vout) tiene dos vías de escape. Por un lado podemos tomar como referencia la conexión que está al aire en el pulsador, recuerda que la hemos llamado de alta impedancia, o puede ir a la resistencia que está conectada a tierra. ¿Qué camino cogerá?

Tienes que pensar que en este caso, al tener una alta impedancia, sería como un muro a la hora de decidir el camino, por lo tanto se verá obligado a tomar como referencia el camino de la resistencia, el que tiene menor diferencia de potencial, está conectado a tierra (0V).

Esta es la configuración recomendada cuando queremos tener un valor HIGH al presionar el pulsador y un valor LOW al dejar de presionar el pulsador, el uso común.

Por otro lado, en la resistencia pull-up ocurre lo contrario. Mientras el pulsador esté sin presionar, la referencia que tomará el LED será de 5V, cuando se presiona el pulsador, la referencia que toma el LED es 0V debido a que está conectado a tierra.

Circuito eléctrico con pulsadores y resistencia pulldown

Veamos como debemos de conectar nuestro LED en Arduino.

pulsador-pull-down

La resistencia que se ha utilizado y que debemos utilizar es de 10K ya que así evitamos que tenga influencia sobre el circuito. El código sería exactamente igual, la única diferencia es que ahora funciona correctamente, cuando el pulsador no está presionado el LED está apagado y cuando está presionado se enciende el LED.

Circuito eléctrico con pulsadores y resistencia pullup

Si lo que queremos es tener el LED siempre encendido y que sólo se apague cuando pulsamos, debemos utilizar la resistencia pull-up. El esquema sería el siguiente.

pulsador-pull-up

La resistencia seguirá teniendo el mismo valor que en la configuración pull-down y el código será el mismo. Si lo pruebas ahora en tu Arduino comprobarás que se ha invertido el funcionamiento.

Con esto queda comprobado que podemos modificar el comportamiento de nuestro circuito a base de elementos electrónicos y no solo por software. Lo realmente interesante es darnos cuenta de las posibilidades que nos brinda la electrónica y la programación.

Dentro de poco veremos un artículo donde trabajaremos con este concepto y seremos capaces de leer varios pulsadores con una única entrada analógica. Haremos uso de las resistencia pull-down para poder conseguirlo, hasta entonces, sigue practicando.

broadlink home assistant

Broadlink Home Assistant con HAIR: mandos por infrarrojos sin YAML

Llegas a casa con el emisor Broadlink Home Assistant nuevecito. Lo sacas de la caja con toda la ilusión del mundo para integrar el ventilador del … [+ info...]

NUKI SMART LOCK

Nuki Smart Lock Go, Pro o Ultra: cuál comprar y la prueba que lo decide todo

Mira chapapote, imagina la cara de tonto que se te queda cuando te gastas casi 350 pavos en una cerradura inteligente Nuki, llega a casa, la abres con … [+ info...]

slzb-06

SLZB-06U: migrar coordinador Zigbee desde Sonoff Dongle P (y por qué el Dongle E es diferente)

Vale, lo confieso: no hay nada que me dé más pereza en domótica que tener que migrar toda la red Zigbee. El típico momento en el que tu viejo … [+ info...]

Copyright © 2026 · Programar Fácil · Aviso legal

Utilizamos cookies para ofrecerte la mejor experiencia en nuestra web.

Puedes aprender más sobre qué cookies utilizamos o desactivarlas en los .

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Cookies de terceros

Esta web utiliza Google Tag Manager para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.