Spåras Arduino Robot (20 / 21 steg)
Steg 20: Ladda ditt Program
Program på Arduino språk kallas skisser. Ladda denna prov skiss och din robot kommer att zooma runt på nolltid! Om du har problem med filen .ino, programmet ingår nedan i fetstil, bara kopiera och klistra in i fönstret Arduino körbara.
Sammanställning av robotik program för användning på Instructables. Tack för alla som bidragit!
#define trigPin 7 #define echoPin 6 //#define ledde 11 //#define led2 10
int pinI1 = 8; //define I1 gränssnitt int pinI2 = 11. //define I2 gränssnitt int speedpinA = 9; //enable motor en int pinI3 = 12; //define I3 gränssnitt int pinI4 = 13. //define I4 gränssnitt int speedpinB = 10; //enable motor B
void setup() {Serial.begin (9600), pinMode (trigPin, produktionen), pinMode (echoPin, ingång); / / pinMode (ledde, OUTPUT); / / / / pinMode (led2, produktionen); / /
pinMode(pinI1,OUTPUT); pinMode(pinI2,OUTPUT); pinMode(speedpinA,OUTPUT); pinMode(pinI3,OUTPUT); pinMode(pinI4,OUTPUT); pinMode(speedpinB,OUTPUT); }
void loop() {lång varaktighet, avstånd; digitalWrite (trigPin, låg); / / lagt till denna linje delayMicroseconds(2); / / lagt till denna linje digitalWrite (trigPin, hög); / / delayMicroseconds(1000); - bort denna linje delayMicroseconds(10); / / lagt till denna linje digitalWrite (trigPin, låg), längd = pulseIn (echoPin, hög); avstånd = (längd/2) / 29,1; om (distanserar < 40) {/ / Detta är där LED på / händer analogWrite (speedpinA, 0); //Slows hastighet av motorer till noll analogWrite (speedpinB 0); //Slows hastighet av motorer till noll digitalWrite (pinI4, låg); //turn DC Motor B flytta medurs digitalWrite(pinI3,HIGH); digitalWrite (pinI2, låg); //turn DC Motor A flytta moturs digitalWrite(pinI1,HIGH); digitalWrite(led,HIGH); När röda villkoret är uppfyllt, grön LED bör stänga av / / digitalWrite(led2,LOW); } annat {analogWrite (speedpinA, 240); //Drive framåt analogWrite (speedpinB, 240), //Drive framåt digitalWrite (pinI4, låg), //turn DC Motor B flytta medurs digitalWrite(pinI3,HIGH); digitalWrite (pinI2, låg), //turn DC Motor A flytta moturs digitalWrite(pinI1,HIGH); / / digitalWrite(led,LOW); / / digitalWrite(led2,HIGH);} om (avstånd > = 200 || avstånd < = 0) {analogWrite (speedpinA, 240); //Drive framåt analogWrite (speedpinB, 240); //Drive framåt digitalWrite (pinI4, låg); //turn DC Motor B flytta medurs digitalWrite (pinI3 HÖG); digitalWrite (pinI2, låg); //turn DC Motor A flytta moturs digitalWrite(pinI1,HIGH); Serial.println ("out of range"); } annat {Serial.print(distance); Serial.println ("cm"); } delay(500); }
Hänvisa till Arduino webbplats för detaljerade instruktioner om lastning program, skriva egna program och forska robot logik. Arduino har en stor gemenskap av människor som arbetar på alla aspekter av registeransvarige, du sannolikt att stöta på problem har troligen redan lösts.