RC bil anti krasch systemet använder Arduino (10 / 10 steg)
Steg 10: Färdigställande
När jag avslutat min sista krets och fick makt för min Arduino, installera jag komponenter inne i bilen. Jag använde en limpistol för att hålla perfboard och batteri innehavaren på plats. För att placera sensorn framför jag loss bilens vindruta lite och matas sensorn genom en liten lucka. Jag sedan limmade varm det på plats längst fram. När jag hade alla komponenter på plats, jag laddade upp några kod till Arduino ansluten strömförsörjningen och skruvas i plast som täcker tillbaka på plats.
Där är vi nu:
Okej, var den ursprungliga planen att ansluta mottagaren utgång till Arduino så bilen skulle springa normalt tills det kom för nära en vägg. Men... när jag försökte lödning anslutningar till mottagarens stift mottagaren gav upp på mig. Jag fick faktiskt den till den punkt där jag kunde läsa rätt spänningar från anslutningarna jag lödda till mottagaren, men stiften som bröt efter ett tag.
Plan B:
Så nu när jag inte kan styra bilen med fjärrkontrollen beslutat jag att programmera bilen och göra den autonoma. Jag är fortfarande i processen att göra det helt autonoma (ungefär som en Roomba), men jag har åtminstone fått det till punkten var den känner av en vägg och det slutar. Jag kan också göra den främre däck slå baserat på kommandon från Arduino. Jag kommer att inkludera kodsträng som jag vet fungerar säkert nedan.
Möjliga saker för framtiden:
Jag hoppas att få bilen till den punkt där det är helt fristående. Dessutom tror jag det finns ett sätt att återgå fjärrkontroll kapacitet till bilen med hjälp av en Bluetooth-modul som BlueSMiRF Silver. Sådan modul skulle tillåta mig att styra bilen från en Bluetooth-utrustad dator eller telefon som skulle vara häftigt. Något annat som jag märkt är att de batterier som jag har använt har dikats snabbt. Detta innebär att jag kanske måste ändra hur jag driver kretsen. Med andra ord, skulle jag behöva använda något annat än ett 9v batteri.
Om jag kan, kommer jag lägga all vidare utveckling som jag gör. Men för nu, jag är bara glad att det kan känna väggar och slutar därefter.
Tack för läsning och jag hoppas du har hittat denna informativ.
Kod:
Etikett stiften kommer vi att använda
int enable12 = 7.
int input1 = 6;
int input2 = 5;
int enable34 = 4;
int input3 = 3;
int INGÅNG4 = 2;
void setup() {
Serial.BEGIN(9600); Ange baudvärde
Ställ in nödvändiga stiften som resultat
pinMode(enable12,OUTPUT);
pinMode(input1,OUTPUT);
pinMode(input2,OUTPUT);
pinMode(enable34,OUTPUT);
pinMode(input3,OUTPUT);
pinMode(input4,OUTPUT);
Aktivera stiften har angetts till hög
digitalWrite(enable12,HIGH);
digitalWrite(enable34,HIGH);
}
void loop() {
int sensorValue=analogRead(A2); Läs i sensorn värde
Serial.println(analogRead(a2)); tillåter oss att se den
sensor värde för felsökning
Delay(1); liten fördröjning för stabilitet
om (sensorValue < 150) {
goForward();
}
annat {
stopMovement();
}
}
Funktioner används för att kontrollera bilens rörelser
void goForward() {
digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
}
void goBack() {
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
}
void stopMovement() {
digitalWrite(input1,LOW);
digitalWrite(input2,LOW);
}
void goLeft() {
digitalWrite(input3,HIGH);
digitalWrite(input4,LOW);
}
void goRight() {
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
}
void stopTurning() {
digitalWrite(input3,LOW);
digitalWrite(input4,LOW);
}