Introdução – Apresentando o modo Deep Sleep

Tempo de leitura: 2 minutes

Material Necessário

Um ESP32 de qualquer tipo.

 

Introdução ao Modo Sono Profundo ou Sono Profundo

Se tivermos uma fonte de energia permanente para nossos projetos, ou seja, um plugue, é mais provável que não pensemos muito no consumo de energia.

No entanto, se queremos que nosso projeto funcione com baterias, sejam baterias, baterias LiPo, Power Banks, ou qualquer outro método que vier à mente; consumo será uma das nossas maiores preocupações. É aqui que entra o modo Deep Sleep.

No modo Deep Sleep desativamos as funções que consomem mais energia, mas deixamos o suficiente para acordar o ESP32 e sair desse modo quando precisarmos.

 

O Chip ESP32

Dentro do chip ESP32 podemos encontrar:

  • Um processador dual core.
  • Memória RAM e ROM.
  • Módulos Wi-Fi e Bluetooth.
  • Um módulo de aceleração de hardware para aplicativos criptográficos.
  • O módulo RTC.

Os núcleos da CPU e os módulos Bluetooth e Wi-Fi precisam de muita energia para funcionar, portanto, se quisermos economizar energia, precisamos desativá-los.

Isso é exatamente o que fazemos ao entrar no modo Deep Sleep, que desativa tudo, exceto o módulo RTC. Neste módulo temos um coprocessador de 32 bits de baixo consumo (ULP ou Ultra Low Power) e 8kbs de RAM. Se pensarmos um pouco, embora não pareça muito, é 4 vezes mais memória que o Arduino UNO.

Enquanto estivermos no modo Deep Sleep podemos acessar esta memória, para que possamos escrever um programa nela para o coprocessador ULP que nos permitirá acordar a CPU quando precisarmos dela para atender aos eventos que nos interessam.

Quando acordarmos, executaremos o sketch novamente desde o início, incluindo o setup(), mas com a vantagem de podermos contar com os dados que salvamos nas variáveis ​​de memória do módulo RTC.

Se você está se perguntando, o ESP32 precisa de apenas 0,01mA de corrente neste modo. Comparado com a média de 80mA, podendo chegar a 225mA, que normalmente consome, a economia é mais que considerável.

 

Métodos para Despertar

Veremos 3 maneiras de tirar o ESP32 do modo Deep Sleep:

  1. Usando um cronômetro ou cronômetro, usando períodos de tempo predefinidos em nosso programa.
  2. Usando os pinos “touch” ou Touch, ou seja, tocando um cabo conectado a um desses pinos.
  3. Usando um sinal em um pino, por exemplo, através de um botão. Podemos usar dois no mesmo programa.

Nas próximas sessões veremos e testaremos os três métodos, para que possa escolher um ou os que melhor se adequam às suas necessidades.