Arduino - Interruptor de límite
El interruptor de límite se ha utilizado en muchas aplicaciones, como el control de motores y la automatización. En este tutorial, aprenderemos a usar el interruptor de límite con Arduino.

Por favor, no se confunda con lo siguiente:
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del interruptor de fin de carrera
Se llama Limit Switch porque su funcionalidad principal se utiliza para detectar cuándo el objeto en movimiento alcanza un límite.
Disposición de pines
Existen varios tipos de finales de carrera disponibles, pero entre los más utilizados se encuentran los KW12-3 y V-156-1C25. Ambos tipos tienen 3 pines:
- Pin C: es el pin común. Se utiliza en ambos modos: normalmente abierto y normalmente cerrado.
- Pin NO: es el pin normalmente abierto. Se utiliza en el modo normalmente abierto.
- Pin NC: es el pin normalmente cerrado. Se utiliza en el modo normalmente cerrado.

Cómo funciona
Aunque el interruptor de fin de carrera tiene tres pines, una aplicación normal suele usar solo dos pines: el pin C y uno de los dos pines restantes. En consecuencia, hay cuatro formas de usar un interruptor de fin de carrera. A continuación se muestra la tabla de conexiones del interruptor de fin de carrera y el estado de lectura en Arduino en las cuatro formas:
| C pin | NO pin | NC pin | Arduino Input Pin's State | |
|---|---|---|---|---|
| 1 | GND | Arduino Input Pin (with pull-up) | not connected | HIGH when untouched, LOW when touched |
| 2 | GND | not connected | Arduino Input Pin (with pull-up) | LOW when untouched, HIGH when touched |
| 3 | VCC | Arduino Input Pin (with pull-down) | not connected | LOW when untouched, HIGH when touched |
| 4 | VCC | not connected | Arduino Input Pin (with pull-down) | HIGH when untouched, LOW when touched |
Para cada configuración, podemos intercambiar el pin GND y el pin de entrada de Arduino. Por lo tanto, tenemos 8 formas de conectar Arduino a un interruptor de límite.
Solo necesitamos elegir una de las cuatro formas anteriores. El resto del tutorial utilizará la primera forma.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Para que la conexión de cableado sea estable y firme, recomendamos usar Soldering Iron para soldar los cables y el pin del interruptor de límite juntos, y luego usar Heat Shrink Tube para que quede segura.
Código de Arduino - Interruptor de Límite
Al igual que un botón, un interruptor de límite también necesita antirrebote. Ver más en Por qué se necesita antirrebote para el botón/interruptor de límite?. El antirrebote hace que el código sea más complejo. Afortunadamente, la biblioteca ezButton admite la función de antirrebote. La biblioteca también utiliza una resistencia pull-up interna. Esto facilita programarlo.
※ Nota:
Hay dos casos de uso ampliamente utilizados:
- El primero: Si el estado del interruptor está TOCADO, haz algo. Si el estado de entrada está NO TOCADO, haz otra cosa al revés.
- El segundo: Si el estado del interruptor cambia de NO TOCADO a TOCADO (o de TOCADO a NO TOCADO), haz algo.
Pasos R\u00e1pidos
- Realice el cableado tal como en el diagrama de cableado anterior
- Conecte el Arduino al PC mediante un cable USB
- Abra el Arduino IDE
- Instale la biblioteca ezButton. Vea Cómo
- Seleccione la placa y el puerto correctos
- Haga clic en el botón Subir en el IDE de Arduino para subir el código al Arduino
- Toque el interruptor de límite y suéltelo.
- Vea el resultado en el monitor serie.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.