Stap 3: CODE
Dit is een korte code en slechts 20% van wat ik heb in gedachten uit te voeren met deze embedded systeem.
maar ik hoop dat het kan helpen om het even wie wie is nieuw in servo control en behoefte heeft aan een snelle instructie.
Ik hoop dat het niet te ingewikkeld. Dus wat in feite gebeurt is dat mijn ultrasone sensor op mijn servo is gemonteerd en wordt geconfronteerd met een hoek van 90 graden, wanneer het een obstakel tegenkomt zal kleiner dan of gelijk aan 20cm in deze richting de servo naar rechts draaien. Houd ook in gedachten dat als 0 u een volledige rotatie naar links geeft dan de volledige juiste draaihoek van die servo 180 is. Dank u en geniet van. :)
#include / / servo bibliotheek
#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
Zet uw belangrijkste code hier, om het herhaaldelijk uitvoeren: // put your main code here, to run repeatedly: }