Kontrollera ett Servo med Ultrasonic Sensor Signal med hjälp av Arduino (utfärda utegångsförbud för automatiserade System) (7 / 7 steg)
Steg 7: Koden
Som vanligt, bara kopiera koden till Arduino IDE och ladda upp den:
#include
Servo myservo; skapa objekt för att styra en servo servo
CONST int trigPin = 2;
CONST int echoPin = 4;
void setup() {
initiera seriell kommunikation:
Serial.BEGIN(9600);
myservo.attach(9); tillmäter objektet servo servo på pin 9
}
void loop() {
och avstånd resultatet i centimeter:
lång varaktighet, cm;
pinMode (trigPin, produktionen);
digitalWrite (trigPin, låg);
delayMicroseconds(2);
digitalWrite (trigPin, hög);
delayMicroseconds(20);
digitalWrite (trigPin, låg);
pinMode (echoPin, ingång);
längd = pulseIn (echoPin, hög);
konvertera tiden till ett avstånd
cm = microsecondsToCentimeters(duration);
villkora för avståndet
om (cm > 7 & & cm < 14)
{
myservo.write(140); anger servo skalad värde
Delay(4000);
}
annars om (cm < 8)
{
myservo.write(40); anger servo skalad värde
Delay(100);
}
annat
{
myservo.write(40); anger servo skalad värde
Delay(100);
}
Serial.Print(cm);
Serial.Print("cm");
Serial.println();
Delay(100);
}
lång microsecondsToCentimeters(long microseconds) {
Ljudets hastighet är 340 m/s eller 29 mikrosekunder per centimeter.
Ping reser ut och tillbaka, så för att hitta distansera av den
objekt vi tar hälften av den tillryggalagda.
återvända mikrosekunder / 29 / 2;
}