Dans ce tutoriel, nous apprendrons comment utiliser la télécommande infrarouge avec Arduino.

PLAN

  1. Fonctionnement du système télécommande infrarouge
  2. Matériels
  3. Câblage
  4. Code source
  1. Fonctionnement du système de télécommande infrarouge

L’infrarouge est une lumière semblable à celle que nous voyons. La seule différence se trouve au niveau de la longueur d’onde et de la fréquence. Comme un tel système fonction avec de l’infrarouge, il nous faudra un émetteur d’infrarouge et un récepteur.

a.Télécommande infrarouge

La télécommande infrarouge est une télécommande sans fil. Elle est composée d’un encodeur et d’une LED émettrice.  Lorsqu’on appuie sur un bouton de la télécommande, il y a un signal binaire qui est envoyé à l’encodeur. L’encodeur convertit le signal binaire en un signal électrique modulé. Ce signal est envoyé à la diode émettrice qui convertit le signal électrique en un signal lumineux (Infrarouge).

b.Récepteur infrarouge

Quant au récepteur, il est composé d’une photodiode (diode réceptrice) et d’un préamplificateur. La diode réceptrice reçoit le signal infrarouge. Ce signal est démodulé et convertit en un signal binaire qui sera envoyé au microcontrôleur pour le traitement.

On distingue plusieurs types de récepteur infrarouge. Celui qui nous concerne ici est le VS1838B

2.Matériels

  • Carte Arduino UNO
  • Télécommande infrarouge et son récepteur
  • Une résistance de 220 ohms
  • Une LED

Jumper wires

  • Un Breadbord

3.Câblage

La broche à gauche est le signal. Au milieu nous avons le GND et à droite nous avons le VCC comme l’indique l’image.

NB: La tension de fonctionnement est 5V

Câblage physique

4.Code source

Comme dans le tutoriel sur le module RFID, notre programmation se fera en deux étapes. La première étape consiste à récupérer le code hexadécimal de chaque bouton, le stocké dans un tableau. L’autre étape consistera à contrôler selon ce qu’on souhaite.

Etape 1:

Récupération des codes

#include <IRremote.h>// Bibliotèque
const int capt = 2;// Broche sur laquelle est connecté le recepteur
IRrecv irrecv(capt); // appel de la fonction IRrecv_irrev
decode_results results;
void setup()
{
Serial.begin(9600);// vitesse de transmission des données
Serial.println(“Code hexadécimal”);
irrecv.enableIRIn();
irrecv.blink13(true);
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
irrecv.resume();
}
}

Etape 2:

#include <IRremote.h>// Bibliotèque
int capt = 2;// Broche sur laquelle est connecté le recepteur
int led = 7; //Broche sur laquelle est connectée la led
IRrecv irrecv(capt); // appel de la fonction IRrecv_irrev
decode_results results;
unsigned long key_value = 0;

void setup()
{
pinMode(led,OUTPUT);
Serial.begin(9600);//Vitesse de transmission des données
irrecv.enableIRIn();
irrecv.blink13(true);
}
int vitesse=1000;// au depart la temporisation est une seconde
void loop()
{
if (irrecv.decode(&results))
{
switch(results.value)
{
case 0xA3C8EDDB : // si le bouton pressé est + vitesse=vetesse + 50
vitesse+=50;
break;
case 0xF076C13B:
vitesse-=50; // si le bouton pressé est – vitesse=vetesse – 50
break;
}
key_value = results.value;
irrecv.resume();
}
digitalWrite(led,HIGH);
delay(vitesse);
digitalWrite(led,LOW);
delay(vitesse);
}

Nous sommes à la fin de notre tutoriel.

Merci !

Les détails ne sont pas renseignés

0.00 average based on 0 ratings

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Course Features

  • Duration : 10 week
  • Max Students : 1000
  • Enrolled : 0
  • Re-take Course : 0
  • Assessments : Self
Price :
Gratuit

Rating

Average Rating: 0.00

Star
0%
Star
0%
Star
0%
Star
0%
Star
0%

Leave a Comment