Outils pour utilisateurs

Outils du site


wiki:projets:compteur-passage_2

Ceci est une ancienne révision du document !


Projet visant à pouvoir compter des personnes dans un salle en utilisant deux capteurs infrasons (et aussi apprendre comment faire de l’Arduino. Code pour mesurer une distance avec le capteur:

# define Broche_Echo 7 Broche Echo du HC-SR04 sur la pin 7 # define Broche_Trigger 8 Broche Trigger du HC-SR04 sur la pin 8

long temps;

long Distance;

void setup() {

pinMode(Broche_Echo,INPUT); //Met le pin 7 (définie plus haut) relié à la broche echo en entré


pinMode(Broche_Trigger,OUTPUT); //Met le pin 8 (définie plus haut) relié à la broche en entré 

Serial.begin(9600); //Permet de pouvoir faire des prints via l'usb

digitalWrite(Broche_Trigger, LOW);  

}

void loop() {

digitalWrite(Broche_Trigger, HIGH);

delay(0.02);

digitalWrite(Broche_Trigger, LOW);

//lance le trigger en le metant à l'état au haut pendant 8 micro secondes (max pour l'activer est 10)

int temps = pulseIn(Broche_Echo, HIGH);

Distance = temps*0.034/2;

//Recupére sur temps le temps que écho est à 1. De plus si elle ne passe pas à low d'ici 55 micro seconde alors il cesse d'attendre. 

if (Distance>=400){

  Serial.println("TROP loin");  

} 

if (Distance<=2){

  Serial.println("TROP proche");  

}else{ 

Serial.print("Distance du capteur : ");

Serial.println(Distance);  

}

delay(100);

}

Mise à jour du code en incluant les deux capteurs fonctionnels , un problème comment compter les personne qui passe ?

# define Broche_Echo 7 Broche Echo du HC-SR04 sur la pin 7 # define Broche_Trigger 8 Broche Trigger du HC-SR04 sur la pin 8

# define Broche_Echobis 12Broche Echo du HC-SR04 sur la pin 7 # define Broche_Triggerbis 4 Broche Trigger du HC-SR04 sur la pin 8

long temps;

long Distance;

long Distancebis;

int entre;

int sort;

int nb_de_gens;

void setup() {

pinMode(Broche_Echo,INPUT); Met le pin 7 (définie plus haut) relié à la broche echo en entré pinMode(Broche_Trigger,OUTPUT); Met le pin 8 (définie plus haut) relié à la broche en entré Serial.begin(9600); Permet de pouvoir faire des prints via l'usb digitalWrite(Broche_Trigger, LOW); digitalWrite(Broche_Triggerbis, LOW); entre = 0; sort = 0; nb_de_gens = 0; } void loop() { digitalWrite(Broche_Trigger, HIGH); delay(0.02); digitalWrite(Broche_Trigger, LOW); lance le trigger en le metant à l'état au haut pendant 8 micro secondes (max pour l'activer est 10) temps = pulseIn(Broche_Echo, HIGH); Distance = temps*0.034/2; Recupére sur temps le temps que écho est à 1. De plus si elle ne passe pas à low d'ici 55 micro seconde alors il cesse d'attendre. if (Distance>=400){ Serial.println(“TROP loin”); }else{ if (Distance⇐2){ Serial.println(“TROP proche”); }else{ Serial.print(“Distance du capteur 1 : ”); Serial.println(Distance); } } delay(10); digitalWrite(Broche_Triggerbis, HIGH); delay(0.02); digitalWrite(Broche_Triggerbis, LOW); lance le trigger en le metant à l'état au haut pendant 8 micro secondes (max pour l'activer est 10)

temps = pulseIn(Broche_Echobis, HIGH); Distancebis = temps*0.034/2; Recupére sur temps le temps que écho est à 1. De plus si elle ne passe pas à low d'ici 55 micro seconde alors il cesse d'attendre. if (Distancebis>=400){ Serial.println(“TROP loin 2”); } else{ if (Distancebis⇐2){ Serial.println(“TROP proche 2”); }else{ Serial.print(“Distance du capteur 2 : ”); Serial.println(Distancebis); Serial.println(“”); } } if (Distance < 90){ if(sort==0){ sort -=1; nb_de_gens -=1; }else{ if(entre == 0){entre +=1;} } } if (Distancebis < 90){ if(entre>0){ entre -=1; nb_de_gens +=1; }else{ if(sort == 0){sort +=1;} } } Serial.println(“”); Serial.println(nb_de_gens); Serial.println(entre); Serial.println(sort); Serial.println(“”); delay(1000); }

LDAP: couldn't connect to LDAP server
wiki/projets/compteur-passage_2.1647954469.txt.gz · Dernière modification: 2022/03/22 13:07 de sean.rams.1@etu.sorbonne-universite.fr