Arduino powered RC tank (7 / 8 steg)

Steg 7: Att sätta allt ihop



OK nu allt som återstår ansluta den alla tillsammans och uppladdning till skiss... Jag kommer inte att gå över skissen för mycket. Det i princip bara en ändring av Seeedstudio motor sköld demonstrationen koden. Jag fortfarande lekte runt med koden. Är inte perfekt men det kommer att ge dig en bra start. Känn dig fri att ändra det på något sätt du vill.

Ladda upp den följande skissen:

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Arduino powered RC tank av: Stanley Deakins
//
Detta är en grundläggande skiss för att driva en RC tank med hjälp av en Arduino och en seeedstudio ping sensor. Den använder en
Parallax ping sensor att navigera. Vänligen Känn dig fri att ändra denna skiss hur som helst du känner för. Detta är helt enkelt
precis tillräckligt för att få dig igång med projektet. Tack och njut.

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Byggd ovanpå Ping exempelkod av Tom Igoe
Denna konstant ändras inte. Det är den pin-kod
av sensorns utgång:
CONST int pingPin = 7.

int pinI1 = 8; //define I1 gränssnitt
int pinI2 = 11. //define I2 gränssnitt
int speedpinA = 9; //enable motor A
int pinI3 = 12; //define I3 gränssnitt
int pinI4 = 13. //define I4 gränssnitt
int speedpinB = 10; //enable motor B
int spead = 127; //define spead av motor

void setup()
{
pinMode(pinI1,OUTPUT);
pinMode(pinI2,OUTPUT);
pinMode(speedpinA,OUTPUT);
pinMode(pinI3,OUTPUT);
pinMode(pinI4,OUTPUT);
pinMode(speedpinB,OUTPUT);
}

void forward()
{
analogWrite (speedpinA, spead); //input en simulering värde ställa in hastigheten
analogWrite(speedpinB,spead);
digitalWrite (pinI4, hög), //turn DC Motor B flytta medurs
digitalWrite(pinI3,LOW);
digitalWrite (pinI2, låg); //turn DC Motor A flytta moturs
digitalWrite(pinI1,HIGH);
}
void backward() / /
{
analogWrite (speedpinA, spead); //input en simulering värde ställa in hastigheten
analogWrite(speedpinB,spead);
digitalWrite (pinI4, låg); //turn DC Motor B flytta moturs
digitalWrite(pinI3,HIGH);
digitalWrite (pinI2, hög), //turn DC Motor A flytta medurs
digitalWrite(pinI1,LOW);
}
void left() / /
{
analogWrite (speedpinA, spead); //input en simulering värde ställa in hastigheten
analogWrite(speedpinB,spead);
digitalWrite (pinI4, hög), //turn DC Motor B flytta medurs
digitalWrite(pinI3,LOW);
digitalWrite (pinI2, hög), //turn DC Motor A flytta medurs
digitalWrite(pinI1,LOW);
}
void right() / /
{
analogWrite (speedpinA, spead); //input en simulering värde ställa in hastigheten
analogWrite(speedpinB,spead);
digitalWrite (pinI4, låg); //turn DC Motor B flytta moturs
digitalWrite(pinI3,HIGH);
digitalWrite (pinI2, låg); //turn DC Motor A flytta medurs
digitalWrite(pinI1,HIGH);
}
Annullera stop() / /
{
digitalWrite(speedpinA,LOW); / / Unenble stift, att stoppa motorn. Detta bör göras till ivrig skadar motorn.
digitalWrite(speedpinB,LOW);
Delay(1000);

}

void loop()
{
fastställa variabler för varaktigheten av ping,
och avstånd resultatet i tum och centimeter:
lång varaktighet, tum, cm;

PING))) utlöses av en hög puls av 2 eller fler mikrosekunder.
Ge en kort låg puls förhand för att säkerställa en ren hög puls:
pinMode (pingPin, produktionen);
digitalWrite (pingPin, låg);
delayMicroseconds(2);
digitalWrite (pingPin, hög);
delayMicroseconds(5);
digitalWrite (pingPin, låg);

Samma PIN-koden används för att läsa signalen från PING))): en hög
puls vars längd är tid (i mikrosekunder) från den sändande
ping till mottagning av dess eko av ett objekt.
pinMode (pingPin, ingång);
längd = pulseIn (pingPin, hög);

konvertera tiden till ett avstånd
tum = microsecondsToInches(duration);

//
om objekt är mindre än 12 inches bort
roboten vänder och vänder sig till rätt
i 2 sekunder
//

om (inches < 8) {

bromsa drivmotorn och paus 1/10 sekund
Stop();

//
ställa in motors bakåt
//

Backward();
Delay(700);
Stop();

//
inställningen motorer att vända
//

Left();
Delay(1100);
Stop();
}

//
När ingenting är inom 8"
roboten enkelt drives framåt
//

annat {

//
Inställningen drivmotorn
//

Forward();
}
Delay(100);
}
lång microsecondsToInches(long microseconds)
{
Enligt Parallaxs datablad för PING))), det finns
73.746 mikrosekunder per tum (dvs. ljud resor på 1130 fot per
det andra). Detta ger vägsträcka som ping, utgående
och tillbaka, så vi delar med 2 att få distansera av hindret.
Se: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
återvända mikrosekunder / 74 / 2;
}

Se Steg
Relaterade Ämnen

Acrylic fisk Tank med Arduino-Powered mataren

Har du någonsin velat ett mer händer på känsla när får en fisk? Eller ville ha något annat än de genomsnittliga akvarier finns i butiker? Denna fisk tank är helt anpassad och kan ändras för att passa din storlek behov och har en Arduino powered feede...

Ett trådlöst kontrollerade, Arduino-Powered anslagstavla

