Franzininho WiFi: Pinos de Toque Capacitivo com CircuitPython

Este post faz parte da série Franzininho WiFi - CircuitPython. Leia também os outros posts da série:

A capacitância pode ser definida, basicamente, como a capacidade de um corpo de armazenar energia elétrica. Dessa maneira, os pinos de toque capacitivo detectam a mudança na capacitância de um elemento. Esses pinos, podem ser utilizados por toque, e até mesmo, pela aproximação de um dedo.

Neste exemplo, vamos fazer um “interruptor” por aproximação e, aprender como usar o módulo responsável pelos pinos de toque capacitivo. Ademais, veremos como ajustar a sensibilidade desse recurso.

Materiais necessários 

  • 1 Placa Franzininho WiFi com CircuitPython;
  • 1 Protoboard; 
  • 1 LED;
  • 1 resistor de 220 Ω ou 330 Ω;
  • Jumpers.

Circuito

Realize a seguinte montagem para este projeto. No lugar do “sensor” de toque capacitivo, pode ser utilizado um jumper, um pedaço de fio ou qualquer outro material.

Código

Implemente o código abaixo e teste seu circuito.

Após finalizar a edição do código, salve-o. Execute o programa. Ao aproximar, ou, encostar o dedo no “sensor” escolhido por você, ele deve funcionar como um interruptor, ligando e desligando o LED.

Análise do Código

Para acessarmos os pinos da placa devemos importar o módulo board:

Além disso, para o uso dos pinos de toque capacitivo, usaremos a biblioteca touchio:

E, para configurarmos o LED como uma saída digital, temos que importar as funções DigitalInOut e Direction do módulo digitalio:

Por último, vamos chamar a função sleep do módulo time, que usaremos para intervalos de temporização:

Após importarmos as bibliotecas necessárias, criaremos uma variável estado, que vai armazenar o estado do LED:

Agora, vamos configurar o GPIO1, como um pino touch. Primeiro, iremos atribuir esse pino a uma variável, no caso, a variável pin. Após isso, iremos criar o objeto touch e atribuir o pin a esse objeto:

Ademais, iremos atribuir o GPIO4 a varável led e, configurá-lo como uma saída digital:

Na sequência, criaremos um laço infinito (while True). Dentro do loop, verificamos se houve mudança na capacitância do “sensor”. Caso aconteça a mudança, o estado do led também mudará:

Como ajustar a sensibilidade do touch?

Nesse exemplo, estamos acionando o led apenas por aproximar o dedo. Porém, pode ser que você deseje ajustar o seu “sensor” para acionar por toque. Para isso, vamos utilizar o comando threshold

Primeiro, vamos verificar a medição do toque bruto. Para isso, utilizaremos a função raw_value.  Depois, ajustaremos a sensibilidade, para que ele seja acionado apenas por toque:

Após adicionarmos a função threshold, o led só é acionado se tocarmos o “sensor”. Isso acontece pois o configuramos com uma sensibilidade menor, ou seja, um valor mínimo de capacitância maior, para que a mudança seja percebida pela placa.

Conclusão

Aprendemos, através de um exemplo prático, a como usar um pino toque capacitivo, que, em muitas situações pode ser usado para substituir botões e interruptores, por exemplo, apresentando-se como uma solução mais simples, pois seu funcionamento não é mecânico. Além disso, pudemos ver como ajustar a sensibilidade desse sensor as nossas necessidades.

Saiba mais

Hello World com a Franzininho WiFi no CircuitPython

Nova Franzininho WiFI: Chegamos na versão final!

Outros artigos da série

<< Hello World com a Franzininho WiFi no CircuitPythonFranzininho WiFi: PWM com CircuitPython >>

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Home » Software » Franzininho WiFi: Pinos de Toque Capacitivo com CircuitPython
Comentários:
Notificações
Notificar
guest
2 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Djan Rosário
10/05/2022 11:02

o diagrama mostra o led ligado ao pino 2, mas o código aponta para o GPIO4. É isso mesmo?

Talvez você goste:
Menu