Själv hinder undvika Robot (4 / 9 steg)
Steg 4: Förbereda Arduino styrelsen
Anslut han Arduino ombord med PC via USB-kabel.
"Vänligen inte dela denna koden online utan författarens tillstånd"
Ladda följande skiss genom att använda officiella Arduino programmering programvara:
/ * Kod skriven av Pathikrit. Jag har förklarat koden i de grå kommentarerna. Ändra det genom din önskan. Vänligen inte dela denna kod på internet utan utgivarens tillstånd * /
#include //import biblioteket motor sköld
#define trigPin 2 / / definiera stiften på din sensor
#define echoPin 13
AF_DCMotor motor1(1,MOTOR12_64KHZ); Ställ in motorer.
AF_DCMotor motor2 (2, MOTOR12_64KHZ).
AF_DCMotor motor3(3,MOTOR12_1KHZ); Ställ in motorer.
AF_DCMotor motor4 (4, MOTOR12_1KHZ).
void setup() {
Serial.BEGIN(9600); börja följetong communitication
Serial.println ("Motor test!");
pinMode (trigPin, produktionen); / / set trig PIN-koden till utgång (skicka ljudvågor)
pinMode (echoPin, ingång); / / set echo pin till ingång (får ljudvågor)
motor1.setSpeed(175); ställa in hastigheten på motorerna, mellan 0-255
motor2.setSpeed (175);
motor3.setSpeed (175);
motor4.setSpeed (175);
}
void loop() {
lång varaktighet, avstånd; starta sökningen
digitalWrite (trigPin, låg);
delayMicroseconds(3); förseningar som krävs för en framgångsrik sensor operation.
digitalWrite (trigPin, hög);
delayMicroseconds(10); denna försening är krävs också!
digitalWrite (trigPin, låg);
längd = pulseIn (echoPin, hög);
avståndet = (längd/2) / 29,1; / / konvertera avståndet till centimeter.
om (distanserar < 20) / * om det finns ett hinder 5 centimers, framåt, gör följande: * / {
Serial.println ("nära hinder upptäcks!");
Serial.println ("hinder Detaljer:");
Serial.Print ("avstånd från Robot är");
Serial.Print (distans);
Serial.Print ("CM!"); / / skriva ut avståndet i centimeter.
Serial.println ("hindret är förklarade ett hot beror på nära avstånd.");
Serial.println ("vrida!");
motor1.Run(Backward); Vänd så länge det finns ett hinder framåt.
motor2.Run (bakåt);
motor3.Run(forward); Vänd så länge det finns ett hinder framåt.
motor4.Run (framåt);
}
annat {
Serial.println ("inget hinder upptäcks. kommer fram");
fördröjning (15).
motor1.Run(forward); om det finns något hinder framåt, gå framåt!
motor2.Run(forward);
motor3.Run(forward); om det finns något hinder framåt, gå framåt!
motor4.Run(forward);
}
}