Código de Pesquisa

Usando um módulo de toque TTP223B e um relé para controlar cargas CA/CC com um Arduino

Usando um módulo de toque TTP223B e um relé para controlar cargas CA/CC com um Arduino

Neste tutorial, exploraremos como usar o módulo de toque capacitivo TTP223B em conjunto com um relé para controlar cargas AC ou DC usando um Arduino. O módulo TTP223B atua como sensor de toque, permitindo ativar ou desativar um relé com um simples toque. Essa configuração pode ser usada para várias aplicações, como controlar luzes ou outros dispositivos eletrônicos remotamente.

Schematic of TTP223 module
Arduino wring for TTP223 Touch sensor with relay
TTP223 Touch module - Top view
TTP223 Touch module - Top view

O resultado deste projeto será um sistema de controle por toque eficiente e fácil de usar para os seus dispositivos elétricos. Passaremos pelos componentes de hardware necessários, instruções de fiação e explicações do código para ajudá-lo a configurar seu projeto sem problemas. Para mais esclarecimentos, você também pode consultar o vídeo (no vídeo em 00:00).

Hardware Explicado

Os principais componentes usados neste projeto incluem o módulo de toque TTP223B e um relé. O TTP223B é um sensor de toque capacitivo que detecta a entrada de toque e fornece um sinal alto ou baixo. Ele opera em 2.0V a 5.5V, tornando-o compatível com a lógica de 5V do Arduino. Quando a área sensível ao toque é ativada, o módulo envia um sinal ao Arduino, que pode então controlar o relé.

O relé funciona como um interruptor que pode controlar dispositivos de alta tensão. Ele permite que o sinal de baixa tensão do Arduino controle cargas de maior tensão em CA ou CC. Essa separação garante que o Arduino permaneça seguro ao controlar dispositivos maiores. O relé normalmente requer uma pequena corrente para ativar, que é facilmente fornecida pelo Arduino.

Detalhes da ficha técnica

FabricanteDesconhecido
Número da peçaTTP223B
Tensão lógica/E/S2.0 - 5.5 V
Tensão de alimentação2,0 - 5,5 V
Corrente de saída20 mA máx.
Tipo de saídaDigital alto/baixo
Tempo de resposta60 ms típico.
Temperatura de operação-20 a 85 °C
PacoteTO-92
Notas / variantesDiversas configurações de sensibilidade

  • Garanta a alimentação adequada (2.0 - 5.5 V).
  • Preste atenção às configurações de sensibilidade ao toque.
  • Use um transistor para acionar relés de alta corrente.
  • Mantenha a fiação curta para evitar interferência de sinal.
  • Teste primeiro o funcionamento do relé com dispositivos de baixa tensão.

Instruções de Fiação

Para ligar o módulo de toque TTP223B e o relé ao seu Arduino, siga estes passos:

Primeiro, conecte oVCCpino do TTP223B para o pino 5V do Arduino e oGNDpino ao terra. Em seguida, conecte o pino de saída do TTP223B (normalmente rotuladoOUT) para o pino digital 2 no Arduino. Para o relé, conecte o pino de controle ao pino digital 10 no Arduino. O VCC e o GND do relé também devem ser conectados aos 5V e ao terra do Arduino, respectivamente. Por fim, conecte o circuito de carga ao relé conforme as especificações do relé.

Certifique-se de que todas as conexões estão seguras e verifique novamente a fiação do relé para evitar qualquer curto-circuito. Se estiver usando um módulo de relé, consulte a documentação do módulo para instruções específicas de fiação.

Exemplos de Código e Guia Passo a Passo

Abaixo está uma parte do código Arduino que configura o sensor de toque TTP223B e controla o relé:

int LD = 200; // Loop Delay. Controls how long after release the bulb is ON

void setup() {
    Serial.begin(9600);
    pinMode(10, OUTPUT); // LED for button 1
    pinMode(2, INPUT);   // Button 1 input pin 2  
    Serial.println("Robojax Test: TTP223B touch");
}

Neste excerto, a variávelLDé definido para controlar quanto tempo o relé permanece ativo após a detecção do toque. Osetup()A função inicializa a comunicação serial e configura os pinos para saída e entrada.

void loop() {
    if(digitalRead(2)) {
        Serial.println("Button Touched"); 
        digitalWrite(10, LOW); // Turn the LED ON     
        delay(LD); 
    } else {
        digitalWrite(10, HIGH); // Turn OFF the LED
    }
}

Oloop()A função verifica se o sensor de toque está ativado lendo o estado do pino 2. Se o toque for detectado, ela imprime uma mensagem no monitor serial e ativa o relé conectado ao pino 10. Após o atraso definido, ela desliga o relé.

Demonstração / O que esperar

Após completar a fiação e enviar o código, tocar no módulo TTP223B deve ativar o relé, ligando a carga conectada. Você deve ver a mensagem "Button Touched" no monitor serial sempre que o toque for detectado (no vídeo em 05:00). Se o relé não ativar, verifique novamente suas conexões e certifique-se de que o relé está funcionando corretamente.

Erros comuns incluem atribuições incorretas de pinos e falhas na fiação, que podem impedir o relé de funcionar conforme o previsto. Tenha cuidado com a tensão e a corrente da carga para evitar danificar o relé ou o Arduino.

Marcas de tempo do vídeo

  • 00:00- Introdução
  • 05:00- Demonstração de controle por toque
  • 07:30- Guia passo a passo de fiação

Imagens

