O que é ESP32 Sono profundo
O modo de suspensão ESP32 é um modo de economia de energia que o ESP32 pode entrar quando não estiver em uso, salvando todos os dados em RAM. Neste momento, o poder de qualquer periférico desnecessário é cortado enquanto a RAM recebe energia suficiente para poder manter seus dados.
Esp32 Touch Sensor Pinout
A placa ESP32 vem com 10 pinos de gpio que suportam sensores de toque capacitivos. Esses pinos de GPio podem detectar mudanças na carga elétrica que podem ser causadas pela pele humana. Portanto, esses pinos podem detectar variações causadas por dedos humanos e gerar saída de acordo.
Esses pinos podem ser facilmente integrados com touch pads e podem substituir os botões mecânicos no projeto ESP32. Esses pinos de toque também podem acordar esp32 do sono profundo.
A seguir estão os pinos do sensor de toque destacados na cor verde:
Aqui, o pino do sensor de toque 0 corresponde ao pino GPIO 4 e o sensor de toque 2 está no pino gpio 2. Um pino que é o pino de toque 1 está faltando nesta versão específica da placa ESP32 (30 pinos). O sensor de toque 1 está no pino GPIO 0, disponível na versão de 36 pinos da placa ESP32.
Ativar toque acordado no ESP32
Ativar despertar pino de toque para ESP32 do sono profundo é simples. Só precisamos usar a seguinte função dentro do código ESP32:
Esp_sleep_enable_tuouchpad_wakeup ()Esp32 Touch Wake Up Deep Sleep Exemplo
Agora vamos dar um exemplo para testar o sensor de toque capacitivo ESP32 para despertar nossa placa. Certifique -se de instalar a placa ESP32 em Arduino IDE. Para ver um guia sobre a instalação do ESP32 com o Arduino IDE, clique aqui.
Agora aberto Arduino IDE vá para: Arquivo> Exemplos> Esp32> Deepsleep> Touchwakeup
O código a seguir aparecerá na nova janela:
#DEFINE LIMPHOLD 40 / * SENSIFICIÇÃO DE SENSIBILIDADE * /Este código lê o pino de toque T0. Aqui t0 corresponde a GPIO 4 ou D4. A primeira coisa que temos que começar é definir um valor limite após o que o ESP32 acordará do sono. Aqui no exemplo acima, o limite é definido como 40. O valor limite pode ser alterado dependendo das condições.
Uma vez que o valor de leitura no pino T0 se torne mais baixo que o valor limite definido, o ESP32 acordará do sono ligando para ligar de volta() função.
A função de retorno de chamada () será executada apenas quando o ESP32 estiver acordado. Se alguém apenas tocar e libera o alfinete, ele não será executado. Se quisermos usar outro pino, temos que usar interrupções para esse alfinete.
Em seguida, usando o Esp_sleep_enable_tuouchpad_wakeup () Função, definimos o pino de toque como uma fonte de despertar para a placa ESP32.
Hardware
Para testar o código, pegue uma placa de pão e coloque uma placa ESP32 ali, conecte um fio de jumper a GPIO 4 e tocá -lo usando o dedo.
Esquemático
Prenda um fio de jumper em D4 e toque no cabeçalho do fio do jumper usando o dedo.
Saída
A saída exibe a leitura antes e depois de tocar no pino GPIO 4 do ESP32. Aqui podemos ver o ESP32 acordar depois de tocar o alfinete e imprime a mensagem do número do pino, causando -o.
Conclusão
Este artigo o guiará sobre o uso de pinos de toque esp32 para acordar sua prancha de sono profundo. O ESP32 possui 10 pinos de toque que podem ser chamados e definidos como uma fonte de despertar as placas ESP32. Quando o toque é detectado no GPIO Touch Pin Esp32, acordará e executa a função de retorno de chamada () depois que ele retorna ao sono.