Go Down

Topic: Comment ajouté un PIR a un code (Read 239 times) previous topic - next topic

chris442

Bonjours,

J'essai de faire fonctionner un sensor detecteur de mouvement (PIR) et je ne sais pas comment l'ajouter au code existant. Quelqun peut m'aider svp?

Voici le code pour un seul motion detect (PIR)



void setup() {
  pinMode(2, INPUT); //Pin 2 as INPUT
  pinMode(3, OUTPUT); //PIN 3 as OUTPUT
}

void loop() {
  if (digitalRead(2) == HIGH)
  {
  digitalWrite(3, HIGH);   // turn the LED/Buzz ON
  delay(100);                       // wait for 100 msecond
  digitalWrite(3, LOW);   // turn the LED/Buzz OFF
  delay(100);                       // wait for 100 msecond
  }
}


j'ai ajouté le deuxieme a la pin 4 et 5 comme le premier PIR


chris442

void setup() {
  pinMode(2, INPUT); //Pin 2 as INPUT
  pinMode(3, OUTPUT); //PIN 3 as OUTPUT
pinMode(2, INPUT); //Pin 2 as INPUT
  pinMode(3, OUTPUT); //PIN 3 as OUTPUT
}

void loop() {
  if (digitalRead(2) == HIGH)
  {
  digitalWrite(3, HIGH);   // turn the LED/Buzz ON
  delay(100);                       // wait for 100 msecond
  digitalWrite(3, LOW);   // turn the LED/Buzz OFF
  delay(100);                       // wait for 100 msecond
  }
}

68tjs

#2
Dec 17, 2018, 12:26 am Last Edit: Dec 17, 2018, 12:34 am by 68tjs
Déjà tu n'as pas lu les messages épinglés :
"Règles du forum francophone" et "Faire un nouveau sujet avec les balises."

Tu y aurai vu que le code se met obligatoirement entre balises code --> icone "</>"
Ensuite est tu vraiment sur d'avoir fait ce qu'il faut pour ajouter un deuxième capteur :
Extrait de ton code  mis entre balises code :

Question : Un coupé collé sans modifier les numéros de pins suffit-il pour ajouter un deuxième capteur ?
Code: [Select]
void setup() {
  pinMode(2, INPUT); //Pin 2 as INPUT
  pinMode(3, OUTPUT); //PIN 3 as OUTPUT
  pinMode(2, INPUT); //Pin 2 as INPUT
  pinMode(3, OUTPUT); //PIN 3 as OUTPUT
}


Question : Penses tu que tu gères les deux capteurs dans la fonction loop ?
Quelles sont les pins qui lisent chacun des capteurs ?

Code: [Select]
void loop() {
  if (digitalRead(2) == HIGH)
  {
     digitalWrite(3, HIGH);   // turn the LED/Buzz ON
     delay(100);                       // wait for 100 msecond
     digitalWrite(3, LOW);   // turn the LED/Buzz OFF
     delay(100);                       // wait for 100 msecond
  }
}



chris442

Voici le code qui fonctionne pour moi


void setup() {
  pinMode(2, INPUT); //Pin 2 as INPUT
  pinMode(3, OUTPUT); //PIN 3 as OUTPUT
  pinMode(4, INPUT); //Pin 2 as INPUT
  pinMode(5, OUTPUT); //PIN 3 as OUTPUT
}

void loop() {
  if (digitalRead(2) == HIGH)
  {
  digitalWrite(3, HIGH);   // turn the LED/Buzz ON
  delay(50);                       // wait for 100 msecond
  digitalWrite(3, LOW);   // turn the LED/Buzz OFF
  delay(50);                       // wait for 100 msecond
  } if (digitalRead(4) == HIGH)
  {
    digitalWrite(5, HIGH);   // turn the LED/Buzz ON
    delay(50);                       // wait for 100 msecond
    digitalWrite(5, LOW);   // turn the LED/Buzz OFF
    delay(50              );     // wait for 100 msecond
  }
  }


68tjs

Tu te fiche de moi, je viens  de te dire que le code doit OBLIGATOIREMENT être mis entre balises codes et tu n'en a rien à faire.
Les commentaires  faux dans ton code ne te dérangent  pas non plus.

Et dire merci pour la détection  des erreurs ça t'aurait pris trop de temps.

Go Up