banner
Centro de notícias
A fidelidade de nossos clientes é um testemunho da qualidade de nossos produtos.

Transforme qualquer pino Pico em um sensor de toque capacitivo com este código simples

Apr 11, 2023

Embora existam outras tecnologias de detecção de toque, a detecção de toque capacitiva é de longe a mais popular atualmente. Seu smartphone usa uma tela sensível ao toque capacitiva, seu laptop usa um touch pad capacitivo e muitos dispositivos usam botões capacitivos em vez de botões mecânicos convencionais. Se você já pensou em adicionar toque capacitivo a um de seus projetos, provavelmente já viu hardware projetado para essa finalidade. Mas você pode não precisar de nenhum hardware especial. Se você estiver usando uma placa de desenvolvimento Raspberry Pi Pico, poderá usar o código simples de James Brown para transformar qualquer pino em um sensor de toque capacitivo.

Como o nome sugere, um sensor de toque capacitivo depende da capacitância. Isso se refere à capacidade de um sistema de armazenar uma carga elétrica, como em um capacitor. Mas circuitos mais simples exibem uma pequena quantidade de capacitância e isso muda com base na proximidade de objetos condutores, como dedos. Você deve ter notado que algumas telas sensíveis ao toque registram um toque antes mesmo de seu dedo fazer contato. Isso ocorre porque a sensibilidade deles é alta e apenas mover o dedo nas proximidades aciona uma mudança detectável na capacitância. O código de Brown usa o hardware integrado do Raspberry Pi Pico para executar a mesma função e funciona com qualquer pino GPIO.

O código primeiro define um pino para uma saída e o puxa para baixo. Em seguida, ele imediatamente muda o mesmo pino para uma entrada com o resistor pull-up interno ativo. Há um pequeno delta de tempo entre os dois eventos e isso muda com base em um dedo que afeta a capacitância. O PIO (entrada/saída programável) do Pico mede o delta e todo o processo se repete cerca de 60 vezes por segundo. O código retorna um valor entre 0 e 1 com base no delta, sendo 0 nenhuma diferença detectável da norma e 1 sendo uma diferença muito forte. Os usuários podem escolher um limite para acionar uma ação, que deve corresponder a alguém tocando um pedaço de material condutor conectado a esse pino GPIO específico.

O código de Brown destina-se a funcionar apenas para botões capacitivos e não será adequado para touch pads capacitivos 2D ou telas sensíveis ao toque. Mas deve ser muito útil para quem usa um Raspberry Pi Pico e gostaria de adicionar botões capacitivos ao seu próximo projeto.