Utilizando um touch capacitivo no Raspberry PI

Fala galera!

Hoje irei demonstrar de um jeito fácil e simples de como utilizar um sensor touch, em um próximo post farei um projeto usual utilizando o sensor touch, esse vale mais para aprendizado de como deve ser conectado e seu funcionamento.
Para quem acompanha, fiz a compra do modelo TTP223B no site do FilipeFlop, que é esse ai abaixo:

touch_1
A conexão dele é bem simples assim como o de sensor de chuva explicado anteriormente. No sensor que vem do FilipeFlop vem descrita a pinagem entre (SIG -> sinal IN) , (GND -> ground) , (VCC -> entrada de energia , que no caso estou utilizando a saída de 5v PINO 2 do Raspberry)

Optei por colocar o touch em pé na protobard simplesmente pelo fato de ficar bem preso e não ficar escorregando na mesa:
DSC_0146

Sempre lembrando de colocar o resistor no negativo, ao conectar o VCC e o GND o LED verde irá acender na placa informando que está tudo funcionando corretamente, ai é só conectar o um pino do Raspberry na entrada SIG e ele ja está pronto para enviar as informações, que são bem simples: HIGH ou 1 , indica que algo está no sensor touch , LOW ou 0 indica que nada está tocando o mesmo.

Como exemplo faremos uma brincadeira de acender um LED a cada vez que tocar no sensor o LED acenderá.

Na imagem da protoboard acima, eu coloquei o negativo pai na linha do (-) e joguei o resistor na primeira linha da protoboard e utilizei a linha para conectar os 2 negativos assim não gasto 2 resistores e deixo tudo centralizado.

Para isso faremos utilizaremos o PINO 7 para entrada do touch e o pino 8 para a saída do LED, sempre lembrando de colocar o resistor no negativo para não queimar o LED ou o componente em questão, e acreditem o LED queima mesmo!

 

Raspberry-Pi-GPIO-Layout-Revision-2

O código em si é bem simples:

import RPi.GPIO as GPIO   
import time
def main():
        GPIO.setmode(GPIO.BOARD); 
        GPIO.setwarnings(False);
        GPIO.cleanup();
        GPIO.setup(8,GPIO.OUT);
        GPIO.setup(7,GPIO.IN);
        while (True):
                if(GPIO.input(7)  == 0 ):
                        GPIO.output(8,0);

                if(GPIO.input(7) == 1):
                        GPIO.output(8,1);
        time.sleep(0.5);
if __name__ == "__main__":
   main()

O que esse código acima faz é simplesmente pega o estado do Pino 7 (touch) verifica se é 0 ou 1, caso seja 1 acende o LED , ou zero apaga assim como no vídeo abaixo:


Espero que tenham gostado e até o próximo POST.