In dieser Anleitung zeige ich dir was du für dein erstes Arduino Auto brauchst. Bei einem durch den Arduino gesteuerten Auto sollte man zuerst mit der Auswahl des richtigen Entwicklerboards beginnen. Für Anfänger eignet sich der Arduino Nano.
Für den Bau eines Bluetooth Autos gibt es verschiedene Möglichkeiten aber jeder sollte nach seinem Bedarf persönlich entscheiden. Du kannst theoretisch die Anzahl der Räder verändern oder ein andere Grund-plattform verwenden. Dir sind keine Grenzen gesetzt. Arduino Autos sind nicht so schwer zu bauen.
Inhaltsverzeichnis
1. Einsteiger-Kits
2. Bauteile für eine Steuerung mit Bluetooth
4. Steuerung über ein Andoid Handy mit Bluetooth
Einsteiger Kits – Arduino Car bauen
Super Einsteiger-kit von ELEGOO mit Arduino Uno und IR Fernbedienung
Für jemanden der nicht alles einzeln kaufen möchte, oder lieber kein Risiko eingehen will, empfehle ich das Smart Auto Roboter Bastler Set von ELEGOO. Der Zusammenbau ist nicht sehr schwer und erfordert keine extra Werkzeuge, da diese bereits im Set enthalten sind.
Bauteile für dein eigenes Arduino Auto
Wenn du dein ganz eigenes Auto bauen willst, musst du erstmal die kompatiblen Teile zusammenstellen. Hier findest du eine Übersicht von dem was du brauchen kannst.
Bauplan Arduino Auto Bluetooth
Steuerung Arduino Auto Bluetooth
Zur Steuerung gibt es verschiedene Apps für Android im PlayStore. Zu den besten gehören „Arduino Car“ oder „Arduino Bluetooth RC Car„. Nach der Installation musst du dich nur noch mit dem Bluetooth Modul verbinden und kannst nach der Einrichtung dein Auto testen 🙂
Viel Spaß beim Bauen und beim Ausprobieren!
Code Arduino Auto
/*
Autor: Arduino-Garten
https://arduino.garten.de
*/
#include <SoftwareSerial.h>
SoftwareSerial BT(2,3);
int motor11 = 4; //
int motor12 = 5; //
int enable1 = 6; //
int motor21 = 7; //
int motor22 = 8; //
int enable2 = 9; //
int claxon = 10; //
int estado;
int flag=0;
int estadoStop=0;
void setup() {
pinMode(motor11, OUTPUT);
pinMode(motor12, OUTPUT);
pinMode(enable1, OUTPUT);
pinMode(motor21, OUTPUT);
pinMode(motor22, OUTPUT);
pinMode(enable2, OUTPUT);
pinMode(claxon, OUTPUT);
analogWrite(enable1, 80);
analogWrite(enable2, 80);
BT.begin(9600);
Serial.begin(9600);
}
void loop() {
if(BT.available() > 0){
estado = BT.read();
flag=0;
}
if (estado == '1') {
analogWrite(enable1,80);
analogWrite(enable2,80);
}
if (estado == '2') {
analogWrite(enable1,100);
analogWrite(enable2,100);
}
if (estado == '3') {
analogWrite(enable1,120);
analogWrite(enable2,120);
}
if (estado == '4') {
analogWrite(enable1,140);
analogWrite(enable2,140);
}
if (estado == '5') {
analogWrite(enable1,160);
analogWrite(enable2,160);
}
if (estado == '6') {
analogWrite(enable1,180);
analogWrite(enable2,180);
}
if (estado == '7') {
analogWrite(enable1,200);
analogWrite(enable2,200);
}
if (estado == '8') {
analogWrite(enable1,220);
analogWrite(enable2,220);
}
if (estado == '9') {
analogWrite(enable1,240);
analogWrite(enable2,240);
}
if (estado == 'F') {
digitalWrite(motor11, HIGH);
digitalWrite(motor12, LOW);
digitalWrite(motor21, HIGH);
digitalWrite(motor22, LOW);
if(flag == 0){
Serial.println("Avance!!!");
flag=1;
}
}
else if (estado == 'L') {
digitalWrite(motor11, LOW);
digitalWrite(motor12, LOW);
digitalWrite(motor21, HIGH);
digitalWrite(motor22, LOW);
if(flag == 0){
Serial.println("Gira Izquierda");
flag=1;
}
}
else if (estado == 'S' || estadoStop == 1) {
digitalWrite(motor11, LOW);
digitalWrite(motor12, LOW);
digitalWrite(motor21, LOW);
digitalWrite(motor22, LOW);
if(flag == 0){
Serial.println("STOP!");
flag=1;
}
estadoStop=0;
}
else if (estado == 'R') {
digitalWrite(motor11, HIGH);
digitalWrite(motor12, LOW);
digitalWrite(motor21, LOW);
digitalWrite(motor22, LOW);
if(flag == 0){
Serial.println("Gira Derecha");
flag=1;
}
}
else if (estado == 'B') {
digitalWrite(motor11, LOW);
digitalWrite(motor12, HIGH);
digitalWrite(motor21, LOW);
digitalWrite(motor22, HIGH);
if(flag == 0){
Serial.println("Reversa!");
flag=1;
}
}
else if (estado == 'I') {
digitalWrite(motor11, HIGH);
digitalWrite(motor12, LOW);
digitalWrite(motor21, LOW);
digitalWrite(motor22, HIGH);
if(flag == 0){
Serial.println("Reversa!");
flag=1;
}
}
else if (estado == 'G') {
digitalWrite(motor11, LOW);
digitalWrite(motor12, HIGH);
digitalWrite(motor21, HIGH);
digitalWrite(motor22, LOW);
if(flag == 0){
Serial.println("Reversa!");
flag=1;
}
}
else if (estado == 'J') {
digitalWrite(motor11, LOW);
digitalWrite(motor12, HIGH);
digitalWrite(motor21, HIGH);
digitalWrite(motor22, LOW);
if(flag == 0){
Serial.println("Reversa!");
flag=1;
}
}
else if (estado == 'H') {
digitalWrite(motor11, HIGH);
digitalWrite(motor12, LOW);
digitalWrite(motor21, LOW);
digitalWrite(motor22, HIGH);
if(flag == 0){
Serial.println("Reversa!");
flag=1;
}
}
else if (estado =='V'){
tone (claxon,1000);
}
else if (estado =='v'){
noTone (claxon);
}