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);
}
