Savoir utiliser un récepteur/émetteur IR avec Arduino
Savoir commander plusieurs appareils sans fil indépendants
Etc.
Fonctionnement
Le mini-projet dédié au contrôle d’une carte relais 8 canaux en utilisant une télécommande infrarouge (IR). L’émetteur (la télécommande) permet de contrôler d’une façon indépendante la mise en marche ou en arrêt de l’un ou l’ensemble des relais. Nous utiliserons des LED alimentées à 5V afin d’observer l’état des relais. On peut également utiliser une charge AC/DC (Exemples : Monteur AC/DC, lampe, ventilateur, chauffage électrique, etc.) à la place d’une LED.
Émetteur IR ou télécommande
Nous avons utilisé une télécommande constituée de 21 boutons (7×3). Uniquement 8 boutons (« 1 » à « 8 ») seront effectivement utilisés pour le contrôle des relais. Ci-dessous le tableau des codes de la télécommande :
Chaque touche de la télécommande permet la mise en marche ou l’arrêt du canal correspondant. L’appui sur la touche inverse l’état du relais, puis garde en mémoire l’état actuel. Ci-dessous un exemple et l’extrait du code Arduino consacré à la touche « 1 ».
Si l’état précédent est égal à« 0 », le relais il passe à « 1 » puis il maintient la valeur « 1 »
Si l’état précédent est égal à« 1 », le relais il passe à « 0 » puis il maintient la valeur « 0 »
... case 0xFF30CF: // Canal 1
if (Chan_1_etat==0) { // Mise en arrêt du relais (canal 1) digitalWrite(Chan_1, LOW);
// Initialisation de l'état Chan_1_etat=1; } else { // Mise en marche du relais (canal 1) digitalWrite(Chan_1, HIGH);
// Initialisation de l'état Chan_1_etat=0; } break;
case 0xFF18E7: // Canal 2 ...
Programme Arduino
#include "IRremote.h"
// Numéro du pin sortie du récepteur long int res_val; const int receiver = 11;
// Indicateurs des états des cannaux (logique négative) int Chan_1_etat=1; int Chan_2_etat=1; int Chan_3_etat=1; int Chan_4_etat=1; int Chan_5_etat=1; int Chan_6_etat=1; int Chan_7_etat=1; int Chan_8_etat=1;
// Liaison Arduino-Relais des 8 cannaux const int Chan_1 = 2; const int Chan_2 = 3; const int Chan_3 = 4; const int Chan_4 = 5; const int Chan_5 = 6; const int Chan_6 = 7; const int Chan_7 = 8; const int Chan_8 = 9;
// Déclaration d'un objet IRrecv IRrecv irrecv(receiver); decode_results results;
Nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations relatives aux appareils. Nous le faisons pour améliorer l’expérience de navigation et pour afficher des publicités (non-)personnalisées. Consentir à ces technologies nous autorisera à traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines fonctonnalités et caractéristiques.
Fonctionnel
Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’internaute.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’utilisateurs afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.