Created
August 10, 2018 15:59
-
-
Save GuitouFlc/fba95394124c8b2c102aee6cf56435da to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* sketch Arduino utilisation d'un module hc-sr04 | |
Autheur : Guillaume FLOCH | |
site web : www.osdclic.fr | |
tuto : www.memorandum.ovh | |
membre de : www.goldorhack.org | |
*/ | |
#define trigPin 5 //Trig | |
#define echoPin 4 //Echo | |
#define trigPinV 7 //Trig 2eme | |
#define echoPinV 9 //Echo 2eme | |
#define avertisseur 13 //Led | |
int mindist = 100; //On indique la distance en dessous de laquelle nous souhaitons voir la led s'allumer | |
int mindistV = 100; //On indique la distance en dessous de laquelle nous souhaitons voir la led s'allumer | |
void setup() { | |
// Serial.begin (9600); | |
pinMode(trigPin, OUTPUT); //On défini Trig comme une sortie | |
pinMode(echoPin, INPUT); //On défini Echo comme une entrée | |
pinMode(trigPinV, OUTPUT); //On défini TrigV comme une sortie | |
pinMode(echoPinV, INPUT); //On défini EchoV comme une entrée | |
pinMode(avertisseur, OUTPUT); //On défini la led comme une sortie | |
} | |
void loop() { | |
long duree, distance; | |
digitalWrite(trigPin, LOW); | |
delayMicroseconds(2); | |
digitalWrite(trigPin, HIGH); | |
delayMicroseconds(10); //Trig envois pendant 10ms | |
digitalWrite(trigPin, LOW); | |
long dureV, distanceV; | |
digitalWrite(trigPinV, LOW); | |
delayMicroseconds(2); | |
digitalWrite(trigPinV, HIGH); | |
delayMicroseconds(10); //Trig envois pendant 10ms | |
digitalWrite(trigPinV, LOW); | |
// On calcul le temps pour l'aller retour du signal | |
duree = pulseIn(echoPin, HIGH); | |
distance = duree*340/(2*10000); | |
dureV = pulseIn(echoPinV, HIGH); | |
distanceV = dureV*340/(2*10000); | |
// si distance < que "mindist" ou si distanceV < que "mindistV" on allume "avertisseur, mindist étant défini en début de programme | |
if (distance < mindist || distanceV < mindistV) { | |
digitalWrite(avertisseur,LOW); | |
delay (30*1000); | |
} | |
else { //sinon on éteind "avertisseur" | |
digitalWrite(avertisseur,HIGH); | |
} | |
delay (100); | |
} | |
//Pour le moniteur série | |
// if ( distance <= 0){ | |
// Serial.println("Hors de portee"); | |
// } | |
// else { | |
// Serial.print(distance); | |
// Serial.print(distanceV); | |
// Serial.print(" cm "); | |
// Serial.print(duree); | |
// Serial.println(" ms"); | |
// } | |
// delay(100); | |
//} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment