Arduino robot i 5 min (10 / 10 steg)

Steg 10: kod




Ladda upp denna to.arduino och din goda till goooooo

#include
#include

Nedan är de symboliska konstanterna. I stället för att skriva i en icke-sensical pin-kod varje gång vi vill göra något vi kan skriva ett lätt att förstå namn som representerar stiftet, kompilatorn kommer sedan ersätta namnen med siffrorna
#define LeftMotorForward 8
#define LeftMotorBackward 9
#define RightMotorForward 10
#define RightMotorBackward 11
#define USTrigger 3
#define USEcho 2
#define MaxDistance 100
#define LED 13

Här har vi skapat två "objekt", en för servo och en för ultrasonic sensor
Servo servo;
NewPing sonar (USTrigger, USEcho, MaxDistance);

Nedan skapar vi osignerat heltal variabler som vi kommer att använda senare i koden. De är osignerade som de kommer bara att ha positiva värden
unsigned int varaktighet;
unsigned int avstånd;
unsigned int FrontDistance;
unsigned int LeftDistance;
unsigned int RightDistance;
unsigned int tid;
unsigned int CollisionCounter;

void setup() //This block händer en gång vid start
{
Serial.BEGIN(9600); Jag har inkluderat den seriella initieringen men kommenterade det, om du vill felsöka och tryckta information till seriell monitor bara avkommentera

Här ställer vi in pin lägen. Som vi kommer att skicka ut signaler från stiften vi ställa in dem som utgångar
pinMode (LeftMotorForward, OUTPUT);
pinMode (LeftMotorBackward, OUTPUT);
pinMode (RightMotorForward, OUTPUT);
pinMode (RightMotorBackward, OUTPUT);
pinMode (LED, OUTPUT);
servo.attach(6); Servo är kopplad till stift 4
}

void loop() //This block upprepar sig medan Arduino är påslagen
{
servo.write(90); Rotera servo för att möta främre
Scan(); Gå till funktionen scan
FrontDistance = avstånd; Ange värde avstånd återvände från scan-funktionen för variabeln FrontDistance
Serial.println ("Front avstånd =");
Serial.Print(Distance);
om (FrontDistance > 60 || FrontDistance == 0) //If det finns inget infront av roboten inom 15 cm eller avståndet är 0 (som för newping biblioteket betyder ingen ping returnerades) sedan...
{
moveForward(); Gå till funktionen moveForward
}
annan //Else (om det finns något infront av roboten inom 40cm) sedan...
{
CollisionCounter = CollisionCounter + 1.
moveStop(); Gå till funktionen moveStop
Navigate();
}
}

void moveForward() //This funktion berättar roboten att gå framåt
{
Serial.println("");
Serial.println ("framåt");
digitalWrite (LeftMotorBackward, låg);
digitalWrite (LeftMotorForward, hög);
digitalWrite (RightMotorBackward, låg);
digitalWrite (RightMotorForward, hög);
}

void moveBackward() //This funktion berättar roboten att flytta bakåt
{
Serial.println("");
Serial.println ("flytta bakåt");
digitalWrite (LeftMotorForward, låg);
digitalWrite (LeftMotorBackward, hög);
digitalWrite (RightMotorForward, låg);
digitalWrite (RightMotorBackward, hög);
}

void moveLeft() //This funktion berättar roboten att svänga vänster
{
Serial.println("");
Serial.println ("flytta vänster");
digitalWrite (LeftMotorForward, låg);
digitalWrite (LeftMotorBackward, hög);
digitalWrite (RightMotorBackward, låg);
digitalWrite (RightMotorForward, hög);

}

void moveRight() //This funktion berättar roboten till höger
{
Serial.println("");
Serial.println ("flytta rätt");
digitalWrite (LeftMotorBackward, låg);
digitalWrite (LeftMotorForward, hög);
digitalWrite (RightMotorForward, låg);
digitalWrite (RightMotorBackward, hög);
}

void moveStop() //This funktion berättar roboten att sluta flytta
{
Serial.println("");
Serial.println("stopping");
digitalWrite (LeftMotorBackward, låg);
digitalWrite (LeftMotorForward, låg);
digitalWrite (RightMotorForward, låg);
digitalWrite (RightMotorBackward, låg);
}
void scan() //This funktion bestämmer avståndet saker är från ultraljud sensorn
{
Serial.println("");
Serial.println("scanning");
Tid = sonar.ping();
avståndet = tid / US_ROUNDTRIP_CM;
Delay(500);
}
void navigate()
{
Serial.println ("det finns ett hinder!");
servo.write(167); Flytta servo till vänster (min lilla servon inte gillar kommer att 180 så jag lekte med värdet tills det fungerade fint)
Delay(1000); Vänta en halv sekund för servo att komma dit
Scan(); Gå till funktionen scan
LeftDistance = avstånd; Den variabla LeftDistance inställd på avståndet till vänster
Serial.println ("lämnade avstånd =");
Serial.Print(Distance);
servo.write(0); Flytta servo till höger
Delay(1000); Vänta en halv sekund för servo att komma dit
Scan(); Gå till funktionen scan
RightDistance = avstånd; Den variabla RightDistance inställd på avståndet till höger
Serial.println ("rätt avstånd =");
Serial.Print(Distance);
om (abs (RightDistance - LeftDistance) < 5)
{
moveBackward(); Gå till funktionen moveBackward
Delay(200); Pausa programmet för 200 millisekunder att låta roboten vända
moveRight(); Gå till funktionen moveRight
Delay(100); Pausa programmet för 200 millisekunder att låta roboten sväng höger
}
annat if(RightDistance < LeftDistance) //If avståndet till höger är mindre än den till vänster då...
{
moveLeft(); Gå till funktionen moveLeft
Delay(100); Pausa programmet i en halv sekund att låta roboten vända
}
annat if(LeftDistance < RightDistance) //Else om avståndet till vänster är mindre än den till höger sedan...
{
moveRight(); Gå till funktionen moveRight
Delay(100); Pausa programmet i en halv sekund att låta roboten vända
}

Se Steg
Relaterade Ämnen

Android G1 följetong till Arduino Robot

lära sig hur din Android mobiltelefon kan styra en robot med en Arduino ombord. Telefonen tar kommandon via telnet från en annan telefon eller en PC, så kan du fjärrstyra roboten. Detta projekt kommer annars inte ändra G1 så du kan fortsätta använda...

Arduino Robot handledning

Jag var forskande Instructable databasen för en handledning för officiella Arduino Robot, men jag kunde inte hitta en! Så arg jag denna handledning för att hjälpa andra som en smula behövde lite hjälp med sina nya Arduino Robot.Steg 1: Konfigurera di...

Arduino Robot för lägsta kostnad

SE MIG PÅ NYC MAKER FAIRE!Det hela började med detta:Arduino Robot utmaning: Hur billigt kan du skapa en robot med en Arduino för 5: e klassare?Jag hoppas att detta instructable har en viss elegans till dess enkelhet och kommer att övertyga dig att b...

Arduino Robot från Wheeeebot RC bil

Vill komma igång med robotar och Arduinos men vet inte vart man ska gå? Här är ett snabbt sätt att bygga en robot med en RC bil, en Arduino UNO och en Motor sköld från SeeedStudio. Roligt med detta bygga är att Wheeee-mote bilen endast har en motor i...

Arduino Robot Arm

jag hade lovat i ett tidigare inlägg att dela med dig en arduino robot arm projektet vid ett senare tillfälle. Tja, är den dagen idag! Men istället för att använda en joystick för att styra arduino robotarm, kommer jag att pre program armrörelser. Va...

Johnny5 Arduino Robot DfRobotshop rover med fjärrkontroll HTML-gränssnitt

I det här inlägget jag förklara steg för steg hur jag bygga en Arduino baserad Robot och program det med Javascript. Jag förklara vilken design val jag gjort, vilka ramar och tekniker jag använde och hur jag programmet och konfigurerat roboten.Du kan...

RC bil till autonoma Arduino Robot

Har du någonsin önskat att konstruera en enkel autonoma Arduino robot? Jag blev inspirerad att bygga en grundläggande Arduino robot för att hjälpa min förståelse av Arduino, Arduino IDE och driften av ultraljudssensorer och motor förare. Och så, jag...

Avlägsen kontrollerade Arduino Robot med Wixel sändtagarna

uppdatering JAN 2012: detta projekt var med på Pololus hemsida under resurser/Community projekt. http://www.Pololu.com/resources/communityprojectsINTRODUKTIONI detta projekt, jag använder två Pololu Wixel sändtagarna fjärrstyra en Arduino robot från...

Enkla 3D tryckt Arduino Robot

Vem vill inte bygga en robot? Som barn drömde jag att bygga robotar. Nu, alla i alla åldrar med bara lite kunskap kan bygga en enkel robot! Jag kommer att visa dig hur man gör just detta.RobotenDenna robot har en 3D tryckta chassi. Den har en arduino...

(med Video) Grundläggande Arduino Robot, ljus sökare!

Många gånger jag har googlade för "Arduino Robot" i hopp om att hitta en robot att bygga. Jag hamnar att hitta många versioner av ett hinder att undvika robot som använder antingen IR eller en sonar avståndsmätare sensor monterad på en servo att...

Arduino Robot V2 (snabb) också röst kontrollerat

Detta är min andra version av min arduino robot efter "Bygga din första robot". Min andra versionen är något komplicerat förhållande till min första en men erbjuder bättre funktioner. I detta instructable kommer jag för att visa dig hur man bygg...

Temperatur inspelning Arduino Robot

min son och jag själv gjorde en liten arduino robot som registrerar temperatur. Han ville att jag skulle Rita en robot, jag ville experimentera med blinkande lysdioder återutläggning data så en plan kläcktes. Hur LEDs arbetet är som följer: grön = lä...

Vattenkanoner arduino robot IR

Vattenkanoner arduino robotSteg 1: Arduino Uno R2Arduino MotorshieldVattenpumpflexibel slang6 x AA NiMh-batterierBatteribox för 2 AABatteribox för 4 AAServo 9 g x 22WD Robot chassiRelay 5VIR-fjärrkontrollIR-ReciviersladdarSteg 2:...

Arduino Robot - livets träd

Arduino Robot - livets trädLista:1) Arduino Duemilanovue2) aluminium plåt3) Alumnium ledningar4) 5 x 3 blått mm lysdioder5) mässing öljetter6) enkel kärna ledningar7) vitrinskåpBesök http://retardokiddo.blogspot.com/ för detaljer och kommentarer!(Vän...

