Contrôlez une ampoule AC avec n'importe quelle télécommande infrarouge à l'aide d'un Arduino et d'un relais.

Contrôlez une ampoule AC avec n'importe quelle télécommande infrarouge à l'aide d'un Arduino et d'un relais.

Dans ce tutoriel, nous allons apprendre à utiliser une télécommande infrarouge pour faire fonctionner une ampoule à courant alternatif via un Arduino et un module de relais. Ce projet implique le décodage des signaux de la télécommande et leur utilisation pour contrôler le relais, qui à son tour allumera et éteindra l'ampoule à courant alternatif. À la fin de ce tutoriel, vous serez capable d'utiliser n'importe quelle télécommande infrarouge pour contrôler votre luminaire.

Nous utiliserons un récepteur infrarouge pour capturer les signaux de la télécommande, et l'Arduino interprétera ces signaux pour effectuer des actions spécifiques. Le code fourni vous permettra de choisir le type de télécommande (noire ou blanche) et si vous utilisez un PCB ou un module nu pour le récepteur. Assurez-vous de regarder la vidéo associée pour des détails et des clarifications supplémentaires (dans la vidéo à 0:00).

Matériel expliqué

Pour ce projet, les principaux composants incluent la carte Arduino, un module récepteur infrarouge et un module relais. Le récepteur infrarouge est responsable de la capture des signaux de la télécommande et de leur envoi à l'Arduino. Le module relais agit comme un interrupteur pour contrôler l'ampoule AC, permettant de l'allumer et de l'éteindre en fonction des signaux reçus.

Module de relais à déclenchement haut niveau 5V
Module de relais à déclenchement par niveau haut 5V

Le récepteur infrarouge fonctionne généralement à une fréquence de 38 kHz et peut détecter des signaux à une distance d'environ 10 à 15 mètres. Une fois que l'Arduino reçoit le signal, il le décode et utilise le relais pour contrôler l'alimentation de l'ampoule.

Instructions de câblage

IR_remote_AC_relay_wiring

Commencez le câblage en connectant le module récepteur infrarouge à l'Arduino. La broche VCC du récepteur se connecte à la broche 5V de l'Arduino, et la broche de masse se connecte à une broche GND. La broche de signal du récepteur infrarouge doit être connectée à une broche numérique.11sur l'Arduino.

Ensuite, connectez le module de relais. La broche de contrôle du relais doit être câblée à la broche numérique.2sur l'Arduino. Connectez également les broches VCC et GND du relais aux 5V et GND de l'Arduino, respectivement. Enfin, raccordez l'ampoule AC au relais selon les spécifications du relais pour assurer un fonctionnement en toute sécurité.

Exemples de code et guide étape par étape

Dans la phase de configuration du programme, nous initialisons la communication série et configurons la broche de relais. L'identifiantRECV_PINest réglé à11, c'est là où la broche de signal du récepteur infrarouge est connectée. Cela nous permet de recevoir des données de la télécommande.

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode(RELAY_PIN, OUTPUT); // define a pin for relay as OUTPUT
  digitalWrite(RELAY_PIN, HIGH); // set relay to OFF at the beginning
}

Dans la fonction loop, nous vérifions en continu les signaux entrants provenant de la télécommande. Lorsqu'un signal est détecté, la valeur est décodée, et l'action correspondante est effectuée en fonction de la touche pressée.

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX); // Print the received value
    robojaxValidateCode(results.value); // Validate the code
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}

LerobojaxValidateCodeLa fonction vérifie le code reçu par rapport aux valeurs connues pour la télécommande. En fonction de la touche pressée, elle exécutera l'action correspondante en utilisant le relais.

void robojaxValidateCode(int cd) {
  if (type == 'W' && !PCB) {
    // Check White remote codes
    for (int i = 0; i < sizeof(whiteRemote) / sizeof(int); i++) {
      if (whiteRemote[i] == cd) {
        Serial.print("Key pressed: ");
        Serial.println(whiteRemoteKey[i]);
        relayAction(whiteRemoteKey[i]); // Take action
      }
    }
  }
}

Dans cette fonction, le code vérifie si la touche pressée correspond aux valeurs définies dans le tableau. Si une correspondance est trouvée, il appelle lerelayActionfonction pour activer ou désactiver le relais, en fonction de la touche pressée.

Démonstration / À quoi s'attendre

Après avoir terminé le câblage et téléchargé le code, vous pouvez utiliser votre télécommande infrarouge pour contrôler l'ampoule AC. Appuyez sur les touches désignées de la télécommande, et le relais devrait activer ou désactiver l'ampoule en conséquence. Assurez-vous de tester chaque touche pour voir sa réponse (dans la vidéo à 5:00).

Horodatages vidéo

  • 00:00 Début
  • 00:49 Introduction
  • 02:00 Câblage et connexion
  • 05:27 Explication du code Arduino
  • 09:51 Démonstration de la commande d'ampoule AC avec différentes télécommandes
  • 13:13 Utiliser la télécommande de votre télévision pour contrôler l'ampoule de climatisation

Images

5V LOW-LEVEL trigger relay
5V LOW-LEVEL trigger relay
5V HIGH-level trigger relay module
5V HIGH-level trigger relay module
remote
remote
IR_remote_AC_relay_wiring
IR_remote_AC_relay_wiring
138-Source for controlling an AC load using an Arduino
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Aucun fichier disponible.