(med Video) Grundläggande Arduino Robot, ljus sökare! (7 / 8 steg)

Steg 7: Final koden




/****************************************************************************************************************
* Program för en enkel ljus söker Robot.
* skapade av: Anuj
* (c) copyright
*
* Robotic base bör omfatta differentiell enhet.
*
* Fysiska installationen:
* Två LDRs ansluten till marken och Analog pin 1(Right) och Analog pin 2(left)
* bas av NPN-transistorer på stift 11(right) och 12(left).
*
*
******************************************************************************************************************/
Med hjälp av Arduino Duemilinove

PIN definitioner - fäster en variabel till en PIN-kod.
CONST int RightMotor = 2; Detta stift används för att aktivera eller inaktivera rätt motor. Ansluten till basen av en NPN-transistor.
CONST int LeftMotor = 3; Detta stift används för att aktivera eller inaktivera vänstra motorn. Ansluten till basen av en NPN-transistor.
CONST int RightSensor = 1; Detta stift används för att läsa värdet för rätt sensorn.
CONST int LeftSensor = 2; Detta stift används för att läsa värdet på vänster sensorn.

Varierande definitioner

int SensorLeft; Detta lagrar värdet för vänster givarstaven att använda senare i skissen
int SensorRight; Här lagras värdet av rätt givarstaven att använda senare i skissen
int SensorDifference; Detta värde används för att avgöra skillnaden mellan vänster och höger

metoden setup() körs när när programmet körs. När den
Arduino återställs, setup() kommer att genomföras en gång.

void setup() {

pinMode (LeftMotor, OUTPUT); Definierar detta stift som en utgång. Arduinoen kommer att skriva värden till detta stift.
pinMode (RightMotor, OUTPUT); Definierar detta stift som en utgång. Arduinoen kommer att skriva värden till detta stift.
pinMode (LeftSensor, indata); Definierar detta stift som indata. Arduino läser värden från detta stift.
pinMode (RightSensor, indata); Definierar detta stift som indata. Arduino läser värden från detta stift.
digitalWrite (A1, hög); Gör en inre pullup motstånd
digitalWrite (A2, hög); Gör en inre pullup motstånd
Serial.BEGIN(9600); Kan en seriell anslutning via Arduino till antingen USB eller UART (stift 0 & 1). Observera att överföringshastigheten är inställd 9600
Serial.println ("\nBeginning ljus söker beteende"); Placeras i slutet av void Setup() så att det körs en gång, precis innan den ogiltiga Loop()
}

metoden loop() körs om och om igen,
så länge Arduino har makt

void loop() {
SensorLeft = 1023 - analogRead(LeftSensor); Detta läser värdet i sensorn och sedan sparar den till motsvarande heltal.
Delay(1);
SensorRight = 1023 - analogRead(RightSensor); Detta läser värdet i sensorn och sedan sparar den till motsvarande heltal.
Delay(1);
SensorDifference = abs (SensorLeft - SensorRight); Detta beräknas skillnaden mellan de två sensorerna och sedan sparar den till ett heltal.

Detta avsnitt av skiss används för att skriva ut värdena i de
sensorer via seriell till datorn. Användbart för att bestämma
om sensorerna arbetar och om koden också fungerar.

Serial.Print ("vänster Sensor ="); Skriver ut texten i citat.
Serial.Print(SensorLeft); Skriver ut värdet på vänster sensorn.
Serial.Print("\t"); Skriver ut en flik (mellanslag).
Serial.Print ("rätt Sensor ="); Skriver ut texten i citat.
Serial.Print(SensorRight); Skriver ut värdet av rätt sensorn.
Serial.Print("\t"); Skriver ut en flik (mellanslag).

Detta avsnitt av skiss är vilken faktiskt interperets data och sedan körs motorerna därefter.

om (SensorLeft > SensorRight & & SensorDifference > 75) {/ / detta tolkas som om vänstra sensorn läser mer ljus än höger sensorn, göra detta:
digitalWrite (RightMotor, hög); Detta används till sväng vänster. Märka den
digitalWrite (LeftMotor, låg); mittemot motor går att vända vänster.
Serial.println("left"); Detta skriver vänster när roboten skulle faktiskt sväng vänster.
}

om (SensorLeft < SensorRight & & SensorDifference > 75) {/ / detta tolkas som om vänstra sensorn läser mindre ljus än höger sensorn, göra detta:
digitalWrite (RightMotor, låg); Detta används till sväng höger. Märka den
digitalWrite (LeftMotor, hög); mittemot motor går att vända rätt.
Serial.println("Right"); Detta skriver rätt när roboten skulle faktiskt sväng höger.
}

annars om (SensorDifference < 75) {/ / detta tolkas som om skillnaden mellan de två sensorerna är under 125 (Experiment som passar våra sensorer), gör detta:
digitalWrite (RightMotor, hög); Detta används för att gå rakt. Varsel
digitalWrite (LeftMotor, hög); båda motorerna är aktiverade att gå framåt.
Serial.println("forward"); Detta skriver fram när roboten skulle faktiskt gå framåt.
}
Serial.Print("\n");
}

Se Steg
Relaterade Ämnen

YourDuino: Grundläggande Arduino-kompatibel att undvika kollision Robot

Hur man bygger en grundläggande Arduino-kompatibel kollision-undvika RobotObs: Se de tillgängliga Arduino programvara Test skisser och kollisionsundvikande programvara här (klicka)Obs: Senare måste du ha Arduino "IDE" programvara utvecklingssyst...

