Code de recherche

Utilisation d'un module tactile TTP223B et d'un relais pour contrôler des charges AC/DC avec un Arduino

Utilisation d'un module tactile TTP223B et d'un relais pour contrôler des charges AC/DC avec un Arduino

Dans ce tutoriel, nous allons explorer comment utiliser le module tactile capacitif TTP223B en conjonction avec un relais pour contrôler des charges AC ou DC à l'aide d'un Arduino. Le module TTP223B agit comme un capteur tactile, vous permettant d'activer ou de désactiver un relais d'une simple touche. Cette configuration peut être utilisée pour diverses applications, comme contrôler des lumières ou d'autres appareils électroniques à distance.

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

Le résultat de ce projet sera un système de commande tactile efficace et facile à utiliser pour vos appareils électriques. Nous passerons en revue les composants matériels nécessaires, les instructions de câblage et les explications du code pour vous aider à configurer votre projet en toute simplicité. Pour de plus amples précisions, vous pouvez également vous référer à la vidéo (dans la vidéo à 00:00).

Le matériel expliqué

Les principaux composants utilisés dans ce projet incluent le module tactile TTP223B et un relais. Le TTP223B est un capteur tactile capacitif qui détecte les entrées tactiles et génère un signal haut ou bas. Il fonctionne de 2,0 V à 5,5 V, ce qui le rend compatible avec la logique 5 V d'Arduino. Lorsque la zone tactile est activée, le module envoie un signal à l'Arduino, qui peut alors commander le relais.

Le relais sert de commutateur capable de contrôler des appareils à haute tension. Il permet au signal basse tension de l'Arduino de commander des charges AC ou DC de tension plus élevée. Cette séparation garantit que l'Arduino reste protégé tout en commandant des appareils plus puissants. Le relais nécessite généralement un faible courant pour s'activer, qui est facilement fourni par l'Arduino.

Détails de la fiche technique

FabricantInconnu
Numéro de pièceTTP223B
Tension logique / E/S2.0 - 5.5 V
Tension d'alimentation2.0 - 5.5 V
Courant de sortie20 mA max
Type de sortieNiveau logique haut/bas
Temps de réponse60 ms typ.
Température de fonctionnement-20 à 85 °C
PaquetTO-92
Notes / variantesDivers paramètres de sensibilité

  • Assurez-vous d'une alimentation appropriée (2.0 - 5.5 V).
  • Faites attention aux paramètres de sensibilité tactile.
  • Utilisez un transistor pour piloter des relais à courant élevé.
  • Gardez le câblage court pour éviter les interférences du signal.
  • Testez d'abord le fonctionnement du relais avec des appareils basse tension.

Instructions de câblage

Pour câbler le module tactile TTP223B et le relais à votre Arduino, suivez ces étapes :

Tout d'abord, connectez leVCCla broche du TTP223B à la broche 5V de l'Arduino et leGNDBranchez la broche à la masse. Ensuite, connectez la broche de sortie du TTP223B (généralement étiquetéeOUT) à la broche numérique 2 de l'Arduino. Pour le relais, connectez la broche de commande à la broche numérique 10 de l'Arduino. Le VCC et le GND du relais doivent également être reliés au 5V et à la masse de l'Arduino, respectivement. Enfin, connectez le circuit de charge au relais conformément aux spécifications du relais.

Assurez-vous que toutes les connexions sont bien fixées et revérifiez le câblage du relais pour éviter tout court-circuit. Si vous utilisez un module de relais, consultez la documentation du module pour les instructions de câblage spécifiques.

Exemples de code et tutoriel pas à pas

Voici une portion du code Arduino qui configure le capteur tactile TTP223B et contrôle le relais :

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");
}

Dans cet extrait, la variableLDest défini pour contrôler la durée pendant laquelle le relais reste actif après la détection du contact tactile. Lesetup()La fonction initialise la communication série et configure les broches en sortie et en entrée.

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
    }
}

Leloop()La fonction vérifie si le capteur tactile est activé en lisant l'état de la broche 2. Si le toucher est détecté, elle affiche un message dans le moniteur série et active le relais connecté à la broche 10. Après le délai défini, elle désactive le relais.

Démonstration / À quoi s'attendre

Une fois le câblage terminé et le code téléversé, toucher le module TTP223B devrait activer le relais et alimenter la charge connectée. Vous devriez voir le message "Bouton touché" dans le moniteur série chaque fois que le toucher est détecté (dans la vidéo à 05:00). Si le relais ne s'active pas, vérifiez vos connexions et assurez-vous que le relais fonctionne correctement.

