Produits

Arduino contrôle de LED avec télécommande IR - Ocra Electronic
21478
post-template-default,single,single-post,postid-21478,single-format-standard,theme-nouveau,nouveau-core-1.0.4,woocommerce-no-js,ajax_fade,page_not_loaded,,wpb-js-composer js-comp-ver-6.4.1,vc_responsive

Arduino contrôle de LED avec télécommande IR

Arduino contrôle de LED avec télécommande IR

Dans ce projet, vous utiliserez un récepteur infrarouge (IR) et un Arduino pour contrôler 3 LED avec une télécommande. Ceci est utile pour réutiliser d’anciennes télécommandes ou pour en donner fonctionnellement à certains boutons de votre télécommande.

Ce projet est divisé en deux parties :

  1. Vous décoderez les signaux IR transmis par votre télécommande
  2. Vous utiliserez ces informations pour effectuer une tâche avec votre Arduino (contrôlez 3 LED)

Pièces requises

Pour suivre ce projet, vous avez besoin des pièces suivantes :

Vous pouvez utiliser les liens précédents ou vous rendre directement sur ocraelec.com pour trouver toutes les pièces pour vos projets au meilleur prix !

Présentation du récepteur infrarouge (IR)

Le récepteur infrarouge est le composant illustré dans la figure ci-dessous. Il s’agit du TSOP4838.

Broches du récepteur infrarouge :

  • Première broche : Vout
  • Deuxième broche : GND
  • Troisième broche : Vcc

Lorsque vous appuyez sur votre télécommande, elle envoie des signaux modulés infrarouges. Ces signaux contiennent des informations que votre récepteur collecte.

Chaque bouton envoie des informations spécifiques. Ainsi, nous pouvons attribuer ces informations à un bouton spécifique.

Décoder les signaux IR

Dans cette partie du projet, vous devez décoder les signaux IR associés à chaque bouton.

Schémas

Connectez le récepteur IR conformément aux schémas ci-dessous.

Code

Pour contrôler le récepteur IR, vous devez installer la bibliothèque IRremote   dans l’IDE Arduino. 

Installation de la bibliothèque IRremote

  1. Cliquez ici pour télécharger la bibliothèque IRremote . Vous devriez avoir un dossier .zip dans vos téléchargements
  2. Décompressez le dossier .zip et vous devriez obtenir le  dossier  IRremote-master
  3. Renommez votre dossier de IRremote-maître à  IRtélécommande
  4. Déplacez le   dossier IRremote vers votre dossier de bibliothèques d’installation Arduino IDE
  5. Enfin, rouvrez votre IDE Arduino

Copiez le code suivant sur votre IDE Arduino et téléchargez-le sur votre carte Arduino. Assurez-vous que vous avez sélectionné la bonne carte et le bon port COM.

/*
 * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

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

Ouvrez le moniteur série à un débit en bauds de 9600.

Dans ce projet, vous souhaitez contrôler 3 LED. Choisissez 6 boutons pour les tâches suivantes :

  1. LED1 – ALLUMÉ
  2. LED1 – ÉTEINT
  3. LED2 – ALLUMÉ
  4. LED2 – ÉTEINT
  5. LED3 – ALLUMÉ
  6. LED3 – ÉTEINT

Appuyez par exemple sur le bouton numéro 1 de votre télécommande. Vous devriez voir un code sur le moniteur série. Appuyez plusieurs fois sur le même bouton pour vous assurer d’avoir le bon code pour ce bouton. Si vous voyez quelque chose comme FFFFFFFF, ignorez-le, c’est de la poubelle.

Faites de même pour les autres boutons.

Notez le code associé à chaque bouton, car vous aurez besoin de cette information plus tard.

Construire le circuit final

Dans cette partie, vous allez construire le circuit avec trois LED qui seront contrôlées à l’aide de votre télécommande.

Schémas

Assemblez toutes les pièces en suivant les schémas ci-dessous.

Code

Maintenant, récupérez les codes que vous avez capturés à l’étape précédente. Vous devez convertir vos codes hexadécimaux en décimaux.

Pour cela, vous pouvez utiliser le site Web suivant :  www.binaryhexconverter.com/hex-to-decimal-converter

Voici un exemple de conversion pour l’un de mes codes :

Répétez ce processus pour toutes vos valeurs hexadécimales et enregistrez les   valeurs décimales . Ce sont ceux que vous devez remplacer dans le code ci-dessous.

Téléchargez ou copiez le croquis suivant sur votre IDE Arduino. Écrivez vos propres valeurs décimales dans le croquis fourni dans les lignes de cas  et téléchargez-le sur votre carte Arduino. Assurez-vous que vous avez sélectionné la bonne carte et le bon port COM.

/*
 * Modified by Rui Santos, http://randomnerdtutorialscom
 * based on IRremote Library - Ken Shirriff
*/
 
#include <IRremote.h>
 
int IR_Recv = 11;   //IR Receiver Pin 3
int bluePin = 10;
int greenPin = 9;
int yellowPin = 8;
 
IRrecv irrecv(IR_Recv);
decode_results results;
 
void setup(){
  Serial.begin(9600);  //starts serial communication
  irrecv.enableIRIn(); // Starts the receiver
  pinMode(bluePin, OUTPUT);      // sets the digital pin as output
  pinMode(greenPin, OUTPUT);      // sets the digital pin as output
  pinMode(yellowPin, OUTPUT);      // sets the digital pin as output 

}
 
void loop(){
  //decodes the infrared input
  if (irrecv.decode(&results)){
    long int decCode = results.value;
    Serial.println(results.value);
    //switch case to use the selected remote control button
    switch (results.value){
      case 551520375: //when you press the 1 button
        digitalWrite(bluePin, HIGH);
        break;   
      case 551495895: //when you press the 4 button
        digitalWrite(bluePin, LOW);   
        break;
       case 551504055: //when you press the 2 button
        digitalWrite(greenPin, HIGH);
        break;           
       case 551528535: //when you press the 5 button
        digitalWrite(greenPin, LOW);
        break;       
       case 551536695: //when you press the 3 button
        digitalWrite(yellowPin, HIGH);
        break;       
       case 551512215: //when you press the 6 button
        digitalWrite(yellowPin, LOW);
        break;
    }
    irrecv.resume(); // Receives the next value from the button you press
  }
  delay(10);
}

Demonstration

Au final, vous pouvez contrôler chaque LED individuellement à l’aide des boutons de votre télécommande.

Votre Panier
Il n'y a pas d'articles dans le panier !
Continuer les achats
0