Circuit de commande à distance IR Arduino

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons construire un commutateur de télécommande sans fil basé sur IR (infrarouge) basé sur Arduino, qui se compose d'une télécommande IR et d'un récepteur, que vous pouvez modifier en fonction de vos besoins. Dans la dernière partie de l'article, nous découvrons une version infaillible améliorée d'une télécommande infrarouge qui ne répondra qu'à une fréquence attribuée de manière unique.

Si vous êtes au-dessus du niveau débutant, vous pouvez l'accomplir facilement. Le circuit proposé illustré ici ne comporte que trois commandes à distance et 3 relais côté récepteur. Vous pouvez modifier le code et le schéma de circuit pour répondre à vos besoins.



Vous aurez besoin de deux cartes Arduino, qui agissent comme télécommande et une autre comme récepteur. Je recommanderais Arduino pro mini pour ce projet, car leur taille est assez petite et la taille globale de la télécommande pourrait être évitée.

Vous pouvez utiliser un Arduino pro mini basé sur 3,3 V pour la télécommande afin que vous puissiez être alimenté avec deux piles bouton ou deux piles de taille AA, selon vos besoins.



Le circuit émetteur IR a 3 boutons poussoirs et une LED IR pour envoyer des commandes au récepteur. Chaque bouton a programmé avec un code hexadécimal unique, le même code hexadécimal est également programmé côté récepteur.

Lorsqu'un bouton est enfoncé, la LED IR envoie le code hexadécimal au récepteur, le récepteur reconnaîtra lequel des boutons est enfoncé et il active / désactive le relais correspondant.

La télécommande proposée utilise le protocole RC5 pour communiquer avec le récepteur vous pouvez tout changer en modifiant le code.

Si vous êtes juste débutant en Arduino, vous pouvez toujours l'accomplir en suivant simplement le diagramme et télécharger le code sans le modifier.

Le circuit et le programme:

Émetteur à distance Arduino:

Circuit de commande à distance IR infaillible

Le circuit ci-dessus illustre comment construire l'émetteur à distance Arduino IR.

Les trois résistances 10K sont des résistances de tirage vers le bas, qui empêchent le déclenchement accidentel de la télécommande en raison d'une charge statique et une résistance de limitation de courant de 220 ohms est utilisée pour la LED IR.

Programme pour l'émetteur à distance:

//---------Program developed by R.Girish--------//
#include
IRsend irsend
const int button1 = 4
const int button2 = 5
const int button3 = 6
void setup() {
pinMode(button1, INPUT)
pinMode(button2, INPUT)
pinMode(button3, INPUT)
}
void loop()
{
if (digitalRead(button1) == HIGH)
{
delay(50)
irsend.sendRC5(0x80C, 32)
delay(200)
}
if (digitalRead(button2) == HIGH)
{
delay(50)
irsend.sendRC5(0x821, 32)
delay(200)
}
if (digitalRead(button3) == HIGH)
{
delay(50)
irsend.sendRC5(0x820, 32)
delay(200)
}
}
//---------Program developed by R.Girish--------//

Récepteur Arduino:

Le circuit récepteur IR Arduino comme indiqué ci-dessus se compose de Capteur TSOP1738 quelques transistors, des résistances de limitation de courant pour transistor, des relais et des diodes pour absorber les pics de tension élevés des bobines de relais.

Le schéma de circuit est explicite.

Programme pour récepteur Arduino:

//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x80C // code received from button A
#define output2 0x821 // code received from button B
#define output3 0x820 // code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

En suivant les explications ci-dessus, vous pouvez effectuer trois contrôles.Si vous souhaitez ajouter plus de contrôles et de relais, vous devez modifier le code et le schéma de circuit.

Vous pouvez affecter la sortie et l'entrée pour les broches inutilisées dans le récepteur et la télécommande dans le programme et connecter le nombre de transistors et de relais pour les broches respectives dans le récepteur et connecter de la même manière le nombre de commutateurs et la résistance d'abaissement dans la télécommande.

Vous pouvez utiliser un code hexadécimal aléatoire pour attribuer un plus grand nombre de boutons.

Par exemple: 0xA235, 0xFFFF, 0xBA556 et ainsi de suite. Et ajoutez également la même valeur hexadécimale dans le code du récepteur. Par exemple: #define output4 0xA235, #define outout5 0xFFFF et ainsi de suite.

Faire une télécommande IR avec une fréquence unique