Arduino wring for TTP223 Touch sensor with relay (blue)
Arduino wring for TTP223 Touch sensor with relay (blue)
Arduino wring for TTP223 Touch sensor with relay
Arduino wring for TTP223 Touch sensor with relay
TTP223 Touch module - Top view
TTP223 Touch module - Top view
TTP223 Touch module - back view
TTP223 Touch module- back view
TTP223 Touch module - Top view
TTP223 Touch module - Top view
TTP223 Touch module - back view
TTP223 Touch module - back view
Schematic of TTP223 module
Schematic of TTP223 module
21-TTP223B capacitive touch sensor with relay and AC load code
Idioma: C++
/*
 * Este é o código Arduino para o interruptor de toque capacitivo TTP223B com relé.  
 * O pino de saída 10 está conectado ao relé.  
 * Ao tocar no touch pad TTP223B ou TTP223N-BA6, o relé será ativado.  
 * 
 * Escrito por Ahmad Nejrabi para Roboja Video.  
 * Data: 4 de dezembro de 2017, em Ajax, Ontário, Canadá.  
 * Permissão concedida para compartilhar este código, desde que esta  
 * nota seja mantida com o código.  
 * Isenção de responsabilidade: Este código está "COMO ESTÁ" e é apenas para fins educacionais.
 */
 int LD = 200; // Atraso do Loop. Controla quanto tempo após a liberação a lâmpada fica ACESA.

void setup() {
    Serial.begin(9600);
 // pinos de saída
    pinMode(10, OUTPUT); // LED para botão 1


 // pinos de entrada
    pinMode(2, INPUT); // Botão 1 entrada pino 2



    Serial.println("Robojax Test: TTP223B touch");

}

void loop() {

 // ação do botão 1
    if(digitalRead(2)){
      Serial.println("Button Touched");
      digitalWrite(10, LOW); // Ligue o LED.
      delay(LD);
    }else{
      digitalWrite(10, HIGH); // Desligue o LED
    }


} // laço
29-How to turn on an AC bulb with a TTP223 capacitive touch Arduino and relay code
Idioma: C++
/*
 * Este é o código Arduino para o interruptor TTP223 de toque capacitivo com relé para ligar ou desligar carga AC ou DC.  
 * // 13 de dezembro de 2017  
 * // Escrito para o vídeo do Robojax.com  
 * // Usando o módulo de toque TTP223 para ligar ou desligar a carga AC (ou DC).  
 * // Quando o painel de toque é acionado, a luz no relé se acenderá e os pinos COM e NO serão conectados  
 * assista ao vídeo para mais detalhes https://youtu.be/YSI1PdSLbt0  
 * 
 * Escrito por Ahmad Nejrabi para o vídeo do RoboJax  
 * Data: 4 de dezembro de 2017, em Ajax, Ontário, Canadá  
 * Permissão concedida para compartilhar este código desde que  
 * essa nota seja mantida junto com o código.  
 * Isenção de responsabilidade: este código é "COMO ESTÁ" e para fins educacionais apenas.  
 * 
 * /  
 * 
 * // 12 de dezembro de 2017  
 * // Escrito para o vídeo do Robojax.com  
 * // Usando o módulo de toque TTP223 para ligar ou desligar a carga AC (ou DC).  
 * // Quando o painel de toque é acionado, a luz no relé se acenderá e os pinos COM e NO serão conectados
 */
int touchPin = 2; // conecte a saída do TTP223 a isso
int val = 0;
int relayPin = 10; // Conectado ao relé



void setup() {
  Serial.begin(9600);
  pinMode(touchPin, INPUT);
  pinMode(relayPin, OUTPUT);

}

void loop() {
  digitalWrite(relayPin, HIGH);
  val = digitalRead(touchPin);
  if(val ==1){
    Serial.println("Touched");
    digitalWrite(relayPin, LOW);

  }
  delay(100);
  Serial.println();
}
30-TTP223 Capacitive Touch Arduino with relay code and a 5-second delay
Idioma: C++
/*
 * Este é o código Arduino para o switch capacitivo TTP223 com relé para acionar carga AC ou DC com atraso.
 * // 13 de dezembro de 2017
 * // Escrito para o vídeo do Robojax.com
 * // Usando o módulo TTP223 Touch para ligar uma carga AC (ou DC) e espera 5 segundos antes de desligar
 * // Quando o pad de toque é tocado, a luz no relé se acende e os pinos COM e NO serão conectados
 * Assista ao vídeo para mais detalhes: https://youtu.be/YSI1PdSLbt0
 * 
 * Escrito por Ahmad Nejrabi para o vídeo do RoboJax
 * Data: 4 de dezembro de 2017, em Ajax, Ontário, Canadá
 * Permissão concedida para compartilhar este código desde que este
 * aviso seja mantido com o código.
 * Isenção de responsabilidade: Este código é "COMO ESTÁ" e apenas para fins educacionais.
 * 
 * /
 * 
 * // 12 de dezembro de 2017
 * // Escrito para o vídeo do Robojax.com
 * // Usando o módulo TTP223 Touch para ligar ou desligar uma carga AC (ou DC).
 * // Quando o pad de toque é tocado, a luz no relé se acende e os pinos COM e NO serão conectados.
 */
int touchPin = 2; // conecte a saída do TTP223 a isso
int val = 0;
int relayPin = 10; // Conectado ao relé
int wait = 5; // espere por 5 segundos


void setup() {
  Serial.begin(9600);
  pinMode(touchPin, INPUT);
  pinMode(relayPin, OUTPUT);

}

void loop() {
  digitalWrite(relayPin, HIGH);
  val = digitalRead(touchPin);
  if(val ==1){
    Serial.println("Touched");
    digitalWrite(relayPin, LOW);
    delay(wait*1000);
  }
  delay(100);
  Serial.println();
}

Recursos e referências

Ainda não há recursos.

Arquivos📁

Folha de dados (pdf)