Entradas digitais do Esptop 10 e saídas digitais usando Arduino IDE

Entradas digitais do Esptop 10 e saídas digitais usando Arduino IDE

Esp32 é uma placa de microcontrolador com vários pinos de saída de entrada. Esp32 como o Arduino pode ler e controlar a entrada digital e a saída digital. Então, aqui neste artigo, abordaremos como controlar a saída ESP32 e como ler a entrada digital de periféricos externos.

Como instalar o ESP32 no Arduino IDE

Antes de avançarmos mais para o nosso tópico principal, gostaria de lembrá -lo de instalar o Arduino IDE no PC e se a placa ESP32 não estiver instalada no Arduino IDE, aqui está o guia sobre como instalar o ESP32 no Arduino IDE.

Pinos de saída de entrada digital no ESP32

As placas ESP32 vêm com um total de 48 pinos que executam funções diferentes, nem todos os pinos são fisicamente expostos em placas ESP32. Alguns pinos não estão disponíveis para uso.

Esp32 vem em duas variantes, uma vem com 36 pinos e o segundo com 30 pinos. A diferença de seis pinos aqui é devido a pinos SPI que são integrados para comunicação SPI e não podem ser usados ​​para qualquer outro propósito.

A imagem de pinout abaixo é de uma placa ESP32 de 30 pinos. A maioria desses pinos é semelhante a outras versões, como a placa ESP32 de 36 pinos. No entanto, a versão de 36 pinos do ESP32 possui 6 pinos integrados SPI especiais que não são recomendados para usá -los como gpio.

A tabela a seguir ilustra o status de saída de entrada dos pinos da placa ESP32:

GPIO PIN ENTRADA SAÍDA Descrição
GPIO 0 Puxado para cima OK Saída PWM na inicialização
GPIO 1 Pino tx OK Debug de saída na inicialização
GPIO 2 OK OK A bordo LED
GPIO 3 OK Pino rx Alto na bota
GPIO 4 OK OK -
GPIO 5 OK OK Saída PWM na inicialização
GPIO 6 - - Pino flash spi
GPIO 7 - - Pino flash spi
GPIO 8 - - Pino flash spi
GPIO 9 - - Pino flash spi
GPIO 10 - - Pino flash spi
GPIO 11 - - Pino flash spi
GPIO 12 OK OK Falha na bota em alta tração
GPIO 13 OK OK -
GPIO 14 OK OK Saída PWM na inicialização
GPIO 15 OK OK Saída PWM na inicialização
GPIO 16 OK OK -
GPIO 17 OK OK -
GPIO 18 OK OK -
GPIO 19 OK OK -
GPIO 21 OK OK -
GPIO 22 OK OK -
GPIO 23 OK OK -
GPIO 25 OK OK -
GPIO 26 OK OK -
GPIO 27 OK OK -
GPIO 32 OK OK -
GPIO 33 OK OK -
GPIO 34 OK Apenas entrada
GPIO 35 OK Apenas entrada
GPIO 36 OK Apenas entrada
GPIO 39 OK Apenas entrada

Aqui OK significa que o pino correspondente pode ser usado como entrada ou saída. Todos os pinos GPIO do ESP32 podem ser usados ​​como entrada e saída. Somente os pinos SPI 6 a 11 não podem ser usados ​​como entrada ou saída. Os pinos GPIO 34, 35, 36 e 39 são apenas de entrada.

Como controlar saídas digitais usando pinos digitais no ESP32

Como estamos programando o ESP32 no Arduino IDE, usaremos as mesmas funções para declarar um alfinete como saída do que fizemos na placa Arduino.

Para configurar qualquer pino digital, precisamos declará -lo como saída usando pinmode () função.

A seguir, a sintaxe será seguida:

pinmode (gpio, saída);

Aqui usando a função acima, declaramos um pino GPIO como saída agora para controlar a saída digital, usaremos DigitalWrite () função.

DigitalWrite (GPIO, estado);

Esta função leva dois argumentos, um é o número do pino GPIO e o segundo é o estado desse pino que deve ser definido. O estado pode ser baixo ou alto.

Conforme explicado anteriormente, podemos usar todos os pinos do ESP32 como saída, exceto GPIO 6 a 11 (Flash spi) e gpio 34, 35, 36 e 39 (Somente de entrada).

Como ler entradas digitais no ESP32

Ler uma entrada de pinos digitais é semelhante ao controle de uma saída de um pino. Primeiro, temos que declarar um alfinete como entrada usando o pinmode () função. A seguir, a sintaxe definindo um pino como entrada:

pinmode (gpio, entrada);

Depois que o pino é definido como entrada, o próximo passo é definir o DigitalRead () função para obter dados desse pino. É assim que você pode definir um alfinete como entrada digital.

DigitalRead (GPIO);

Todos os pinos de GPIO podem ser usados ​​como entrada, exceto os pinos de flash spi de 6 a 11.

Observação: Os pinos flash spi 6 a 11 estão ausentes na versão de 30 pinos da placa ESP32.

Como controlar o LED usando o ESP32 Read and Write

Agora, para limpar o conceito de leitura digital e escrever no ESP32, daremos um exemplo de LED. Para controlar o LED, usaremos um botão.

O ESP32 lerá digitalmente os dados do PushButton e controlará um LED usando o comando digital de gravação.

Hardware necessário

A seguir, a lista de componentes necessários:

  • Esp32
  • LIDERADO
  • 2x 220 ohm resistor
  • Botão de apertar
  • Pão de pão
  • Fios de jumper

Esquemático

A imagem a seguir ilustra a conexão do ESP32 com o LED e o botão. O LED está conectado no GPIO 14 e a saída do botão está conectada no pino GPIO 15.

Código para controlar as entradas/saídas digitais ESP32

Abra o Arduino IDE e selecione a placa e porta COM ESP32, agora envie o código fornecido.

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

Void Loop ()
Button_state = digitalRead (push_button); /*Função para verificar o estado do botão*/
Serial.println (button_state);
if (button_state == High) /*Verifique o status do botão usando se condição* /
DigitalWrite (led_pin, alto); /*Se o estado estiver alto, ligue o LED*/
outro
DigitalWrite (led_pin, baixo); /*Else LED permanece fora*/

Aqui no código acima, começamos inicializando o pino GPIO para LED e Pushbutton. Em seguida, declaramos LED como saída e botão como entrada para ler dados.

Para armazenar dados de leitura do botão, uma variável é definida e finalmente imprimimos o resultado no monitor serial.

Saída

Em hardware, podemos ver que o LED está desligado.

Agora pressionando a placa de botão Esp32 receberá a entrada do botão e definirá o estado de saída do LED à alta. Agora o LED vai ligar.

Também podemos ver os dados digitais lidos do botão no monitor serial do IDE.

Conclusão

As placas ESP32 têm vários pinos digitais para entrada e saída. Aqui neste artigo, discutimos esses pinos e controlamos um LED usando o botão. Também mencionamos que existem certos pinos que só podem ser usados ​​como entrada, enquanto alguns pinos como SPI Flash de 6 a 11 (36 versão esp32) não podem ser usados ​​como entrada ou saída.