ENIB 2020 : porte automatique : Différence entre versions
(Page créée avec « ==photo de l'équipe== 600px ==Que fait ce projet ? == ==Liste des composants== * composant 1 * composant 2 * ... ==Code== <pre> ici je p... ») |
(→Code) |
||
Ligne 12 : | Ligne 12 : | ||
==Code== | ==Code== | ||
<pre> | <pre> | ||
− | ici | + | /* |
+ | [HC-SR04 Capteur de distance] | ||
+ | |||
+ | Drafted and tested by Benjamin ((Binary01))for TUTOARDUINO | ||
+ | |||
+ | More info at: / | ||
+ | |||
+ | */ | ||
+ | |||
+ | #define trigPin 4 // On définis chaque Pin | ||
+ | #define echoPin 3 | ||
+ | // Arduino va communiquer via echo et trig | ||
+ | #define led 11 | ||
+ | #define led2 10 | ||
+ | |||
+ | void setup() | ||
+ | { | ||
+ | Serial.begin (9600); // On établis la liaison a 9600 Bauds | ||
+ | pinMode(trigPin, OUTPUT); | ||
+ | // On définis les entrées et sorties | ||
+ | pinMode(echoPin, INPUT); | ||
+ | pinMode(led, OUTPUT); | ||
+ | pinMode(led2, OUTPUT); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | long duration, distance; | ||
+ | digitalWrite(trigPin, LOW); | ||
+ | delayMicroseconds(2); | ||
+ | digitalWrite(trigPin, HIGH); | ||
+ | delayMicroseconds(10); | ||
+ | digitalWrite(trigPin, LOW); | ||
+ | duration = pulseIn(echoPin, HIGH); | ||
+ | /* On envoi une "salve" pendant une durée déterminé qui sera par la suite calculée */ | ||
+ | |||
+ | distance = (duration/2) / 29.1; // On calcule | ||
+ | if (distance < 15) { | ||
+ | /* ici « 15 » définis le fait qu'on ne signalera | ||
+ | pas l'objet avant qu'il soit à 15cm du capteur */ | ||
+ | |||
+ | digitalWrite(led,HIGH); /* On fixe alors des conditions pour | ||
+ | allumer la led 1 ou la led 2 en fonction de la distance calculée */ | ||
+ | |||
+ | digitalWrite(led2,LOW);} | ||
+ | |||
+ | else { | ||
+ | digitalWrite(led,LOW); | ||
+ | digitalWrite(led2,HIGH); | ||
+ | } | ||
+ | if (distance >= 200 || distance <= 0){ | ||
+ | /* là on dit que si la distance de l'objet | ||
+ | dépasse 200cm on affichera "Hors de portée" sur le port série */ | ||
+ | |||
+ | Serial.println("Hors de portee"); | ||
+ | |||
+ | } | ||
+ | |||
+ | else | ||
+ | { | ||
+ | Serial.print(distance); | ||
+ | Serial.println(" cm"); | ||
+ | } delay(100); | ||
+ | } | ||
</pre> | </pre> | ||
Version du 15 janvier 2020 à 14:41
photo de l'équipe
Que fait ce projet ?
Liste des composants
- composant 1
- composant 2
- ...
Code
/* [HC-SR04 Capteur de distance] Drafted and tested by Benjamin ((Binary01))for TUTOARDUINO More info at: / */ #define trigPin 4 // On définis chaque Pin #define echoPin 3 // Arduino va communiquer via echo et trig #define led 11 #define led2 10 void setup() { Serial.begin (9600); // On établis la liaison a 9600 Bauds pinMode(trigPin, OUTPUT); // On définis les entrées et sorties pinMode(echoPin, INPUT); pinMode(led, OUTPUT); pinMode(led2, OUTPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); /* On envoi une "salve" pendant une durée déterminé qui sera par la suite calculée */ distance = (duration/2) / 29.1; // On calcule if (distance < 15) { /* ici « 15 » définis le fait qu'on ne signalera pas l'objet avant qu'il soit à 15cm du capteur */ digitalWrite(led,HIGH); /* On fixe alors des conditions pour allumer la led 1 ou la led 2 en fonction de la distance calculée */ digitalWrite(led2,LOW);} else { digitalWrite(led,LOW); digitalWrite(led2,HIGH); } if (distance >= 200 || distance <= 0){ /* là on dit que si la distance de l'objet dépasse 200cm on affichera "Hors de portée" sur le port série */ Serial.println("Hors de portee"); } else { Serial.print(distance); Serial.println(" cm"); } delay(100); }