fbpx
1 de julho de 2022

Do bit Ao Byte

Embarcados, Linux e programação

Sensor capacitivo – dois tipos diferentes

sensor capacitivo

Esse post é mais informativo do que técnico, porque adquiri um sensor capacitivo que é um pouco diferente. Normalmente o sensor reage ao toque e seu estado muda apenas nesse momento. É o mais comum, até onde sei. O que adquiri é um pouco diferente; ele guarda o estado. Quando pressionado 1 vez, um backlight se acende e seu estado é mantido em HIGH. Quando tocado novamente, seu estado muda para LOW e o backlight se apaga.

Sensor capacitivo de momento

Na imagem de destaque vemos ambos os sensores. O vermelho vem sem nenhum acoplamento, ficando por conta da implementação no projeto. Ele não possui LED, já que seu propósito é estado do momento em que é tocado. Para projetos que usam temporização ou interrupção, pode ser o mais adequado. Seu custo é bastante baixo e seu tamanho é praticamente o tamanho da polpa dos dedos. Conecta-se o VCC, GND e OUT, sendo que OUT pode ir a um pino digital ou analógico.

Já escrevi sobre ele anteriormente, com título “Sensor de toque para acender lâmpadas“. Não foi um bom título, admito.

Sensor capacitivo de estado

Esse sensor capacitivo da imagem de destaque têm luz verde, mas existem outras cores dele. Por preservar o estado, não é adequado para temporização, mas é bastante útil em substituição à uma variável de estado, já que a qualquer momento ele pode ser consultado diretamente no pino. Do mesmo modo, sua conexão se dá por VCC, GND e OUT, tendo como ponto negativo, o custo. Ele custa um bocado.

No pacote estão o sensor e o acoplamento acrílico, já com fita dupla face, bastando colá-la ao sensor. Os pinos já vem soldados.

Código de teste

Sei que para qualquer um que use “qualquer” MCU, esse código é desnecessário e insignificante. Porém, testei no ESP8266 e é a prova da forma que foi testado.

void setup() { 
  Serial.begin(115200); 

} 
 
void loop() { 
  uint16_t value = analogRead(0); 
  Serial.println(value); 
  delay(300); 

}

Em contrapartida, consigo discorrer um pouco mais sobre o tema.

Nesse código estou fazendo “polling”, analisando o estado a cada ciclo da função loop(). Porém, se houvesse outras rotinas sendo executadas dentro da função, poderia ocorrer indisponibilidade. Assim sendo, fica claro que para o sensor capacitivo de momento, é adequado tratá-lo com interrupção em um pino digital, exceto esteja usando um RTOS, que supriria satisfatoriamente a questão do tempo de atendimento. Já nesse caso, seria necessário criar uma task, que talvez seja um “tiro de canhão em uma mosca”.

Utilizando o sensor capacitivo de estado, um atraso no atendimento da interrupção seria aceitável, desde que o projeto aceite esse comportamento. Por isso, na hora de adquirir seu sensor capacitivo, fique de olho se ele atende seu projeto!

Vídeo

Não sei se vou fazer um vídeo ou um short deles, já que não tem tanto o que mostrar, mas de qualquer modo, inscreva-se em nosso canal DobitaobyteBrasil no Youtube! Vou ficar bem feliz, garanto.