ESP32 - Chave de Fim de Curso

Este tutorial ensina você a usar a chave de fim de curso (Limit Switch) com o ESP32.

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 a confunda com os itens a seguir:

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.

Uma Chave de Fim de Curso recebe esse nome porque seu objetivo principal é detectar quando um objeto em movimento atingiu 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. Cada um desses tipos tem três pinos:

  • Pino C: este é o pino comum, usado tanto no modo normalmente aberto quanto no modo normalmente fechado.
  • Pino NO: este é o pino normalmente aberto, usado no modo normalmente aberto.
  • Pino NC: este é 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 normalmente usa apenas dois pinos: o pino C e um dos outros dois pinos. Isso resulta em quatro formas diferentes de usar uma chave de fim de curso. A tabela abaixo mostra a ligação e o estado lido no ESP32 para cada um desses quatro métodos.

pino C pino NO pino NC Estado do Pino de Entrada do ESP32
1 GND Pino de Entrada do ESP32 (com pull-up) não conectado HIGH quando não tocada, LOW quando tocada
2 GND não conectado Pino de Entrada do ESP32 (com pull-up) LOW quando não tocada, HIGH quando tocada
3 VCC Pino de Entrada do ESP32 (com pull-down) não conectado LOW quando não tocada, HIGH quando tocada
4 VCC não conectado Pino de Entrada do ESP32 (com pull-down) HIGH quando não tocada, LOW quando tocada

Trocando o pino GND e o pino de entrada do ESP32 em cada uma das quatro formas, existem no total oito formas diferentes de conectar um ESP32 a uma chave de fim de curso.

Das oito formas, o tutorial vai focar em um método; especificamente, o primeiro método será usado como exemplo.

Diagrama de Ligação

  • Como conectar o ESP32 e a chave de fim de curso usando uma protoboard
Diagrama de ligação da chave de fim de curso com ESP32

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

Como conectar o ESP32 e a chave de fim de curso

Para uma conexão estável e segura, é recomendado usar um ferro de solda para soldar os fios aos pinos da chave de fim de curso e, depois, usar tubos termorretráteis para mais segurança.

Código 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 podem ser encontradas em Por que é necessário fazer debounce do 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 os resistores de pull-up internos, facilitando 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 estiver TOCADA, execute uma determinada ação. Se o estado da entrada for NÃO TOCADA, execute a ação oposta.
  • O segundo caso de uso: se o estado da chave mudar de NÃO TOCADA para TOCADA (ou de TOCADA para NÃO TOCADA), execute uma ação específica.
/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-limit-switch */ #include <ezButton.h> ezButton limitSwitch(19); // create ezButton object that attach to ESP32 pin GPIO19 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 mostrado acima para conectar a sua chave de fim de curso ao ESP32.
  • Conecte o seu ESP32 ao seu PC usando um cabo USB.
  • Abra o software Arduino IDE.
  • Instale a biblioteca ezButton. Consulte as instruções
  • Selecione a placa e a porta corretas no Arduino IDE.
  • Compile e faça upload do código para a placa ESP32 clicando no botão Upload no Arduino IDE.
  • Teste a chave de fim de curso tocando nela e soltando-a.
  • Observe a saída no Serial Monitor do Arduino IDE.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' 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
ESP32 Dev Module 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!