Erstellen einer einfachen Roboter Mit einem Arduino und L293 (H-Brücke)
6 Schritt:Schritt 1: Benötigtes Werkzeug: Schritt 2: Aufbau der SKELETON (BODY) der ROBO Schritt 3: Das Motor Module OR L298: Schritt 4: Befestigen Bluetooth-Modul Arduino: Schritt 5: Hardware abgeschlossen. Schritt 6: Code
Hey Leute, dies ist mein erster instructable, und ich bin hier, um zu zeigen, wie ein einfacher Roboter mit ein bisschen Arduino Programmierung keine Sorge zu bauen, habe ich den Code unten angehängte Datei, können Sie sie als Referenz zu verwenden.
Diejenigen, die keine Ahnung von einem Arduino UNO und L298 oder H-Brücke haben, keine Sorge, ich werde in viel wie detailliert wie möglich zu erklären, und dies ist eine ziemlich einfache instructable.
Arduino Uno: ist ein beliebtes Werkzeug für die Herstellung Projekte, die spüren und weitere der physischen Welt zu kontrollieren, als nur Ihren Desktop (oder), es ist nur eine Plattform, wo es nimmt Eingaben von verschiedenen Arten von Schaltern oder Sensoren und entsprechend zu steuern Ausgabegerät wie Motoren führte und vieles mehr (Es gibt eine Reihe von Mikrocontrollern, die Sie ausprobieren können, aber das Arduino UNO ist die beliebteste).
. H-Brücke (L298): Es ist eine elektronische Schaltung, die Spannung an einer Last ermöglicht, in beiden Richtungen (oder), wird er einfach als Motorantriebswerkzeug genannt, große Anwendung in der Robotertechnik, weil es die Richtung des Motors zu ändern hat in Abhängigkeit vom logischen Zustand des jeweiligen Arduino Stift (rückwärts oder rückwärts).
Lassen Sie uns also in den Aufbau zu springen.
Schritt 1: Benötigtes Werkzeug:
Schritt 2: Aufbau der SKELETON (BODY) der ROBO
-
Die Konstruktion des Roboters ist wirklich sehr einfach, lassen Sie mich versuchen zu erklären, es so einfach wie möglich.
In ersten Bild habe ich gezeigt, die zusammenzubauen von Komponenten in der Rückseite des Chassis:
1. Schritt: Befestigen Sie die Motoren auf die Räder durch die Löcher angesichts des Chassis (die Black-Metal-Ding, das alle Komponenten unterstützt). Beachte, daß das Rad fest in das Loch in der Motorarmes befestigt.
2. Schritt: Legen Sie die Batterie unter Verwendung eines Bandes n stellen die Verbindung zum H-Brücke zu fahren motors.if Sie eine 3V Motor Verwendung 3 x AA-Batterie und legen Sie sie in einem Batteriehalter.
3. Schritt: Befestigen Sie die Kugellager (das rote Ding) die Durchführung dieses ist dieselbe wie die der alten Schule Kugel-Maus, die einen Ball für die Freizügigkeit hatte, so die Reibung in den vorderen Teil des Roboters habe ich es zu vermeiden. Sie können auch eine lange Schraube zu verwenden n wickeln Sie die Spitze mit einer Kunststoffabdeckung als Alternative.
Jetzt 2. Bild zeigt den Aufbau des Chassis in Vorderteil:
1. Schritt: Die sehr einfache Lösung ein Lochraster mit dem vorderen Abschnitt mit doppelseitigem Klebeband.
so dass Sie nun mit dem Körper geschehen, ist es Zeit, um das Stück des Körpers zu platzieren.
Schritt 3: Das Motor Module OR L298:
-
Also hier bin starten mit Motormodul, bevor ich mit diesem Ich möchte, dass Sie das Video unten für ein besseres Verständnis davon zu Verwendungen und Demonstration beobachten.
Als ich beim Starten der instructables erwähnte dies IC ist nichts als ein Motormodul verwendet werden, um Motoren in beiden Richtungen mehr über Arduino fahren allein nicht liefern Energie für die Bearbeitung von Motor somit auch aus diesem Grund ich dieses IC.
So sollten die Verbindungen gegeben, wie unten erwähnt werden:
1) Grundstück
2) Pin 1 des Left Side Motors
3) Pin 2 für die linke Seite Motors
4) + 12V-Batterie
5) Arduino Pin 2
6) Arduino Pin 3
7) Arduino Pin 4
8) Grundstück
9) + 5V von Arduino
10) Arduino Pin 5
11) Arduino Pin 6
12) Arduino Pin 7
13) Pin 1 des Right Side Motors
14) Pin 2 von Right Side Motors
15) Grundstück
Schritt 4: Befestigen Bluetooth-Modul Arduino:
-
Nun ist die letzte Sache, die für den Bau links überlassen Festsetzung Bluetooth-Modul an das Arduino-Board.
Hier schaut euch das Video für die einfache Befestigung des Moduls an den Vorstand.
HINWEIS: Schrauben Sie die Baugruppe, NACHDEM SIE FINISHING der Codierung des Boards oder es werden einige Fehler anzuzeigen.
Schritt 5: Hardware abgeschlossen.
-
Wenn Sie über die oben genannten Anweisung beendet die, sollten Sie so etwas wie dieses Typs haben so nun zwei Schritt vom Abschluss des Projekts verlassen wir.
1. man Einschalten des Arduino mit dem 12-Volt-Adapter Stift, der an eine Batterie FIGUR 2 befestigt ist
2. Codierung Board, wenn u nicht wissen, wie man programmiert keine Sorgen haben einen Sitz aus Laden Sie die Datei geben aus und hängen Sie es an Arduino IDE.
So, nachdem Sie Ihren Code-Download-Anwendung namens Bluetooth Spp Profi aus Android Plays oder einer anderen Website hochladen
Bevor Sie diese Anwendung, die Sie brauchen, um mit Ihren Mob dann die LED des Moduls wird eines pro Sekunde blinken paaren sich das Modul.
Später schließen Sie das Modul durch die Anwendung dann die LED zweimal pro Sekunde blinken.
Hier sind die Bedienelemente
w - Forward
s - umge
a - Left
d - Recht
Wenn Sie mit PC herunterladen werden Teraterm thats it, dieses Tutorial kam gerade bis zum Ende. Weiter aufgereiht ist eine Reihe von Spaß instructables so stay tuned.
Schritt 6: Code
Hier ist der Code, um mit dem Roboter oder dem Arduino UNO uplaod -# include Servo servoMain; float temp; int tempPin = 0; int r_motor_n = 2; // PWM-Steuerung Right Motor - int r_motor_p = 4; // PWM-Steuerung Right Motor + int l_motor_p = 5; // PWM-Steuerung Left Motor + int l_motor_n = 7; // PWM-Steuerung Left Motor - int aktivieren = 3; int Licht = 9; int ENABLE2 = 6;
int incomingByte = 0; // Für eingehende serielle Daten
Leere setup () { servoMain.attach (10); pinMode (r_motor_n, OUTPUT); // Set Steuerstifte mit Ausgängen sein pinMode (r_motor_p, OUTPUT); pinMode (l_motor_p, OUTPUT); pinMode (l_motor_n, OUTPUT); pinMode (Freigabe, OUTPUT); pinMode (ENABLE2, OUTPUT); pinMode (Licht, Ausgang); digital (r_motor_n, LOW); // Für Start-up setzen beide Motoren ausgeschaltet digital (r_motor_p, LOW); digital (l_motor_p, LOW); digital (l_motor_n, LOW); digital (Freigabe, LOW); digital (ENABLE2, LOW); digital (Licht, HIGH);
Serial.begin (9600); Serial.print ("Whats up im ATOM, !!!! ausgerichtet up \ n"); Serial.print ("w = Vorwärts \ n"); Serial.print ("s = Backward \ n"); Serial.print ("d = Rechts \ n"); Serial.print ("a = Left \ n"); Serial.print ("f = Stop \ n"); Serial.print ("stive Robotik"); }
Leere Schleife () {
if (Serial.available ()> 0) { // Lesen des ankommenden Byte: incomingByte = Serial.read (); }
Schalter (incomingByte) { Fall 'f': digital (r_motor_n, LOW); // Setze Motorrichtung, 1 niedrig, 2 Hoch digital (r_motor_p, LOW); digital (l_motor_p, LOW); digital (l_motor_n, LOW); digital (Freigabe, LOW); digital (ENABLE2, LOW); Serial.println ("Stop \ n"); incomingByte = '*'; brechen; Fall 'd': digital (r_motor_n, HIGH); // Setze Motorrichtung, 1 niedrig, 2 Hoch digital (r_motor_p, LOW); digital (l_motor_p, HIGH); digital (l_motor_n, LOW); digital (Freigabe, HIGH); digital (ENABLE2, HIGH); Serial.println ("right \ n"); incomingByte = '*'; brechen; Fall 'a': digital (r_motor_n, LOW); // Setze Motorrichtung, 1 niedrig, 2 Hoch digital (r_motor_p, HIGH); digital (l_motor_p, LOW); digital (l_motor_n, HIGH); digital (Freigabe, HIGH); digital (ENABLE2, HIGH); Serial.println ("links \ n"); incomingByte = '*'; brechen; Fall 'w': digital (r_motor_n, HIGH); // Setze Motorrichtung, 1 niedrig, 2 Hoch digital (r_motor_p, LOW); digital (l_motor_p, LOW); digital (l_motor_n, HIGH); digital (Freigabe, HIGH); digital (ENABLE2, HIGH); Serial.println ("forward \ n"); incomingByte = '*'; brechen;
Fall 's': digital (r_motor_n, LOW); // Setze Motorrichtung, 1 niedrig, 2 Hoch digital (r_motor_p, HIGH); digital (l_motor_p, HIGH); digital (l_motor_n, LOW); digital (Freigabe, HIGH); digital (ENABLE2, HIGH); Serial.println ("rückwärts \ n"); incomingByte = '*'; brechen; Fall 'O': digital (Licht, LOW); brechen; Bei "1": servoMain.write (0); brechen; Bei "2": servoMain.write (45); brechen; Bei "3": servoMain.write (90); brechen; Bei "4": servoMain.write (135); brechen; Fall "5": servoMain.write (180); brechen; Fall 't': temp = analogRead (tempPin); temp = Temp * 0.48828125; Serial.print ("temprature ="); Serial.print (temp); Serial.print ("* C"); Serial.println (); Verzögerung (1000); brechen; Fall 'v': Serial.print ("Atom"); Serial.println (); Serial.print ("stive Robotik Atom"); incomingByte = '*'; brechen; Verzögerung (5000); }