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.

Arduino Nano ESP32 com Chave de Fim de Curso

É importante observar que este tutorial é especificamente sobre o uso de uma chave de fim de curso, por favor não confunda com as seguintes:

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.
Pinagem da Chave de Fim de Curso
image source: diyables.io

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

Diagrama de Ligação da Chave de Fim de Curso com o Arduino Nano ESP32

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.
/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-limit-switch */ #include <ezButton.h> ezButton limitSwitch(D2); // create ezButton object that attach to the Arduino Nano ESP32 pin D2 void setup() { Serial.begin(9600); limitSwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { limitSwitch.loop(); // MUST call the loop() function first if(limitSwitch.isPressed()) Serial.println("The limit switch: UNTOUCHED -> TOUCHED"); if(limitSwitch.isReleased()) Serial.println("The limit switch: TOUCHED -> UNTOUCHED"); int state = limitSwitch.getState(); if(state == HIGH) Serial.println("The limit switch: UNTOUCHED"); else Serial.println("The limit switch: TOUCHED"); }

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.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED -> TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED -> UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!