Kontrollerande Arduino robot med iOS, iPhone, iPad eller Android

LOFI kontroll kan du styra en Arduino robot med en iOS-enhet (iPhone eller iPad) över Bluetooth LE (Bluetooth 4.0) modul som HM-10 eller HM-11.Appen var ämnad att arbeta med LOFI hjärnan controller och är kompatibel med nästan alla Arduino ombord.LAD...

Hur man gör ett hinder att undvika Arduino Robot! "Min Robot V1"

Detta instructable visar steg instruktioner för att göra ett hinder att undvika robot med Arduino.Låt komma igångmin blogghttp://robot4pro.blogspot.com/p/My-robots.htmlSteg 1: Material som krävs förHär är allt du behöver för att MyRobotV1. Jag ska ge...

Min första Arduino Robot

Jag byggde denna robot eftersom det är billigt, enkelt och roligt. Den totala kostnaden för detta projekt är under $100. Det har en lös "huvud", en taktil tryckknapp controller, och använder en Arduino Uno micro controller för dess "hjärnor...

4WD alla terräng Arduino Robot för alla

Jag har alltid gillat robotar som kan flytta i svår terräng. Denna gång bestämde jag mig att jag kommer att använda färdiga chassi ändra det något och lägga till några ytterligare komponenter. Med hjälp av ett redo chassi kunde jag snabbt bygga upp e...

Arduino Robot katapult

Hej där stipendiaten beslutsfattare,Detta instructable är mitt försök att göra en robot för tävlingen "ROBOTICS CONTEST" i instructables. Så här är det :)Jag ska börja detta instructable med ett skämt :)F: Vad är skillnaden mellan män och pojkar...