Schritt 9: Kleben sie zusammen und Programmierung der arduino
Verbinden Sie die Drähte mit motor Shield, wie in der Abbildung gezeigt. Jetzt gibt es nur noch ein Kabel frei, das ist für die Verbindung mit den LEDs. Dann kleben Sie die Motorsteuerung und Arduino Shield zusammen mit heißen Kleber Pistole. In das letzte Bild, was, das ich gezeigt habe, dass die Weitspringer Drähte mit Bluetooth verbunden, ist Modul auf dem Blutooth-Modul-Board umständlich, um Platz zu sparen.
Im nächsten Schritt werden wir dort um die elektronischen Teile in das PVC-Rohr einzufügen, müssen wir ihn zu programmieren.
Ich "benutze den FTDI parallel zur seriellen Konverter Programm der Arduino pro, haben Sie diesen Konverter. Gehen Sie durch diese instructable mit Arduino Uno zu programmieren.
Hier ist das Programm, laden Sie es und laden Sie sie auf Arduino pro Mini. Zögern Sie nicht, es zu bearbeiten ;)
Rohr-Bot
Konstanten und Variablen
Int motor1Pin1 = 5; Pin 2 auf IC L293D
Int motor1Pin2 = 6; Pin 7 auf IC L293D
Int motor2Pin1 = 8; PIN 10 auf IC L293D
Int motor2Pin2 = 7; Klemme 15 am IC L293D
Char DataIn = 'S';
Char Determinante;
Char Det;
Int Vel = 0; Bluetooth-Stuff
Int Whitelight = 13;
Int Rotlicht = 10;
void setup() {}
Serial.Begin(9600); Serielle Bibliothek auf 9600 Bit/s einrichten
setzt die Pins als Ausgänge:
PinMode (motor1Pin1, Ausgang);
PinMode (motor1Pin2, Ausgang);
PinMode (motor2Pin1, Ausgang);
PinMode (motor2Pin2, Ausgang);
PinMode (Whitelight, OUTPUT);
PinMode (Rotlicht, OUTPUT);
Initalization Nachrichten
Serial.println ("Arduin Rohr Bot");
DigitalWrite (Whitelight, LOW);
DigitalWrite (Rotlicht, LOW);
}
void loop() {}
Det = check(); Rufen Sie check() Subrotine um die Seriennummer zu erhalten
serielle Code-Analyse
Schalter (Det) {}
Fall "F": / / F, vorwärts
DigitalWrite (motor1Pin1, HIGH);
DigitalWrite (motor1Pin2, LOW);
DigitalWrite (motor2Pin1, LOW);
DigitalWrite (motor2Pin2, HIGH);
Det = check();
zu brechen;
Fall "B": / / B, rückwärts
DigitalWrite (motor1Pin1, LOW);
DigitalWrite (motor1Pin2, HIGH);
DigitalWrite (motor2Pin1, HIGH);
DigitalWrite (motor2Pin2, LOW);
Det = check();
zu brechen;
Fall "L": / / L, Umzug Räder links
DigitalWrite (motor1Pin1, HIGH);
DigitalWrite (motor1Pin2, LOW);
DigitalWrite (motor2Pin1, LOW);
DigitalWrite (motor2Pin2, LOW);
Det = check();
zu brechen;
Fall "R": / / R, Umzug Räder direkt
DigitalWrite (motor1Pin1, LOW);
DigitalWrite (motor1Pin2, LOW);
DigitalWrite (motor2Pin1, LOW);
DigitalWrite (motor2Pin2, HIGH);
Det = check();
zu brechen;
der Fall ": / / S, Stop
DigitalWrite (motor1Pin1, LOW);
DigitalWrite (motor1Pin2, LOW);
DigitalWrite (motor2Pin1, LOW);
DigitalWrite (motor2Pin2, LOW);
Det = check();
zu brechen;
Fall "U": / / V, rote Licht auf
Serial.println ("rotes Licht auf");
DigitalWrite (Rotlicht, HIGH);
zu brechen;
Fall "u": / / V, rote Licht ausschalten
Serial.println ("rotes Licht aus");
DigitalWrite (Rotlicht, LOW);
zu brechen;
Fall 'W': / / W, Front Lights On
Serial.println ("weißes Licht auf");
DigitalWrite (Whitelight, HIGH);
zu brechen;
Fall 'w': / / w, Front-Licht aus
Serial.println ("weißes Licht aus");
DigitalWrite (Whitelight, LOW);
zu brechen;
}
}
Holen Sie sich Bluetooth Code seriellen Port empfangen
Int check() {}
Wenn (Serial.available() > 0) {/ / wenn es gültige Daten in den seriellen Port
DataIn = Serial.read(); / / speichert Daten in einem Varialbe
Überprüfen Sie den code
Wenn (DataIn == 'F') {//Forward
Faktor = 'F';
}
ElseIf (DataIn == 'B') {//Backward
Faktor = 'B';
}
ElseIf (DataIn == 'L') {//Left
Faktor = 'L';
}
ElseIf (DataIn == 'R') {//Right
Faktor = 'R';
}
ElseIf (DataIn == ist ') {//Stop
Faktor = 'S';
}
ElseIf (DataIn == 'U') {//Red Lights On
Faktor = 'U';
}
ElseIf (DataIn == 'u') {//Red Lights Off
Faktor = 'u';
}
ElseIf (DataIn == 'W') {//White Lights On
Faktor = 'W';
}
ElseIf (DataIn == 'w') {//White Lights Off
Faktor = 'w';
}
Determinante zurück;
}
}