Arduino - Chave de Fim de Curso
A chave de fim de curso é usada em muitas aplicações, como controle de motores e automação. Neste tutorial, vamos aprender a usar a chave de fim de curso com o Arduino.

Não confunda com os seguintes componentes:
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre a Chave de Fim de Curso
Ela é chamada de Chave de Fim de Curso porque sua principal função é detectar quando um objeto em movimento chega a um limite.
Pinagem
Existem vários tipos de chaves de fim de curso, mas entre os mais usados estão a KW12-3 e a V-156-1C25. Esses dois tipos têm 3 pinos:
- Pino C: é o pino comum. Ele é usado tanto no modo normalmente aberto quanto no modo normalmente fechado
- Pino NO: é o pino normalmente aberto. Ele é usado no modo normalmente aberto
- Pino NC: é o pino normalmente fechado. Ele é usado no modo normalmente fechado

Como Funciona
Embora a chave de fim de curso tenha 3 pinos, uma aplicação normal geralmente usa apenas dois: o pino C e um dos outros dois pinos. Assim, há quatro formas de usar a chave de fim de curso. Abaixo está a tabela de ligação da chave de fim de curso e o estado lido no Arduino nas quatro formas:
| Pino C | Pino NO | Pino NC | Estado do Pino de Entrada do Arduino | |
|---|---|---|---|---|
| 1 | GND | Pino de entrada do Arduino (com pull-up) | não conectado | HIGH quando não tocada, LOW quando tocada |
| 2 | GND | não conectado | Pino de entrada do Arduino (com pull-up) | LOW quando não tocada, HIGH quando tocada |
| 3 | VCC | Pino de entrada do Arduino (com pull-down) | não conectado | LOW quando não tocada, HIGH quando tocada |
| 4 | VCC | não conectado | Pino de entrada do Arduino (com pull-down) | HIGH quando não tocada, LOW quando tocada |
Em cada forma, podemos trocar o pino GND pelo pino de entrada do Arduino. Por isso, temos 8 formas de conectar o Arduino a uma chave de fim de curso.
Precisamos escolher apenas uma das quatro formas acima. O restante do tutorial vai usar a primeira forma.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Para deixar a ligação estável e firme, recomendamos usar um Ferro de Solda para soldar os fios aos pinos da chave de fim de curso e depois usar Tubo Termorretrátil para deixar tudo seguro.
Código Arduino - Chave de Fim de Curso
Assim como um botão, uma chave de fim de curso também precisa de debounce (veja mais em Por que o botão e a chave de fim de curso precisam de debounce?). O debounce deixa o código complicado. Felizmente, a biblioteca ezButton tem suporte à função de debounce. A biblioteca também usa o resistor de pull-up interno. Isso torna a programação fácil para nós
※ Nota:
Há dois casos de uso muito comuns:
- O primeiro: se o estado da chave for TOUCHED (tocada), faça algo. Se o estado da entrada for UNTOUCHED (não tocada), faça o contrário.
- O segundo: se o estado da chave mudar de UNTOUCHED para TOUCHED (ou de TOUCHED para UNTOUCHED), faça algo.
Passos Rápidos
- Faça a ligação como no diagrama de ligação acima
- Conecte o Arduino ao PC com o cabo USB
- Abra o Arduino IDE
- Instale a biblioteca ezButton. Veja Como Fazer
- Selecione a placa e a porta corretas
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Toque a chave de fim de curso e solte.
- Veja o resultado no Serial Monitor.