Botão com Esptop 10 - Arduino IDE

Botão com Esptop 10 - Arduino IDE

O ESP32 é uma placa de IoT que pode ser interface com diferentes periféricos externos para gerar saídas. O ESP32 recebe a entrada de dispositivos como botões de push e gera respostas de acordo com a entrada recebida. Os botões de pressão podem ser usados ​​para controlar vários sensores e dispositivos, como controlar um LED ou manter a velocidade dos motores. Aqui nesta lição, discutiremos a interface do botão com o ESP32.

A seguir, a tabela de conteúdo para esta lição:

1: Introdução ao botão

2: Trabalhando de Push Button

2.1: Modos de trabalho de botão

3: interface Push Button com ESP32

3.1: pinos de saída de entrada digital no ESP32

3.2: Como ler entradas digitais no ESP32

3.3: interface Push Button com ESP32 usando a função de leitura digital

3.4: Hardware necessário

3.5: esquemático

3.6: Código para interface esp32 com botão

3.7: saída

1: Introdução ao botão

Um botão é um botão simples com um mecanismo para controlar estados de diferentes máquinas ou processos. O botão é composto de material duro como plástico ou metal e a superfície superior geralmente é plana, o que permite que os usuários o pressionem.

Nos projetos ESP32, o botão de pressão é amplamente usado para controlar os estados de entrada e saída do pino. Interruptores de alternância e botões de push operam em princípios ligeiramente diferentes. O interruptor convencional ou de alternância aparece quando é pressionado enquanto o botão de pressão é um dispositivo de duas posições que geralmente fica descansado quando for liberado.

Vamos nos aprofundar no princípio de funcionamento do botão em detalhes:

2: Trabalhando de Push Button

Um botão normalmente tem 4 pinos. Esses 4 pinos estão conectados na forma de um par, como dois pinos superiores, estão conectados internamente da mesma forma que os outros dois também estão conectados internamente.


Para saber quais dois pinos estão conectados, pegue um multímetro (DMM) e defina -o como Teste de continuidade, Agora anexe a sonda positiva com qualquer perna do botão e, em seguida, um por um anexe a sonda negativa do multímetro com outras pernas. Se a conexão estiver completa entre as duas extremidades, o som do bipe poderá ser ouvido do multímetro. Aquelas duas pernas que estão conectadas internamente completarão o circuito.

1: Modos de trabalho de botão

Para usar o botão em um circuito, precisamos de um pino de cada par conectado internamente. Se pegarmos os pinos do botão de pressão do mesmo par que está conectado internamente, resultará em um curto -circuito, pois eles já estão conectados, ignorará o mecanismo de botão.

Com base nesse mecanismo, o botão de pressão pode funcionar seguindo dois modos:


Se tomarmos um exemplo do modo mostrado na imagem abaixo. Podemos ver que, quando o botão não for pressionado, a conexão interna está aberta assim que o botão é pressionado, o terminal A e B interno será conectado e o circuito será concluído.


Agora concluímos o princípio básico por trás do funcionamento dos botões de push. Em seguida, faremos uma interface um botão simples com o ESP32 e controlaremos um LED usando -o.

3: interface Push Button com ESP32

Antes de interface o botão de pressão com o ESP32, é preciso conhecer os pinos do GPIO que podem ser usados ​​como uma entrada. Agora discutiremos os pinos de saída de entrada digital no ESP32.

1: pinos de saída de entrada digital no ESP32

Esp32 tem um total de 48 pinos cada um dos quais é específico para uma determinada função, entre os 48 pinos que alguns não estão fisicamente expostos, o que significa que não podemos usá -los para fins externos. Esses pinos são integrados dentro do ESP32 para diferentes funções.

A placa ESP32 tem 2 variantes diferentes tendo 36 pinos e 30 pinos. Aqui está a diferença de 6 pinos entre os dois conselhos, por causa de 6 pinos de flash SPI integrados disponíveis para comunicação SPI em um 36 variante de pinos da placa ESP32. No entanto, esses 6 pinos SPI não podem ser usados ​​para outros fins, como saída de entrada.

O pinout abaixo dado é de 30 pinos Placa ESP32:


Entre todos os GPIO, apenas 4 pinos (34, 35, 36 e 39) são insumos apenas enquanto todos os outros pinos podem ser usados ​​para entrada e saída. Como mencionado acima, os 6 pinos SPI não podem ser usados ​​para entrada ou saída.

2: Como ler entradas digitais no ESP32

A entrada de botão pode ser lida em um pino GPIO definido para o qual uma função pinmode () precisa ser definido primeiro dentro do código Arduino. Esta função definirá o pino GPIO como entrada. pinmode () A sintaxe da função é a seguinte:

pinmode (gpio, entrada);


Para ler dados de um pino GPIO definido DigitalRead () A função será chamada. A seguir, é possível usar o comando que se pode usar para retirar os dados do botão de pressão em um pino GPIO:

DigitalRead (GPIO);

3: interface Push Button com ESP32 usando a função de leitura digital

Agora vamos interface o ESP32 com o botão usando o leitura digital função em qualquer pino de gpio. Tomando a entrada do botão, um LED será ativado ou desligado.

4: Hardware necessário

Abaixo está a lista dos componentes necessários:

    • Placa ESP32
    • Um LED
    • 220 ohm resistores
    • Botão de 4 pinos
    • Pão de pão
    • Conectando fios de jumper

5: esquemático

Abaixo da imagem está o diagrama esquemático do botão com esp32. Aqui a entrada é lida no botão de pressão no pino GPIO 15 e o LED está conectado no pino GPIO 14.

6: Código para interface Push Button com ESP32

Agora, para fazer upload de código para o editor do ESP32 Arduino IDE. Abra o IDE e conecte a placa ESP32 depois que selecione a porta COM na seção de ferramentas. Depois que a placa ESP32 estiver pronta, cola o código no IDE e clique no upload:

const int push_button = 15; /*Pino digital 15 definido para botão de pressão*/
const int led_pin = 14; /*Pino digital 14 definido para LED*/
int button_state = 0;
Void Setup ()
Serial.começar (115200);
pinmode (push_button, entrada); /*Gpio 15 definido como entrada*/
pinmode (led_pin, saída); /*Gpio 14 definido como saída*/

Void Loop ()
Button_state = digitalRead (push_button); /*Verifique o botão de botão*/
Serial.println (button_state);
if (button_state == alta) /*se condição para verificar o status do botão* /
DigitalWrite (led_pin, alto); /*Alto estado liderado em*/
outro
DigitalWrite (led_pin, baixo); /*Else liderado*/


Código começou definindo pinos GPIO para LED e Button. Depois disso, o LED GPIO é declarado como saída enquanto o Push Button GPIO é definido como entrada.

No final do botão final, o estado do botão verificado usando a condição se. O estado do botão também é impresso no monitor serial usando Serial.println (button_state).

Se a entrada do botão for alta, ele ligará mais, ela permanecerá desligada.

7: saída

No começo, podemos ver que o LED está desligado.


Agora pressione o botão de pressão Um sinal alto será enviado para o esp32 gpio 15 e o LED ligará.


A mesma saída também pode ser vista no monitor serial Arduino.

Conclusão

O ESP32 possui vários pinos GPIO que podem ler dados digitais de sensores, como botões de push. O uso do botão de Função de leitura digital pode ser facilmente interface com o ESP32 para controlar diferentes dispositivos. Usando este artigo uma vez pode interface o botão de pressão com qualquer pino GPIO do ESP32.