Arduino Nano ESP32 - Chave de Fim de Curso
Este tutorial mostra como usar a chave de fim de curso (Limit Switch) com o Arduino Nano ESP32.

É importante observar que este tutorial é especificamente sobre o uso de uma chave de fim de curso, por favor não confunda com as seguintes:
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre a Chave de Fim de Curso
Ela se chama Chave de Fim de Curso porque sua função principal é detectar quando um objeto em movimento chega a um limite.
Uma Chave de Fim de Curso tem esse nome porque seu propósito principal é detectar quando um objeto em movimento chegou a um limite.
Pinagem
Existem vários tipos de chaves de fim de curso, sendo a KW12-3 e a V-156-1C25 as mais populares entre elas. Cada um desses tipos tem três pinos:
- Pino C: É o pino comum, usado tanto no modo normalmente aberto quanto no modo normalmente fechado.
- Pino NO: É o pino normalmente aberto, usado no modo normalmente aberto.
- Pino NC: É o pino normalmente fechado, usado no modo normalmente fechado.

Como Funciona
Uma aplicação típica de chave de fim de curso geralmente usa apenas dois pinos: o pino C e um dos outros dois pinos. Isso resulta em quatro maneiras diferentes de usar uma chave de fim de curso. A tabela abaixo mostra a ligação e o estado de leitura em um Arduino Nano ESP32 para cada um desses quatro métodos.
| Pino C | Pino NO | Pino NC | Estado do Pino de Entrada do Arduino Nano ESP32 | |
|---|---|---|---|---|
| 1 | GND | Pino de Entrada do Arduino Nano ESP32 (com pull-up) | não conectado | HIGH quando não tocada, LOW quando tocada |
| 2 | GND | não conectado | Pino de Entrada do Arduino Nano ESP32 (com pull-up) | LOW quando não tocada, HIGH quando tocada |
| 3 | VCC | Pino de Entrada do Arduino Nano ESP32 (com pull-down) | não conectado | LOW quando não tocada, HIGH quando tocada |
| 4 | VCC | não conectado | Pino de Entrada do Arduino Nano ESP32 (com pull-down) | HIGH quando não tocada, LOW quando tocada |
Trocando o pino GND e o Pino de Entrada do Arduino Nano ESP32 em cada uma das quatro maneiras, existem ao todo oito maneiras diferentes de conectar um Arduino Nano ESP32 a uma chave de fim de curso.
Das oito maneiras, o tutorial vai focar em um método, especificamente o primeiro método será usado como exemplo.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Para uma conexão estável e segura, recomenda-se usar um ferro de solda para soldar os fios e os pinos da chave de fim de curso, e depois usar tubos termorretráteis para maior segurança.
Código Arduino Nano ESP32 - Chave de Fim de Curso
Assim como um botão, uma chave de fim de curso também precisa de debounce (mais informações em Por que precisamos de debounce para o botão/chave de fim de curso?). O debounce pode deixar o código mais complexo. No entanto, a biblioteca ezButton oferece a função de debounce e usa resistores pull-up internos, o que facilita a programação.
※ Nota:
Dois casos de uso comuns para uma chave de fim de curso são:
- O primeiro caso de uso: Se a chave está TOCADA, execute uma certa ação. Se o estado da entrada é NÃO TOCADA, execute a ação oposta.
- O segundo caso de uso: Se o estado da chave muda de NÃO TOCADA para TOCADA (ou de TOCADA para NÃO TOCADA), execute uma ação específica.
Passos Rápidos
- Siga o diagrama de ligação fornecido acima para conectar a sua chave de fim de curso ao Arduino Nano ESP32.
- Conecte o seu Arduino Nano ESP32 ao PC usando um cabo USB.
- Abra o software Arduino IDE.
- Instale a biblioteca ezButton. Consulte as instruções
- Selecione a placa e a porta apropriadas na Arduino IDE.
- Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload da Arduino IDE.
- Teste a chave de fim de curso tocando nela e soltando.
- Veja a saída no Serial Monitor da Arduino IDE.