Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float t=0; //initialisation à Zero de notre chronomètre
- float vitesse = 0.09; // vitesse du véhicule (ici, théorique)en m.s^-1
- float distance = 0; //initialisation de notre compteur de distance
- const int pingPin = 7; //ultrason
- void setup() {
- Serial.begin(9600);
- }
- void loop() {
- long duration, cm;
- pinMode(pingPin, OUTPUT);
- digitalWrite(pingPin, LOW);
- delayMicroseconds(2);
- digitalWrite(pingPin, HIGH);
- delayMicroseconds(5);
- digitalWrite(pingPin, LOW);
- pinMode(pingPin, INPUT);
- duration = pulseIn(pingPin, HIGH);
- // cf codes précédents
- // convert the time into a distance
- cm = microsecondsToCentimeters(duration);
- Serial.print("distance ultrason : ");
- Serial.print(cm);
- Serial.println(" cm");
- delay(100); // délai pour faciliter la lecture dans la console
- while (cm <=30)
- {
- vitesse = 0.09;
- Serial.print("vitesse du vehicule");
- Serial.print(vitesse);
- Serial.println("m.s-1"); // on affiche la vitesse sur la console à chaque étape
- delay(100);
- break; //sortir du while
- }
- if(cm>30) // ici, on estime arbitrairement, que si la valeur relevée par l'ultrason est supérieure à 30cm, une place est potentiellement disponible
- {
- mesure_temps_et_longueur();
- if(distance >0.26) // si la longueur de la place est supérieure à la longueur de l'empattement de la voiture
- {
- vitesse = 0 ;// le véhicule s'arrête et la voiture pourra commencer à se garer dés qu'elle a detecter une place de libre
- }
- }
- Serial.print("vitesse du vehicule");//on réaffiche la vitesse dans la console
- Serial.print(vitesse);
- Serial.println("m.s-1");
- }
- void mesure_temps_et_longueur()
- {
- t = t+0.01;
- Serial.print("le temps est ");
- Serial.print(t);
- Serial.println("s "); // chronomètre qui nous permettra de calculer la distance
- if (vitesse !=0)
- {
- distance = vitesse*t; // calcul de la distance via le produit de la vitesse et du temps
- }
- Serial.print("la longueur de la place est ");
- Serial.print(distance);
- Serial.println("m");
- delay(10);
- }
- long microsecondsToCentimeters(long microseconds) {
- // The speed of sound is 340 m/s or 29 microseconds per centimeter.
- // The ping travels out and back, so to find the distance of the object we
- // take half of the distance travelled.
- return microseconds / 29 / 2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement