Étape 3: programmation
Tout d’abord, ouvrez le logiciel Arduino.
Ouvrez le menu Esquisse > Bibliothèque incluent > gérer les bibliothèques > Rechercher pour IRremote, installez-le. Maintenant, ouvrez un nouveau projet dans votre logiciel Arduino. Ouvrez le menu fichiers > exemples > IRremote > IRrecvDemo. Ensuite, vérifier et télécharger votre planche d’adruino. Ouvrir le moniteur de la série, puis essayez de cliquer sur n’importe quel bouton de commande à distance pour envoyer un signal au récepteur IR, le code hexadécimal de chaque bouton. Alors détecter le code hexadécimal des boutons pour contrôler le moteur d’asservissement, suppose que vous allez utiliser cinq boutons de votre choix. Par exemple, utilisez (flèche droite) pour 0 degrés et (flèche gauche) pour 180 degrés, alors vous devrez obtenir leurs codes HEX. (R)---> A3C8EDDB (L)---> F076C13B dans le code final, la fonctionnalité est quand en cliquant dans l’un des cinq boutons du moteur est basculer entre la rotation dans la direction principale et arrêt donc quand cliquez d’abord dans l’un des deux boutons, le moteur tourne dans le sens du bouton, et lorsque le deuxième clic sur le bouton arrêt même le moteur s’arrête, comme montré dans la vidéo. Le code est :
#include
#include
unsigned long valeur1 = 0xFD50AF ; où XXXXXXXX est sur nos valeurs de votre télécommande
unsigned long Value2 = 0xFD10EF ; où XXXXXXXX est un autre bouton de votre télécommande
unsigned long Value3 = 0xFD906F ; où XXXXXXXX est un autre bouton de votre télécommande
unsigned long Value4 = 0xFD08F7 ; où XXXXXXXX est un autre bouton de votre télécommande
unsigned long valeur5 = 0xFD48B7 ; où XXXXXXXX est un autre bouton de votre télécommande
int RECV_PIN = 2 ;
IRrecv irrecv(RECV_PIN) ;
résultats de la decode_results ;
Servo servo1 ;
la routine d’installation s’exécute une fois que lorsque vous appuyez sur reset :
void setup() {}
Serial.Begin(9600) ;
irrecv.enableIRIn() ; Démarrer le récepteur
initialiser la broche numérique en tant que sortie.
SERVO1.Attach(9) ; attaquer le servo sur la broche numérique 10
}
la routine de la boucle s’exécute maintes et maintes fois pour toujours :
void loop() {}
Si (irrecv.decode (et résultats)) {}
Serial.println (results.value, HEX) ;
irrecv.Resume() ; Recevoir la prochaine valeur}
if(Results.Value == value1) {}
SERVO1.Write(180) ;
}
ElseIf (results.value == Value2) {}
SERVO1.Write(0) ;
}
ElseIf (results.value == Value3) {}
SERVO1.Write(90) ;
}
ElseIf (results.value == Value4) {}
SERVO1.Write(45) ;
}
ElseIf (results.value == valeur5) {}
SERVO1.Write(135) ;
}
}