ESP32 – Utilizando o sensor capacitivo

Botões sensíveis ao toque sempre me chamaram a atenção, talvez por parecer mágica ou pela sua sensibilidade, que em alguns casos não precisamos nem tocá-los para acioná-los. Eles são encontrados em muitos produtos, como elevadores, TVs, carros, telefones e micro-ondas.

Esses botões podem ser a solução para alguns problemas, como no caso de soluções hermeticamente fechadas, ou mesmo por design de uma solução de alto nível de sofisticação, fazendo os nossos produtos parecerem mais tecnológicos do que eles de fato são.

Sensores capacitivos do ESP32

O ESP32 possui na sua lista de periféricos, 10 sensores capacitivos, que detectam variações de capacitância, podendo até detectar a proximidade de um dedo ou de outros objetos. Esses sensores, são usualmente utilizados como botões, eliminando a parte mecânica, até mesmo possibilitando a criação de botoes diretamente na superfície do produto com o uso de películas especiais.

Funcionamento

O funcionamento do sensor capacitivo é baseado na variação da capacitância gerada pelo toque em um material, chamado de eletrodo. Essa variação de capacitância é lida e convertida pelo ADC.

Dependendo do eletrodo, ele pode agir como uma antena, detectando proximidade, mesmo sem o toque, ou mesmo detectando a pressão pela variação da capacitância.

Design do Eletrodo

O eletrodo é uma parte fundamental do sistema, já que será o responsável por captar a variação da capacitância no circuito.

O formato do eletrodo geralmente deve ser de um tamanho e forma similares ao dedo humano. Formas irregulares e o tamanho podem gerar interferências, fazendo a sensibilidade variar

Recomendações:
  • Eletrodos muito próximos uns dos outros podem gerar interferência. A distancia entre os eletrodos devem ser no mínimo o dobro do seu tamanho.
  • O comprimento da trilha do eletrodo até o pino de entrada do sensor não deve ser maior que 10cm. Quanto menor a trilha, menor capacitância parasita ela gera.
  • A distancia entre as trilhas dos eletrodos devem ser o dobro da espessura das mesmas.
  • Evite que a trilha passe por regiões de sinais de alta frequência, como barramentos de comunicações e antenas.
  • Não se deve colocar componentes próximos aos eletrodos nem abaixo deles.
  • Não se deve colocar planos de terra embaixo dos eletrodos. O ideal é que tenha apenas o próprio eletrodo sem planos abaixo.

 

Para quem usa o Eagle por exemplo, existem bibliotecas com botões prontos para serem usados nos projetos.

Porém se o intuito é apenas experimental, existem formas de eletrodos para serem testados, como faremos no exemplo abaixo!

Utilizando os sensores capacitivos no ESP32

Para utilizar os sensores capacitivos no ESP32, vamos usar a plataforma Arduino e vamos criar um exemplo que utilizará 3 sensores.

Para os testes, vamos fazer uma demonstração de como fazer a leitura do sinal do eletrodo, utilizando a placa de desenvolvimento da DFRobot, a FireBeetle ESP32, que foi gentilmente enviada para testes.

DFRobot Logo ESP32 FireBeetle ESP32Para adquirir uma, acesse o link: FireBeetle ESP32

Os pinos dos sensores capacitivos são:

Canal GPIO
T0 GPIO4
T1 GPIO0
T2 GPIO2
T3 GPIO15
T4 GPIO13
T5 GPIO12
T6 GPIO14
T7 GPIO27
T8 GPIO33
T9 GPIO32

 

Para fazer a leitura do sensor, basta utilizar o comando

onde [SENSOR] poderá ser o numero da GPIO ou o canal. Por exemplo o canal T0

ou

O retorno da função é um uint16 (inteiro de 16 bits sem sinal) com o valor da leitura do sensor. O valor  detectado para o toque, é o mais próximo do 0, sendo 15 o valor encontrado nos testes que fiz.

O ideal é fazer uma especie de calibração para garantir que o valor correspondente seja interpretado como toque.

Utilizando interrupção

Uma outra maneira de fazer a integração, é com o uso de interrupção. O uso de interrupção é indicado para uma melhor ação do sistema, já que a execução do código é interrompida para a execução da função chamada pela interrupção, e depois retomada a partir do ponto de parada.

Demonstração

Para a demonstração, vamos utilizar 3 sensores, onde cada sensor irá fazer o trigger de um som no buzzer, parecido com um instrumento musical.

Para a demonstração do sensor, vamos usar 3 objetos como eletrodo, como mostra o video abaixo:

Conclusão

O uso dos sensores capacitivos podem deixar o seu projeto com um aspecto mais interessante, podendo expandir as possibilidades. Existem inúmeras aplicações para sensores capacitivos, e podem ser usados como forma de entretenimento, demonstrações, teclados, entre outras aplicações.

 

Happy Hacking!

2 Comments

  1. Paulo Camuri

    Esses sensores capacitivos são realmente uma obra prima da tecnologia.
    Parabéns pela matéria Pedro. Continuo te acompanhando nas mídias.
    Um abraço.

    Reply
    1. Pedro Minatel (Post author)

      Obrigado, Paulo!!

      Abraços!

      Reply

Deixe seu comentário