Étape 3: CODE
Il s’agit d’un code court et seulement 20 % de ce que j’ai à l’esprit de mettre en œuvre ce système embarqué.
mais, j’espère que cela peut aider quelqu'un qui est une nouveauté de la servocommande et a besoin d’une instruction rapide.
J’espère que ce n’est pas compliqué à. donc, fondamentalement, ce qui se passe est que mon capteur ultrasonique est monté à mon servo et fait face à un angle de 90 degrés quand il rencontre un obstacle, inférieure ou égale à 20cm dans ce sens le servo tournera vers la droite. s’il vous plaît gardez à l’esprit que si 0 vous donne un tour complet vers la gauche puis la rotation droite de ce servo est 180. Je vous remercie et s’amuser. :)
#include / / include bibliothèque servo
#define trigpin 5//set trigpin #define echopin 6//set echopin
Servo myservo;// declare servo name type servo
int duration, distance;//declare variable for unltrasonic sensor void setup() { Serial.begin(9600); pinMode(trigpin, OUTPUT); pinMode(echopin, INPUT); myservo.attach(2);// attach your servo myservo.writeMicroseconds(1500); // put your setup code here, to run once:
}
void loop() {
myservo.write(90);// always set servo to 90 to position it to the middle //ultrasonic code digitalWrite(trigpin,HIGH); _delay_ms(500); digitalWrite(trigpin, LOW); duration=pulseIn(echopin,HIGH); distance=(duration/2)/29.1;
if(distance <=20)// if ultrasonic sensor detects an obstacle less than 20cm in 90 degree angle. { myservo.write(0); //servo rotates at full speed to the right delay(600);
} else { myservo.write(90);// else servo stays at 90 degree angle. delay(600);
} Serial.print("cm"); //print distance unit cm Serial.println(distance);//distance
Mettez votre code principal ici, pour exécuter à plusieurs reprises : // put your main code here, to run repeatedly: }