1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include <Servo.h>
#include <Ultrasonic.h>
const int Trig = 5; // pin trigger HC-SR04
const int Echo = 6; // pin echo HC-SR04
Servo servoBarriere;
long cm; // variable de stockage de distance de l'objet en cm
Ultrasonic HCSR04 (Trig, Echo);
void setup()
{
servoBarriere.attach(3); // servo leve barriere
}
void loop()
{
if(cm >0 && cm < 20) // un train passe
{
servoBarriere.write (0); // La barrière est baissée (ajustez la valeur en fonction de la calibration de votre servo pour avoir la barrière à l'horizontale)
delay(5000); // Temps de traitement du baisser de barrière en millisecondes (15000 millisecondes = 15 secondes). Changez cette valeur si vous voulez rallonger ou raccourcir la durée.
}
else if(cm >= 20) // Il n'y a pas de présence du train. Ici la valeur du rayonnement des ultrasons est d'environ 20 cms.
{
servoBarriere.write(90); // Lève la barrière à 90² (ajustez la valeur en fonction de la calibration de votre servo pour avoir la barrière à la verticale)
}
} |
Partager