Dans les sections ci-dessus, nous avons découvert une télécommande infrarouge simple qui fonctionnera avec n'importe quel émetteur infrarouge.
Dans l'article suivant, nous allons apprendre comment créer une version améliorée du concept ci-dessus pour un contrôle infaillible des appareils ménagers à l'aide d'un microcontrôleur Arduino, qui fonctionnera avec une fréquence unique et ne fonctionnera jamais avec un combiné IR commun.

Télécommande IR infaillible

Ce circuit peut allumer / éteindre vos gadgets à l’aide des boutons inutilisés de la télécommande du téléviseur ou de toute autre télécommande inutilisée qui pourrait rester dans votre poubelle pendant des années.

La devise de ce projet est d'aider les personnes à mobilité réduite et de les aider à accéder à la commutation ON / OFF des appareils ménagers de base tels que les ventilateurs ou les lumières de manière indépendante.

Le deuxième objectif est de permettre à l'utilisateur de contrôler les gadgets «comme un boss» sans avoir à bouger de sa position actuelle.

Le circuit utilise une communication IR traditionnelle entre l'émetteur et le récepteur.

Ce circuit est infaillible à 100% pour les autres télécommandes infrarouges et autres sources infrarouges et moins sensible aux erreurs.

Le problème majeur avec les non-microcontrôleurs Circuit de commande à distance IR , qui se trouve sur Internet, est qu'il peut s'allumer / s'éteindre avec n'importe quelle télécommande infrarouge et ne peut contrôler qu'un seul appareil à la fois et également plus susceptible aux erreurs.

Ce circuit surmonte les problèmes spécifiés ci-dessus, et nous pouvons contrôler plusieurs gadgets sur une seule télécommande et attribuez des clés à des gadgets spécifiques.

Avant de poursuivre ce projet, vous devez télécharger les fichiers de bibliothèque pour arduino à partir de ce lien et suivre les instructions ci-dessous: github.com/z3t0/Arduino-IRremote

Instructions:

1) Cliquez sur le bouton 'cloner ou télécharger' du lien donné et appuyez sur 'Télécharger le ZIP'.

2) Extrayez le fichier et déplacez le dossier «IRremote» vers votre dossier bibliothèque d'Arduino.

3) Supprimez le dossier «RobotIRremote» de votre bibliothèque arduino. «RobotIRremote» a une définition similaire de la bibliothèque «IRremote» qui se heurte et ne peut pas télécharger le code sur Arduino donc, la suppression / suppression est obligatoire.

En dupliquant les instructions ci-dessus, votre logiciel Arduino IDE est prêt pour tout / la plupart des projets basés sur IR.

Attribuer des clés pour la télécommande:

Dans notre télécommande TV, chaque touche a un code hexadécimal unique, qui est utilisé pour reconnaître quelle touche est enfoncée pour une opération. Avant de télécharger le code final sur Arduino, vous devez trouver quels sont les codes hexadécimaux de vos clés.

Pour ce faire, construisez le circuit suivant dans la maquette et suivez les instructions.

1) Ouvrez Arduino IDE et téléchargez l'exemple de code «IRrecv Demo»

2) Ouvrez le moniteur série et appuyez sur la touche de la télécommande que vous souhaitez utiliser.

Le code hexadécimal s'affiche dès que vous appuyez sur la touche. C’est le code hexadécimal de cette clé particulière.

3) Faites de même pour deux autres touches (3 clés sont données dans ce projet pour contrôler 3 appareils)

· Nous allons utiliser ces codes hexadécimaux dans le programme principal et les télécharger sur arduino.

Programme:
//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x111 // place your code received from button A
#define output2 0x112 // place your code received from button B
#define output3 0x113 // place your code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

REMARQUE:

Dans le programme:

#define output1 0x111 // placez votre code reçu du bouton A

#define output2 0x111 // placez votre code reçu du bouton B

#define output3 0x111 // placez votre code reçu du bouton C

· Placez vos 3 codes uniques de votre télécommande à cet endroit de 111, 112 et 113 et téléchargez le code. Les codes hexadécimaux seront de 0 à 9 et de A à F, par exemple: 20156, 26FE789, FFFFFF.

· Placez votre code avec «0x» (zéro x).

Schéma:

· En appuyant sur la touche, le relais est activé et en appuyant à nouveau, il désactivera le relais.




Une paire de: Répulsif anti-moustique naturel utilisant une résistance à haute puissance Un article: Circuit de détecteur de métaux de sol profond - Scanner de sol