- O que é um sensor capacitivo de toque e como ele funciona?
- Construindo um sensor de toque capacitivo de quatro vias
- Materiais necessários para o circuito controlado por toque ESP32
- Circuito de controle para nosso sensor capacitivo de toque
- Design PCB para o circuito do sensor de toque capacitivo
- Código Arduino para sensor de toque capacitivo baseado em ESP32
- Testando o circuito do sensor de toque baseado em ESP32
- Outras melhorias
Em muitos casos, sensores de toque são usados em vez de botões. A vantagem é que não precisamos fornecer força para pressionar um botão e podemos ativar uma tecla sem tocá-la usando sensores de toque. A tecnologia de detecção de toque está se tornando popular a cada dia. E na última década, tornou-se difícil imaginar o mundo sem eletrônicos sensíveis ao toque. Os métodos de toque resistivo e capacitivo podem ser empregados para desenvolver um sensor de toque e, neste artigo, discutiremos uma maneira rudimentar de fazer um sensor de toque capacitivo com ESP32. Anteriormente, também construímos um botão de toque capacitivo com Raspberry pi.
Embora os sensores de toque específicos da aplicação possam ser um pouco complicados, o princípio fundamental subjacente a esta tecnologia permanece o mesmo, portanto, neste artigo, vamos nos concentrar no desenvolvimento de nosso sensor de toque capacitivo com a ajuda de nosso ESP32 favorito e um pedaço de cobre. placa revestida.
No tutorial anterior, fizemos o controle de luzes caseiras com toque usando o sensor de toque TTP223 e o Arduino UNO. Agora, neste projeto, estamos construindo um sensor de toque para ESP32, mas o mesmo pode ser usado para o Arduino também. Além disso, usamos anteriormente métodos de entrada baseados em toque usando touch pads capacitivos com diferentes microcontroladores, como Touch Keypad Interfacing with ATmega32 Microcontroller e Capacitive TouchPad com Raspberry Pi, você também pode verificá-los se estiver interessado.
O que é um sensor capacitivo de toque e como ele funciona?
Capacitores vêm em várias formas. O mais comum já vem na forma de um pacote com chumbo ou de montagem em superfície, mas para formar uma capacitância, precisamos de condutores separados por um material dielétrico. Portanto, é fácil criar um. Um bom exemplo seria aquele que desenvolveremos no exemplo a seguir.
Considerando o PCB gravado como o material condutor, o adesivo está atuando como um material dielétrico, então agora a questão permanece, como tocar a almofada de cobre faz com que a capacitância mude de tal forma que o controlador do sensor de toque seja capaz de detectar? Um dedo humano, é claro.
Bem, existem principalmente duas razões: primeiro, uma inclui as propriedades dielétricas do nosso dedo, a segunda é por causa das propriedades condutoras do nosso dedo. Usaremos um toque capacitivo. Portanto, vamos voltar nosso foco para o sensor de toque capacitivo. Mas antes de discutirmos tudo isso, é importante observar que não há nenhuma condução ocorrendo, e o dedo é isolado, por causa do papel usado no adesivo. Então, o dedo não consegue descarregar o capacitor.
Dedo atuando como dielétrico:
É do conhecimento comum que um capacitor tem um valor constante que pode ser percebido pela área das duas placas condutoras, a distância entre as placas e sua constante dielétrica. Não podemos mudar a área do capacitor apenas tocando-o, mas podemos mudar a constante dielétrica do capacitor porque um dedo humano tem uma constante dielétrica diferente do material que o exibe. No nosso caso, é o ar, estamos deslocando o ar com nossos dedos. Se você está perguntando como? É porque a constante dielétrica do ar 1006 na temperatura ambiente ao nível do mar e a constante dielétrica do dedo é muito mais alta em torno de 80 porque um dedo humano consiste principalmente de água. Assim, a interação do dedo com o campo elétrico do capacitor causa um aumento na constante dielétrica, consequentemente a capacitância aumenta.
Agora que entendemos o principal, vamos prosseguir para a fabricação de PCBs reais.
Construindo um sensor de toque capacitivo de quatro vias
O sensor de toque capacitivo usado neste projeto tem quatro canais e é fácil de fazer. Abaixo mencionamos o processo detalhado para fazer um.
Primeiro, fizemos o PCB para o sensor com a ajuda da ferramenta de design Eagle PCB, que se parece com a imagem abaixo.
Com a ajuda das dimensões e do Photoshop, fizemos o template e por último o adesivo para o sensor, que se parece com a imagem abaixo,
Agora, quando terminamos com o adesivo, passamos a fazer o modelo de placa revestido real que usaremos para fazer nosso PCB, que se parece com a imagem abaixo,
Agora podemos imprimir este arquivo e prosseguir com os processos de fabricação de um PCB caseiro. SE você é novo, pode verificar o artigo sobre como construir PCB em casa. Você também pode baixar os arquivos PDF e Gerber necessários no link abaixo
- Arquivo GERBER para sensor de toque capacitivo de quatro canais
Uma vez feito isso, o Etched PCB real parece com a imagem abaixo.
Agora é hora de fazer alguns furos e conectar alguns fios ao PCB. Para que possamos conectá-lo com a placa ESP32. Uma vez feito isso, ele se parece com a imagem abaixo.
Como não colocamos via no PCB, a solda se espalhou durante a soldagem, retificamos nosso erro fazendo um furo no PCB, que você pode encontrar na seção de download acima. Finalmente, era hora de colocar o adesivo e finalizá-lo. Que se parece com a imagem abaixo.
Agora que concluímos o painel de toque, é hora de passarmos a fazer o circuito de controle para o painel de toque.
Materiais necessários para o circuito controlado por toque ESP32
Os componentes necessários para construir a seção do controlador usando ESP32 são fornecidos abaixo, você deve ser capaz de encontrar a maioria deles na loja local de hobby.
Também listei os componentes na tabela abaixo com o tipo e a quantidade necessária, uma vez que estamos conectando um sensor de toque de quatro canais e controlando quatro cargas CA, usaremos 4 relés para alternar a carga CA e 4 transistores para construir o relé circuitos de driver.
Sim. Não |
Peças |
Tipo |
Quantidade |
1 |
Retransmissão |
Interruptor |
4 |
2 |
BD139 |
Transistor |
4 |
3 |
Terminal Parafuso |
Terminal de parafuso 5mmx2 |
4 |
4 |
1N4007 |
Diodo |
5 |
5 |
0,1uF |
Capacitor |
1 |
6 |
100uF, 25V |
Capacitor |
2 |
7 |
LM7805 |
Regulador de voltagem |
1 |
8 |
1K |
Resistor |
4 |
9 |
560R |
Resistor |
4 |
10 |
LED âmbar |
CONDUZIU |
4 |
11 |
Cabeçalho Masculino |
Conector |
4 |
12 |
Cabeçalho Feminino |
Conector |
30 |
13 |
LED vermelho |
CONDUZIU |
1 |
14 |
ESP32 Dev Board V1 |
Placa ESP32 |
1 |
12 |
Clad Board |
Genérico 50x 50mm |
1 |
13 |
Jumper Wires |
Fios |
4 |
14 |
Fios de conexão |
Fios |
5 |
Circuito de controle para nosso sensor capacitivo de toque
A imagem abaixo mostra o diagrama de circuito completo para nosso sensor de toque baseado em ESP32.
Como você pode ver, é um circuito muito simples com o mínimo de componentes necessários.
Por ser um circuito sensor de toque simples, pode ser útil em locais onde você deseja interagir com um dispositivo via toque, por exemplo, em vez de usar um interruptor típico montado na placa, você pode ligar / desligar seus aparelhos com o toque.
No esquema, um conector de barril CC é usado como uma entrada onde fornecemos a energia necessária para alimentar o circuito, a partir daí temos nosso regulador de tensão 7805 que está convertendo a entrada CC não regulada em 5 V CC constante, através do qual estamos fornecendo a energia para o módulo ESP32.
A seguir, no esquema, temos nossos conectores de toque nos pinos 25, 26, 27, 28, onde vamos conectar o touchpad.
Em seguida, temos nossos relés que são comutados por meio de um transistor BD139, o diodo D2, D3, D4, D5 está lá para proteger o circuito de qualquer tensão transiente que é gerada quando o relé alterna, os diodos nesta configuração são conhecidos como diodo fly-back / diodo de roda livre. Os resistores 560R na base de cada transistor são usados para limitar o fluxo de corrente através da base.
Design PCB para o circuito do sensor de toque capacitivo
O PCB para nosso circuito de sensor de toque foi projetado para uma placa de um lado. Usamos o Eagle para projetar meu PCB, mas você pode usar qualquer software de design de sua escolha. A imagem 2D do nosso design de placa é mostrada abaixo.
Um diâmetro de traço suficiente foi usado para fazer os rastreamentos de energia, que são usados para fluir a corrente através da placa de circuito. Colocamos o terminal de parafuso na parte superior porque é muito mais fácil conectar sua carga dessa forma, e o conector de alimentação, que é um conector de barril CC, foi colocado na lateral, o que também dá fácil acesso. O arquivo completo do projeto do Eagle junto com o Gerber pode ser baixado do link abaixo.
- Arquivo GERBER para circuito de controle de sensor de toque baseado em ESP32
Agora que nosso projeto está pronto, é hora de gravar e soldar a placa. Depois que o processo de gravação, perfuração e soldagem estiver concluído, a placa se parece com a imagem mostrada abaixo,
Código Arduino para sensor de toque capacitivo baseado em ESP32
Para este projeto, programaremos o ESP32 com um código personalizado que descreveremos em breve. O código é muito simples e fácil de usar, Começamos definindo todos os pinos necessários, no nosso caso, definimos os pinos para nossos sensores de toque e relés.
#define Relay_PIN_1 15 #define Relay_PIN_2 2 #define Relay_PIN_3 4 #define Relay_PIN_4 16 #define TOUCH_SENSOR_PIN_1 13 #define TOUCH_SENSOR_PIN_2 12 #define TOUCH_SENSOR_PIN_3 14 #define TOUCH_SENSOR_PIN_1 13 #define TOUCH_SENSOR_PIN_2 12 #define TOUCH_SENSOR_PIN_3 14 #define TOUCH4_SOR_PIN 27
A seguir, na seção de configuração, começamos inicializando o UART para depuração; em seguida, introduzimos um atraso de 1S que nos dá um pouco de tempo para abrir uma janela Serial Monitor. Em seguida, usamos a função pinMode do Arduinos para fazer os pinos do relé como saída, o que marca o final da seção Setup () .
configuração vazia () {Serial.begin (115200); atraso (1000); pinMode (Relay_PIN_1, OUTPUT); pinMode (Relay_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relay_PIN_4, OUTPUT); }
Começamos nossa seção de loop com uma instrução if , a função interna touchRead (pin_no) é usada para determinar se um pino foi tocado ou não. A função touchRead (pin_no) retorna uma faixa de valores inteiros (0 - 100), o valor fica próximo a 100 o tempo todo, mas se tocarmos no pino selecionado, o valor cai para perto de zero e com a ajuda da alteração do valor, podemos determinar se o pino específico foi tocado por um dedo ou não.
Na instrução if , estamos verificando qualquer alteração nos valores inteiros e, se o valor chegar abaixo de 28, podemos ter certeza de que reconhecemos um toque. Assim que a instrução if se tornar verdadeira, esperamos 50ms e verificamos o parâmetro novamente, isso nos ajudará a determinar se o valor do sensor foi acionado de forma errada, depois disso, invertemos o status do pino usando o digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) método, e o resto do código permanece o mesmo.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Sensor um é tocado"); digitalWrite (Relay_PIN_1,! digitalRead (Relay_PIN_1)); }} else if (touchRead (TOUCH_SENSOR_PIN_2) <28) {if (touchRead (TOUCH_SENSOR_PIN_2) <28) {Serial.println ("Sensor Dois foi tocado"); digitalWrite (Relay_PIN_2,! digitalRead (Relay_PIN_2)); }} else if (touchRead (TOUCH_SENSOR_PIN_3) <28) {if (touchRead (TOUCH_SENSOR_PIN_3) <28) {Serial.println ("Sensor Três é tocado"); digitalWrite (Relay_PIN_3,! digitalRead (Relay_PIN_3)); }} else if (touchRead (TOUCH_SENSOR_PIN_4) <28) {if (touchRead (TOUCH_SENSOR_PIN_4) <28) {Serial.println ("Sensor Quatro é tocado"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Finalmente, terminamos nosso código com mais 200 ms de atraso de bloqueio.
Testando o circuito do sensor de toque baseado em ESP32
Como este é um projeto muito simples, o conjunto de teste é muito simples, como você pode ver, eu conectei 4 LEDs com resistores que estão atuando como cargas, como está conectado ao relé, você pode facilmente conectar qualquer carga até 3Amps.
Outras melhorias
Embora o PCB seja simples, ainda há espaço para melhorias, como você pode ver na parte inferior do PCB real, conectei muitos resistores na tentativa de conectar quatro LEDs de indicação e o tamanho do PCB também pode ser reduzido se isso torna-se um requisito, Espero que você tenha gostado do artigo e aprendido algo útil. Se você tiver alguma dúvida, pode deixá-la na seção de comentários abaixo ou usar nossos fóruns para postar outras questões técnicas.