Les écueils courants incluent des affectations de broches incorrectes et des erreurs de câblage, qui peuvent empêcher le relais de fonctionner comme prévu. Faites attention aux caractéristiques de tension et d'intensité de la charge pour éviter d'endommager le relais ou l'Arduino.

Horodatages vidéo

  • 00:00- Introduction
  • 05:00- Démonstration du contrôle tactile
  • 07:30- Guide de câblage

Images

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
Langue: C++
/*
 * Voici le code Arduino pour l'interrupteur tactile capacitif TTP223B avec relais. La broche de sortie 10 est connectée au relais. En touchant le pad tactile TTP223B ou TTP223N-BA6, le relais sera activé.
 * 
 * Écrit par Ahmad Nejrabi pour Roboja Video. Date : 4 décembre 2017, à Ajax, Ontario, Canada. Autorisation accordée pour partager ce code, à condition que cette note soit conservée avec le code. Avertissement : Ce code est fourni "TEL QUEL" et uniquement à des fins éducatives.
 */
 int LD = 200; // Délai de boucle. Contrôle la durée pendant laquelle l'ampoule reste allumée après le relâchement.

void setup() {
    Serial.begin(9600);
 // broches de sortie
    pinMode(10, OUTPUT); // LED pour le bouton 1


 // broches d'entrée
    pinMode(2, INPUT); // Bouton 1 broche d'entrée 2



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

}

void loop() {

 // action du bouton 1
    if(digitalRead(2)){
      Serial.println("Button Touched");
      digitalWrite(10, LOW); // Allumez la LED
      delay(LD);
    }else{
      digitalWrite(10, HIGH); // Éteindre la LED
    }


} // boucle
29-How to turn on an AC bulb with a TTP223 capacitive touch Arduino and relay code
Langue: C++
/*
 * Voici le code Arduino pour l'interrupteur tactile capacitif TTP223 avec relais pour activer ou désactiver une charge AC ou DC.
 * // 13 décembre 2017
 * // Écrit pour la vidéo de Robojax.com
 * // Utilisation du module tactile TTP223 pour activer ou désactiver une charge AC (ou DC).
 * // Lorsque la surface tactile est touchée, la lumière sur le relais s'allume et les broches COM et NO seront connectées
 * regardez la vidéo pour plus de détails https://youtu.be/YSI1PdSLbt0
 * 
 * Écrit par Ahmad Nejrabi pour la vidéo de RoboJax
 * Date : 4 décembre 2017, à Ajax, Ontario, Canada
 * Permission accordée pour partager ce code à condition que cette
 * note soit conservée avec le code.
 * Avertissement : ce code est "EN L'ÉTAT" et uniquement à des fins éducatives.
 * 
 * /
 * 
 * // 12 décembre 2017
 * // Écrit pour la vidéo de Robojax.com
 * // Utilisation du module tactile TTP223 pour activer ou désactiver une charge AC (ou DC).
 * // Lorsque la surface tactile est touchée, la lumière sur le relais s'allume et les broches COM et NO seront connectées
 */
int touchPin = 2; // connecter la sortie du TTP223 à ceci
int val = 0;
int relayPin = 10; // Connecté au relais



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
Langue: C++
/*
 * Voici le code Arduino pour l'interrupteur tactile capacitif TTP223 avec relais pour activer une charge AC ou DC avec un délai  
 * // 13 décembre 2017  
 * // Écrit pour la vidéo de Robojax.com  
 * // Utilisation du module tactile TTP223 pour activer une charge AC (ou DC) et attend 5 secondes avant de s'éteindre  
 * // Lorsque la plaque tactile est touchée, la lumière du relais s'allume et les broches COM et NO seront connectées  
 * Regardez la vidéo pour plus de détails : https://youtu.be/YSI1PdSLbt0  
 * 
 * Écrit par Ahmad Nejrabi pour la vidéo RoboJax  
 * Date : 4 décembre 2017, à Ajax, Ontario, Canada  
 * Autorisation accordée de partager ce code à condition que cette  
 * note soit conservée avec le code.  
 * Avertissement : Ce code est "TEL QUEL" et uniquement à des fins éducatives.  
 * 
 * /  
 * 
 * // 12 décembre 2017  
 * // Écrit pour la vidéo de Robojax.com  
 * // Utilisation du module tactile TTP223 pour activer ou désactiver une charge AC (ou DC).  
 * // Lorsque la plaque tactile est touchée, la lumière du relais s'allume et les broches COM et NO seront connectées
 */
int touchPin = 2; // connecter la sortie du TTP223 à cela
int val = 0;
int relayPin = 10; // Connecté au relais
int wait = 5; // attendre 5 secondes


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();
}

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Fiche technique (pdf)