bygga själv en trådlöst styrd, Arduino-powered anslagstavla!Här är ett enkelt projekt som skapar en trådlöst programmerbart anslagstavla. XBee moduler använder för att ge en trådlös seriell länk mellan datorn och enheten. Du interagerar med den via e...

Arduino-Powered binära termometer

jag nyligen förvärvat en Arduino Uno och letade efter en cool "komma igång" projekt. Jag beslöt att göra en termometer, som satsen har jag haft alla nödvändiga delar (termistor, sladdar, motstånd, lysdioder). Genom ett par iterationer, jag äntli...

Arduino Powered infraröd sak

Hej, detta är min första instructible. Jag kommer att visa dig hur man gör en arduino powered analog sensor läsare (jag kommer att använda en infraröd fotodiod).Steg 1: delar Du behöver flera saker att göra detta:1. någon form av fallet eller låda2....

Arduino Powered uppvärmd handske Liners

Arduino Powered uppvärmda handskarDetta projekt är om hur att göra världens smartaste uppvärmd handske liners för extremt kalla förhållanden som de i Minnesota eller människor som har Raynauds syndrome(like me). Dessa handskar kommer förses du med ti...

Arduino-powered LED klocka

En rolig, enkel LED-klocka, som ger dig tiden till den närmaste halvtimmen med hjälp av enfärgade lysdioder. Delar som behövs är följande:Arduino Nano400 tie-punkt skärbrädaBandkabelDS1307 RTC IC32.768 kHz Crystal(12) 10mm lysdioder(12) 180 Ohm motst...

Arduino powered Halloween pumpa med rörelsedetektor

Hejdetta Instructable visar dig hur man gör några Halloween dekorationer inklusive arduino powered Halloween pumpa med rörelsedetektor.Steg 1: Göra Halloween pumpa Material:Rund ballongGamla tidningarSmidig mjölVattenTemperaModellering leraSuperlimVe...

Arduino Powered RGB LED Vodka hylla

detta instructable kommer du igång att göra ditt eget arduino powered röd grön och blå LED-projekt. Det behöver inte ens vara en hylla! Vodka flaskor råkar bara lysa upp fint så det är vad jag valde att göra.I detta projekt använder vi varje stift på...

Att göra en Arduino Powered gardin Automation

I den här videon börja jag arbeta på visar dig hur man gör en Arduino Powered enhet som kommer att öppna och stänga gardiner!Med hjälp av några rep och en kontinuerlig rotation servo jag kan skapa en trissa system som fungerar som stamnät till rörels...

3 kanal arduino Powered Christmas Light Controller!

För julen i år, jag ville göra ett riktigt häftigt projekt men inte riktigt vet vad man ska göra. Som jag fick julen ljus ut att dekorera, var det en gammal trasig Christmas light timer. Jag tog isär och tittade på lågspänning kretsen. Innan detta ha...

Solar-orienterade, Arduino-Powered klockan

detta är en klocka för att hålla exakt tid (oberoende av atom eller GPS), Visa lokala soluppgång, solnedgång och solar, och även justera sig för sommartid.Jag ville ha klockan för att vara lätt att använda och vara flexibel. Funktionerna som inställn...

Arduino Powered raket styrsystemet

detta är min första Instructable så bär med mig.Detta är en Arduino Powered raket vägledning System. Jag skickade in detta för Google Global Science Fair. Min science projekt är på https://sites.google.com/site/arduinorocket/ . Det tog mig tre månade...

Arduino Powered Gainclone (förstärkare)

för er som inte vet (och jag inte förrän nyligen), en Gainclone är en förstärkare som är en klon av den ursprungliga utformningen av en förstärkare av 47 Labs kallas en Gaincard och är baserade på enkel flisa förstärkare av National Semiconductor - n...

Nattliga utsläpp: Min Arduino Powered Internet aktiverat dröm Generator

måste vi alla drömmer mer så jag har skapat denna Arduino Powered "dream generator" för att plantera frön för några stora tänkande galenskap. När du närmar dig generatorn en Maxbotix ultrasonic sensor utlöser ljus och musik som drar du i så du k...

Arduino Powered RGB humör lampa plus Simon

detta är grunden en arduino powered RGB humör lampa plus simon says spel, två i ett.Hur man använder: Enheten börjar med RGB humör lampa standardprogram, när du trycker på någon av de fyra knapparna längst ner, säger Simon spelet startar. När du tryc...

Hur man bygger en Arduino Powered Chess spela Robot

att döma av det stora antalet schack relaterade Instructables, jag tycker det är säkert att säga gemenskapen åtnjuter spelet. Det kan dock vara svårt, att hitta någon som spelar på samma nivå som du gör. Att lösa detta dilemma, och att öka min spela...

Arduino-Powered fyra bokstäver Word Generator

bygga en Arduino-drivna versionen av de "fyra bokstäver Word Generator" (FLW). Denna version genererar "ord" i farten - det använder inte en lista. Den "ursprungliga" versionen från 1970-talet använde B7971 nixie alfanumerisk...

Arduino powered hemsökt pumpa

detta är en söt liten projekt som tar en pumpa, rörelsesensor och vissa delar från Radio Shack. Det var roligt att skapa och bygga. Projektet sponsrades av Radio Shack stor skapa och jag har kunnat göra hela med delar tillgängliga från Radio Shack. T...

ROVER Bot - Arduino Bluetooth kontrollerad Tank

Arduino Bluetooth ROVER RobotArduino ROVERBot. Detta inlägg syftar till att presentera dig de konstruktion steg för en ROVER använder Arduino och en bluetooth-modul. För att styra ROVER var används en Android-telefon som RC (radio control) gränssnitt...