[[ une nouvelle version de cet article est disponible ici : http://smag0.blogspot.com/2017/06/arduino-barriere-lego.html ]]
Matériel :
- une carte Arduino
- un servomoteur (noir sur grd, rouge sur 5V, jaune sur pin 9)
- un capteur Ultrason HC-SR04 (noir sur grd, rouge sur 5V, trig sur pin 12, echo sur pin 11)
/* Utilisation du capteur Ultrason HC-SR04 pour contrôler un servomoteur*/#include <Servo.h>Servo myservo; // create servo object to control a servo// définition des broches utiliséesint servo = 9;int trig = 12;int echo = 11;long lecture_echo;long cm;int val;long lastCm = 0;void setup(){myservo.attach(servo);pinMode(trig, OUTPUT);digitalWrite(trig, LOW);pinMode(echo, INPUT);Serial.begin(9600);}void loop(){digitalWrite(trig, HIGH);delayMicroseconds(10);digitalWrite(trig, LOW);lecture_echo = pulseIn(echo, HIGH);cm = lecture_echo / 58;int diff = int(abs(lastCm - cm)); // detection de grand sautif(diff < 30){ // seulement si diff est faibleval = min(cm,179);if( val< 179){Serial.print(diff);Serial.print(" : ");Serial.println(val);myservo.write(val);}}delay(10);lastCm = cm;}