Förbättra din Ultimate Frisbee spel med dessa grundläggande kasta tekniker

som tidigare ledamot av Iowa State University Women's Ultimate Frisbee Team, Kvinna hånad, som har synts på College medborgare 2009 och 2011, jag har några insikter i sporten Ultimate Frisbee. Jag har fått alla mina färdigheter och kunskaper från and...

Lätt grundläggande Arduino Ethernet Controller

jag nyligen gick ut och köpte en Arduino Ethernet Shield men kunde inte riktigt ta den i bruk som jag inte kunde hitta några lätt tutorials så jag började att försöka kod själv. Jag kunde komma med en enkel del av koden som visade på en LED från din...

Med chipKIT grundläggande i/o-sköld med Analog RGB Strip LED

För några månader sedan jag skrev ett blogginlägg om chipKIT grundläggande I/O sköld och används Analog RBG remsor att demonstrera den öppna avlopp fETsna.Detta inlägg är att ge information om hur tråd upp remsan lysdioder till I/O sköld.Du bör redan...

Fotografera snöflingor med en grundläggande point-and-shoot kamera

målet: fotografera snöflingor använda en vanlig, off-the-shelf, point-and-shoot kamera. Jag skapade också en "holiday mosaik" med snöflinga bilder. Du kan hoppa över till den sista steget för en "galleri av snöflingor."Fånga dessa verk...

Grundläggande Arduino början krets

kolla in TECHSHOP. TECHSHOP. WS. Detta kommer att vara en grundläggande krets med 2 lysdioder och 1 switch. Vi kommer att använda arduino uno. kretsen kommer att utföra som: när ingenting trycks det röda ljuset kommer att bo när knappen trycks in sed...

Grundläggande Arduino blixtljus

detta instructable visar dig hur man gör en grundläggande blixtljus med en arduino.Du behöver-4 lysdioder (koden kan ändras för mer information om du vill)-en arduino (jag använder UNO r3)-ett gem-en dator med arduino ide installerat-ett A / B USB-ka...

Lektion 4: Grundläggande Arduino Pt. 2: Introduktion till kodning

Välkommen tillbaka, ivriga elever. För de nya till denna serie, se mitt tidigare lektioner i grundläggande elektroteknik. För de inte nya, förbereda sig för att ange en värld av kodning, där du kan ändra hur din krets fungerar via en dator. Detta är...

Grundläggande Arduino Tutorials: 01 blinkande LED

i detta instructable, jag ska visa dig hur man gör en enkel krets/kod med en arduino, vilket kommer att göra en lysdiod ansluten till den flash från av till på, med 1 sekunds intervall, som visas nedan.Detta är en mycket lätt, grundläggande idé, men...

Grundläggande Arduino tid och datumvisning

HejJag är DavisDetta är min första någonsin instuctable så bli inte till hårdDetta är för en grundläggande klocka visas på en LCD-DisplaySteg 1: Installation och utrustningFörsta av all utrustning:1 x Arduino enhet (jag använder en Freetronics Arduin...

Gör ditt hem Imporvement projekt enklare med denna grundläggande råd

Konst iѕ en aktivitet som barnen. Det аre mаny saker som уou сan utbilda yоur barn abоut konst. Till exempel whаt konst iѕ usеd, förlägger konst іs sett, verktyg att аre används, ytor thаt konst är usеd på аnd olika konstnärliga yrken. Jag kommer bе...

Grundläggande NXT robot, första försöket

Hej,Detta är mitt första försök med NXT robotar, och jag fann det mycket fin...

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...

Arduino nybörjare och grundläggande elektronik Kit Primer

lärde jag mig att en av mina systerdöttrar hade ett intresse för programmering. Hon arbetade med robotics på gymnasiet och har en sommar praktikplats där de hade Arduinos. Jag tror att hon kunde låna en Arduino för att experimentera med hemma men var...

Bygga en Gaming dator, eller lära sig de grundläggande delarna

Min son älskar teknik, vi har byggt en massa projekt tillsammans men detta är hans favorit. Detta gaming dator är hans stolthet och glädje. Den kan hantera alla av hans spel, streaming & inspelning behov, FPS är top notch och den grafiska kvaliteten...

Android-utveckling: Att skapa en grundläggande kalkylator

Välkommen till en rolig tutorial på att göra en grundläggande kalkylator på en Android-applikation. I denna tutorial guidar jag dig genom dataöverföring all nödvändig programvara, utforma layouten för ansökan, kodning till att få det att fungera orde...

Grundläggande Zippo öppning knep

Steg 1: Måste du först en zippo. Måste du hålla den i ena handen på sidan med gångjärnetSteg 2: Du då behöva ta din andra hand och föra den längs sidan zippo med tillräcklig friktion Öppna locketSteg 3: Vid denna punkt locket bör vara öppna, nu för d...

4 grundläggande kommandon för att göra ritningar i AutoCAD: Använd dem för att rita en stjärna

Detta Instructable är skriven för dem som bara lärande och börjat med AutoCAD med syfte att förmedla några goda råd. Det förutsätter vissa anläggning med datorn.Jag kommer att visa hur man gör stjärnan ovan med fyra grundläggande och mycket användbar...

Grundläggande läder halvmask

Välkommen!Här hittar du en handledning om att göra en grundläggande läder halfmask (som visar på 2: a bilden).Jag har arbetat med läder i över 15 år, och ville bara dela en grundläggande gå igenom om hur man gör en bra mask av din alldeles egna :)Gär...