InchWorm Robot (6 / 6 steg)
Steg 6: Arduino skiss
Här är den kompletta Arduino skiss för projektet. Efter montering roboten tillsammans och ladda upp skissen, kommer att roboten gå framåt när ett objekt placeras inom 10 cm från rörelsesensor.
/******************************************
SYFTE: Inchworm Robot skapad av
Mikhail Ivanovsit datum: 4/13/2016 *** /
#define echoPin 6 / / Detta är echo pin
#define triggerPin 7 / / detta är trigger pin
#include //include närhet sensor bibliotek #include //include servo bibliotek
Servo myservo;
int pos = 0; definiera en variabel för att spåra positionen av servo
void setup() {
Serial.BEGIN(115200); Starta seriell kommunikation
pinMode (echoPin, ingång); //set pinmodes
pinMode (triggerPin, produktionen);
myservo.attach(13); tillmäter objektet servo servo på pin 9
myservo.write(POS); anger första servo till 0
pinMode (2, utgång);
pinMode (3, OUTPUT);
digitalWrite (3, hög). den röda lysdioden ska på, och den gröna lysdioden off
digitalWrite (2, låg). }
/***************************main loop*********************************************************/
float kontroll. variabel för att spåra distane
void loop() {
Serial.Print ("avståndet är:"); Start seriell övervaka att spåra analysera koden
digitalWrite (triggerPin, hög); gör en 10usec puls, Använd rörelsesensor
delayMicroseconds(10);
digitalWrite (triggerPin, låg); stänga av trigger pin
flyta avstånd = pulseIn(echoPin,HIGH); nu läsa returnerar den puls som skickas tillbaka av sensor //pulseIn puls längd i usec
avståndet = avstånd/58. avståndet i [cm] beräknas genom pulslängd [usec] / 58
Serial.Print(Distance,dec); / / skicka mätning till seriell bildskärmen
Serial.println ("cm"); seriella bildskärmen används till keeo spår av de uppgifter som erhållits av rörelsesensor
Kontrollera = 11; tilldela ett värde att kontrollera högre än 10 cm
myservo.write(0); returnera servo placerar 0 i början av slingan
Delay(500); förseningen var inställd på att tillåta servo att slutföra 180 graders rörelse
Kontrollera = avstånd; tilldela variabeln kontrollera värdet för avstånd
om (kontrollera < 10) {
myservo.write(80); om avståndet är mindre än 10 cm, flytta servo till 180
digitalWrite (3, låg). Lys upp gröna LED, och stänga av röd LED
digitalWrite(2,HIGH); }
annat {
digitalWrite (2, låg). om avståndet är mer än 10cm, sedan hålla lysdioderna i starttillståndet digitalWrite(3,HIGH);
}
Delay(500);
}