Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // piloter le circuit de voitures miniatures//
- #include <Servo.h>
- #include <LiquidCrystal.h>
- #include <IRremote.h>
- const int RECV_PIN = 6;
- IRrecv irrecv(RECV_PIN); // le capteur infrarouge est connecté à broche 6 de l’Arduino
- decode_results results;
- const int led_verte = 7; // la led verte est connecté à la broche 7 de la carte Adruino
- const int led_rouge = 8; // la led rouge est connecté à la broche 8 de la carte Adruino
- int allumer_vert, allumer_rouge;
- Servo myservo;
- myservo.write(90);
- void setup() {
- // put your setup code here, to run once:
- Serial.begin(9600);
- irrecv.enableIRIn(); // Initialiser le récepteur infrarouge
- allumer_vert = 0;
- allumer_rouge = 1;
- pinMode(led_verte, OUTPUT); // Led verte déclarée en sortie
- pinMode(led_rouge, OUTPUT); // Led rouge déclaree en sortie
- digitalWrite(led_rouge,HIGH);
- myservo.attach(9);
- }
- void loop() // put your main code here, to run repeatedly:
- {
- if (irrecv.decode(&results)) {
- Serial.println(results.value, HEX);
- delay(300);
- irrecv.resume();
- }
- if (results.value == 0xFF30CF) //on appuie sur la touche 1 de la télécommande
- {
- if (allumer_vert == 0) // si led verte éteinte
- {
- (allumer_vert == 1);
- digitalWrite(led_verte, HIGH); // LED verte s’allume
- digitalWrite(led_rouge, LOW); //Led rouge S'eteint (et je comprend pas pourquoi ?)
- } else {
- (allumer_vert == 0);
- digitalWrite(led_verte, LOW); // LED verte s'eteint}}
- delay(100);
- }
- {
- if (results.value == 0xFF30CF) //on appuie sur la touche 1 de la télécommande
- {
- if (allumer_rouge == 1) // si led rouge allumée
- (allumer_rouge == 0);
- digitalWrite(led_rouge, LOW); // LED rouge s'eteint
- } else {
- (allumer_rouge == 1);
- digitalWrite(led_rouge, HIGH); // LED rouge s'allume
- }
- }
- for (int position = 0; position <= 90; position++)
- { // on crée une variable position qui prend des valeurs entre 0 à 180 degrés
- myservo.write(90); // le bras du servomoteur prend la position de la variable position
- delay(15); // on attend 15 millisecondes
- }
- for (int position = 90; position >= 0; position--)
- { // cette fois la variable position passe de 180 à 0°
- myservo.write(0); // le bras du servomoteur prend la position de la variable position
- delay(15); // le bras du servomoteur prend la position de la variable position
- }
- digitalWrite(led_rouge, HIGH);
- digitalWrite(led_rouge, LOW);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment