Arduino Nano - Interruptor de fin de carrera
Este tutorial te enseña cómo usar Arduino Nano con el interruptor de fin de carrera. En detalle, aprenderemos:
- Cómo conectar el Arduino Nano al interruptor de límite.
- Cómo programar el Arduino Nano para leer el estado del interruptor de límite.
- Cómo programar el Arduino Nano para comprobar si el interruptor de límite está accionado o no.

Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del interruptor de fin de carrera
Se le llama interruptor de límite debido a su propósito principal de detectar cuándo un objeto en movimiento ha alcanzado un límite.
Esquema de pines del interruptor de fin de carrera
Existen varios tipos de interruptores de límite, y entre los más favorecidos se encuentran los KW12-3 y V-156-1C25. Cada uno de estos tipos presenta tres pines:
- C: Este es el pin común y se utiliza para ambos modos: normalmente abierto y normalmente cerrado
- NO: Este es el pin normalmente abierto y se utiliza en el modo normalmente abierto
- NC: Este es el pin normalmente cerrado y se utiliza en el modo normalmente cerrado

Cómo funciona
Aunque el interruptor de límite tiene tres pines, normalmente solo se usan dos de ellos en una aplicación normal: el pin C y uno de los otros dos. Por lo tanto, hay cuatro formas posibles de cablear el interruptor de límite. La tabla siguiente muestra el cableado y el estado de lectura en Arduino Nano para los cuatro métodos:
| C pin | NO pin | NC pin | Arduino Nano Input Pin's State | |
|---|---|---|---|---|
| 1 | GND | Arduino Nano Input Pin (with pull-up) | not connected | HIGH when untouched, LOW when touched |
| 2 | GND | not connected | Arduino Nano Input Pin (with pull-up) | LOW when untouched, HIGH when touched |
| 3 | VCC | Arduino Nano Input Pin (with pull-down) | not connected | LOW when untouched, HIGH when touched |
| 4 | VCC | not connected | Arduino Nano Input Pin (with pull-down) | HIGH when untouched, LOW when touched |
Para cada método, podemos intercambiar el pin GND y el pin de entrada del Arduino Nano. En consecuencia, hay 8 formas de conectar el Arduino Nano a un fin de carrera.
Debemos seleccionar una de las cuatro opciones. El resto del tutorial utilizará el primer método.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Ver La mejor forma de alimentar Arduino Nano y otros componentes.
Para una conexión de cableado segura y fiable, sugerimos usar un soldador para soldar los cables y los pines del interruptor de fin de carrera juntos. Después, use tubo termorretráctil para una mayor seguridad.
Código de Arduino Nano - Interruptor de fin de carrera
Al igual que un botón, un interruptor de fin de carrera también requiere antirrebote (ver más en Por qué se necesita el antirrebote para el botón/interruptor de límite?). Esto puede hacer que la programación sea compleja. Afortunadamente, la biblioteca ezButton ofrece una función de antirrebote. Además, utiliza un registro pull-up interno, lo que simplifica la programación del botón.
※ Nota:
Existen dos aplicaciones comunes con interruptor de límite:
- La primera: si el interruptor está en la posición TOCADA, realiza una acción. Si la entrada está NO TOCADA, haz lo contrario.
- La segunda: si el interruptor cambia de NO TOCADO a TOCADO (o TOCADO a NO TOCADO), toma alguna acción.
Pasos R\u00e1pidos
- Realiza el cableado como se indica en el diagrama de cableado.
- Conecta el Arduino Nano a un PC mediante un cable USB.
- Abre el IDE de Arduino.
- Instala la biblioteca ezButton. Consulta las instrucciones en Cómo.
- Elige la placa y el puerto adecuados.
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino Nano.
- Presiona y luego suelta el interruptor de límite.
- Consulta el resultado en el Monitor Serial.
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.