Arduino Robot V2 (Fast) auch sprachgesteuert

11 Schritt:Schritt 1: Werkzeuge und Komponenten Schritt 2: Motor Driver (H-Brücke) Schritt 3: Ultraschallmodul Schritt 4: Körper Schritt 5: Temperatursensor Schritt 6: Bluetooth Schritt 7: IP-Kamera-App Schritt 8: Batterie Schritt 9: Bluetooth Schritt 10: Code Schritt 11: Voice Control

Arduino Robot V2 (Fast) auch sprachgesteuert

Arduino Robot V2 (Fast) auch sprachgesteuert

Arduino Robot V2 (Fast) auch sprachgesteuert

Dies ist meine zweite Version meiner Arduino Roboter nach dem "Bauen Sie Ihre erste Roboter". Meine zweite Version ist etwas kompliziert im Vergleich zu meinem ersten ein, sondern bietet bessere Funktionen. In diesem instructable Ich werde Ihnen zeigen, wie eine schnelle Roboter, der Temperatur messen kann, finden Dinge davor, Streamen von Videos und vieles mehr bauen. Mit einem Paar von 1000RPM Motoren können diese Roboter sehr schnell gehen und diese Version verwendet, WIFI, ein besseres Angebot zu geben. Dieser Roboter hat zwei Sensoren an Bord, das einen Ultraschall-Abstandssensor und einen Temperatursensor. Das Android-Handy gibt es zusätzliche Senors mit weiteren mehr es gibt auch ein Live-Video zu arbeiten.
Der Hauptzweck dieser unergründlichen ist-
Weil ich gerne hier veröffentlichen Um den Sensor Wettbewerb zu gewinnen, weil die Preise werden Sie mich mit weiteren Projekten.
Welche Upgrades habe ich getan?
Gut, das ist größer als meine vorherige Version seiner gesteuert über Bluetooth, kann aber auch auf WLAN umgeschaltet werden. Diese Version verwendet 1000RPM, während meiner früheren Version verwendet 150rpm. Mit einer 1000RPM mein Roboter ist in der Lage, gehen über fast alle Gelände leicht.
Aktualisieren 27-04-2014
Jetzt können Sie auch Sprachsteuerung Ihr Roboter finden Sie Schritt 11.

Schritt 1: Werkzeuge und Komponenten

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Lassen Sie uns mit Sammeln starten alle Teile. Sie können schrittweise gehen, oder Sie werden am Ende alle herumlaufen, wenn Sie Ihren Build starten.
    Components
    1x Arduino Uno R3 ( oder ähnliche Platten ) 1x Ultraschall bis hin Modul oder (link) 1x Temperatursensor (LM35) 1x Bluetooth Module ( HC05 ) 1x PCB 4x Li-Ion Battery (3.7V) oder (1x 12 V) 1x L298 IC oder Motor Brücke 4x Räder 1x Schalter Klemmvorrichtungen, Drähte, Schrauben, etc
    Tools
    Lötkolben -Multimeter

Schritt 2: Motor Driver (H-Brücke)

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Diese Version verwendet auch die gleiche H-Brücke wie die Vorgängerversion. Sie könnten eine H-Brücke zu schützen, anstatt dies, aber dies eine billigere Alternative und arbeitet als derselbe wie der Schild. Dieses H-Brücke verwendet L298 IC, um die Schaltung zu steuern.
    Für Motortreiber L298, siehe das Bild und verbinden die Stifte wie erwähnt unten.
    1 ---- Grund
    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 ---- Grund
    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 ---- Grund
    Sie könnten auch eine PCB zu ätzen, wenn Sie nicht wollen, um den Stromkreis zu bauen. Ich habe Firtzing, die Schaltung und die Leiterplatten-Layout zu bauen, könnte man das Projekt im Anhang herunterzuladen, um die Schaltung zu ändern. Um die Macht der Motoren ich 4x 3,7 V Li-Ionen-Batterien in Serie, das gibt uns Kraft sowohl für die Arduino und die Motoren. Ich habe die Akkus von einem alten Laptop Akku hatte 8 Batterien in ihm.
    Wenn Sie mess up mit der Verdrahtung der IC bekommen würde wirklich heiß. Also, wenn Sie ein heißes IC schalten Sie das Gerät und überprüfen Sie Ihre Verbindungen und mit der Leiterplatte Ätzen statt vielleicht gehen. Wenn Sie Low-Power-Motoren verwenden möchten dann L293.

Schritt 3: Ultraschallmodul

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Für Ultraschallbereich Modul I verwendet HC-SR04, wie sie ist leicht zu finden, und ich hatte von meinem früheren Roboter verfügbar in meinem Haus. Das Modul verfügt über eine maximale Distanz von 4m. Die Messwerte sind sehr präzise und es verfügt über eine eigene Bibliothek. Sie können die Bibliothek finden Sie hier . Probieren Sie die Beispiele zuerst, wenn Sie neu in diesem sind. Die Beispiele sind in der Bibliothek enthalten.
    Schließen Sie das Modul-
    HC-SR04 VCC Pin an die Arduino
    5V HC-SR04 GND Pin an die Arduino GND
    HC-SR04 TRG Pin an die Arduino Digital-Stift
    HC-12SR04 ECHO Pin an die Arduino Digital-Stift 11.

Schritt 4: Körper

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Ich zusammengebaut diesen Roboter auf einer Sperrholzplatte, die ich bekam einen örtlichen Baumarkt. Ich habe auch Klammern und Wellen, um die Räder und Motoren in Ort (auch in der örtlichen Baumarkt) zu halten. Die rot gefärbte Teil direkt unter dem vorderen Ferse ist die Lithium-Ionen-Packung, ich werde später darüber im instructable beschreiben. Der Körper war nicht schwer, alles, was Sie tun müssen, ist, die Räder mit dem Board ausrichten müssen montieren oder Sie den Roboter in verschiedene Richtungen haben.

Schritt 5: Temperatursensor

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Zeit für den Temperatursensor Dies ist ganz leicht zu bauen.
    Materialien
    Arduino LM35
    Verfahren
    Schließen Sie den LM35 als (siehe das Bild für Pin-Konfiguration) -
    + Vs bis 5V arduino
    Vout, um analoge pin 0 arduino
    GND Masse arduino
    LM35 gibt uns ein analoges Signal als Ausgang, so müssen wir sie in digitale umzuwandeln. Und die in den Code. Um die IC zu überprüfen (wenn you'r tun dies zum ersten Mal) verwenden Sie den Code am Ende dieses Schrittes.
    float temp;
    int tempPin = 0;
    Leere setup ()
    {
    Serial.begin (9600);
    }
    Leere Schleife ()
    {
    temp = analogRead (tempPin);
    temp = Temp * 0.48828125;
    Serial.print ("temprature =");
    Serial.print (temp);
    Serial.print ("* C");
    Serial.println ();
    Verzögerung (1000);
    }

Schritt 6: Bluetooth

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Für die Bluetooth-Modul verwendet I HC05 welche die günstigste Modul I (finden konnten, ist bei eBay ). Das einzige, was mit diesem Board ist, dass Sie brauchen, um einen Spannungsteiler zu schaffen, wie die Arduino gibt 5V Ausgang in seinen Stift Tx während die HC05 akzeptiert nur 3.3 so ein Spannungsteiler benötigt das Ausbrennen der Platine zu verhindern.
    Wenn Sie machen es einfach könnten Sie kaufen diese Modul statt, die benötigt keine Spannungsteiler.

Schritt 7: IP-Kamera-App

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Für diesen Schritt Sie jede IP-Kamera verwenden können, aber ich habe ein Android-Handy, sondern weil ich auf die Eigenschaften aller Smartphone auf zu meinem Roboter hinzuzufügen.
    Um die App zu bekommen
    Besuchen android Play Store und laden Sie die App mit dem Namen "I P-Kamera Android "Nach der Installation der App starten Sie eine Server Nachdem der Server startet eine IP öffnet sich unter dem Bildschirm Geben Sie die IP-Adresse auf einem PC-Browser auf dem selben Netzwerk verbunden Genießen Sie den Video- Strom

Schritt 8: Batterie

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Für die Batterie verwendet I 3x Li-ion Ich fand diese in einer alten Batterie. Es hatte acht davon und ich bekam fünf davon arbeiten. Jeder der Batterie gibt 3.7V, 1000mAh und 3 Batterien gab mir 15.2V, wenn voll aufgeladen. Ich habe das Ladegerät von EBay. Die Li-Ionen-Batterien sind etwas größer im Vergleich zu normalen AAA Batterie der Größe so konnte ich keine Batteriehalter für sie. Die Batterie dient eine Energiequelle sowohl für Arduino und der H-Brücke.
    Warnung
    Seien Sie vorsichtig, um die Ladung der Batterie, Li-Ionen-Batterien instabil, wenn überladen und haben Risiken der explodierenden. Auch die Batterie nicht entladen zu viel, denn es ist schwer, ihn wieder in 3,7 V zu bringen

Schritt 9: Bluetooth

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Arduino Robot V2 (Fast) auch sprachgesteuert

    Jetzt an der Zeit für die Kontrollen, wie ich bereits erwähnt kann es über Bluetooth gesteuert werden. Ich bin, wie man es mit einem lokalen Netzwerk zu verbinden arbeitet. Gerade jetzt können Sie es via Android-Handy und Ihrem Laptop steuern.
    Lassen Sie steuern es über PC
    Ich habe Tera Term, um es über PC via Bluetooth zu steuern.
    Lassen Sie steuern es über android
    Besuchen android Play Store Laden Sie die App mit dem Namen " Arduino Bluetooth RC Car "Nach der Installation der App Paar mit Ihrem Roboter anschließen, um es zu genießen und es steuern

Schritt 10: Code

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Der Code kann in den Anlagen gefunden werden. Fühlen Sie sich frei, den Code zu modifizieren, aber lassen Sie einfach einen Kommentar über was Sie mit ihm kamen.


    Code
    # 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; // PWM-Steuerung SPEED
    int speed1 = 0; // PWM Geschwindigkeitskontrolle
    int incomingByte = 0; // Für eingehende serielle Daten
    # include
    #define TRIGGER_PIN 12 // Arduino Pin gebunden an Pin auf dem Ultraschallsensor auslösen.
    #define ECHO_PIN 11 // Arduino Pin gebunden an Pin auf dem Ultraschallsensor Echo.
    #define MAX_DISTANCE 200 // Maximale Entfernung wir wollen für Ping (in Zentimeter). Maximale Sensorabstand bei 400-500cm bewertet.
    NewPing Sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing Setup von Stiften und maximale Entfernung.
    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 ("lame Freaks Robotik");
    }
    Leere Schleife ()
    {
    if (Serial.available ()> 0) {
    // Lesen des ankommenden Byte:
    incomingByte = Serial.read ();
    }
    Schalter (incomingByte)
    {
    Fall 'S': // control, um den Roboter zu stoppen
    digital (r_motor_n, LOW); // Setze Motorrichtung, 1 niedrig, 2 niedrig
    digital (r_motor_p, LOW);
    digital (l_motor_p, LOW);
    digital (l_motor_n, LOW);
    analogWrite (Aktivieren, 0);
    analogWrite (ENABLE2, 0);
    Serial.println ("Stop \ n");
    incomingByte = '*';
    Unterbrechung;
    Fall 'R': // control für Recht
    digital (r_motor_n, HIGH); // Set Motorrichtung, 1 hoch, 2 niedrig
    digital (r_motor_p, LOW);
    digital (l_motor_p, HIGH);
    digital (l_motor_n, LOW);
    analogWrite (Freigabe, speed1);
    analogWrite (ENABLE2, speed1);
    Serial.println ("right \ n");
    incomingByte = '*';
    Unterbrechung;
    Fall 'L': // Steuerung für links
    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);
    analogWrite (Freigabe, speed1);
    analogWrite (ENABLE2, speed1);
    Serial.println ("links \ n");
    incomingByte = '*';
    Unterbrechung;
    Fall 'F': // Steuerung für vorne
    digital (r_motor_n, HIGH); // Set Motorrichtung, 1 hoch, 2 Hoch
    digital (r_motor_p, LOW);
    digital (l_motor_p, LOW);
    digital (l_motor_n, HIGH);
    analogWrite (Freigabe, speed1);
    analogWrite (ENABLE2, speed1);
    Serial.println ("forward \ n");
    incomingByte = '*';
    Unterbrechung;
    Fall 'B': // control für die Abwärts
    digital (r_motor_n, LOW); // Setze Motorrichtung, 1 niedrig, 2 niedrig
    digital (r_motor_p, HIGH);
    digital (l_motor_p, HIGH);
    digital (l_motor_n, LOW);
    analogWrite (Freigabe, speed1);
    analogWrite (ENABLE2, speed1);
    Serial.println ("rückwärts \ n");
    incomingByte = '*';
    Unterbrechung;
    Fall 'f':
    digital (r_motor_n, LOW); // Setze Motorrichtung, 1 niedrig, 2 niedrig
    digital (r_motor_p, LOW);
    digital (l_motor_p, LOW);
    digital (l_motor_n, LOW);
    analogWrite (Aktivieren, 0);
    analogWrite (ENABLE2, 0);
    Serial.println ("Stop \ n");
    incomingByte = '*';
    Unterbrechung;
    Fall 'd':
    digital (r_motor_n, HIGH); // Set Motorrichtung, 1 hoch, 2 niedrig
    digital (r_motor_p, LOW);
    digital (l_motor_p, HIGH);
    digital (l_motor_n, LOW);
    analogWrite (Freigabe, speed1);
    analogWrite (ENABLE2, speed1);
    Serial.println ("right \ n");
    incomingByte = '*';
    Unterbrechung;
    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);
    analogWrite (Freigabe, speed1);
    analogWrite (ENABLE2, speed1);
    Serial.println ("links \ n");
    incomingByte = '*';
    Unterbrechung;
    Fall 'w':
    digital (r_motor_n, HIGH); // Set Motorrichtung, 1 hoch, 2 Hoch
    digital (r_motor_p, LOW);
    digital (l_motor_p, LOW);
    digital (l_motor_n, HIGH);
    analogWrite (Freigabe, speed1);
    analogWrite (ENABLE2, speed1);
    Serial.println ("forward \ n");
    incomingByte = '*';
    Unterbrechung;
    Fall 's':
    digital (r_motor_n, LOW); // Setze Motorrichtung, 1 niedrig, 2 niedrig
    digital (r_motor_p, HIGH);
    digital (l_motor_p, HIGH);
    digital (l_motor_n, LOW);
    analogWrite (Freigabe, speed1);
    analogWrite (ENABLE2, speed1);
    Serial.println ("rückwärts \ n");
    incomingByte = '*';
    Unterbrechung;
    Fall 'r': // Servowinkel
    servoMain.write (0);
    Unterbrechung;
    Fall 't':
    servoMain.write (45);
    Unterbrechung;
    Fall 'y':
    servoMain.write (90);
    Unterbrechung;
    Fall 'u':
    servoMain.write (135);
    Unterbrechung;
    Fall 'i':
    servoMain.write (180);
    Unterbrechung;
    Fall 'O': // PWM Geschwindigkeitswerte
    speed1 = 0;
    Unterbrechung;
    Bei "1":
    speed1 = 155;
    Unterbrechung;
    Bei "2":
    speed1 = 165;
    Unterbrechung;
    Bei "3":
    speed1 = 175;
    Unterbrechung;
    Bei "4":
    speed1 = 185;
    Unterbrechung;
    Fall "5":
    speed1 = 195;
    Unterbrechung;
    Fall '6':
    speed1 = 205;
    Unterbrechung;
    Bei "7":
    speed1 = 215;
    Unterbrechung;
    Bei "8":
    speed1 = 225;
    Unterbrechung;
    Bei "9":
    speed1 = 235;
    Unterbrechung;
    Fall 'q':
    speed1 = 255;
    Unterbrechung;
    Fall 'm':
    temp = analogRead (tempPin); // Die Temperatur gelesen
    temp = Temp * 0.48828125;
    Serial.print ("temprature =");
    Serial.print (temp);
    Serial.print ("* C");
    Serial.println ();
    Verzögerung (1000);
    Unterbrechung;
    Fall 'p': // Zeit, thr ultasonic Sensor ping
    Verzögerung (50); // Warte 50 ms zwischen Pings (ca. 20 Pings / sec). 29ms sollte die kürzeste Verzögerung zwischen Pings sein.
    unsigned int US = sonar.ping (); // Senden ping, ping zu Zeit in Mikrosekunden (us).
    Serial.print ("Ping:");
    Serial.print (US / US_ROUNDTRIP_CM); // Convert Ping-Zeit in cm und Druckergebnis zu distanzieren (0 = außerhalb Satz Entfernungsbereich)
    Serial.println ("cm");
    Unterbrechung;
    Verzögerung (5000);
    }
    }
    Unterstützen Sie mich und abstimmen, wenn ich gewinne ich garantiere Ihnen, dass Sie jede Menge Projekte wie dieses sehen würde, und wenn Sie irgendwelche Probleme haben, fühlen sich frei, PM mich.

Schritt 11: Voice Control

  1. Arduino Robot V2 (Fast) auch sprachgesteuert

    Aktualisieren 27-04-2014
    Jetzt können Sie die Sprachsteuerung Ihres Roboters. Laden Sie meine app aus den Anlagen und installieren Sie es auf Ihrem Android-Handy. Schließen Sie die Anwendung, um den Roboter und genießen Sie die neue Funktion.
    Befehle
    "Forward"
    "Rückwärts"
    "Recht"
    "Links"
    "Stopp"
    "Beschleunigen"
    "Drehzahl ab"
    Und vergessen Sie nicht, für mich in den Wettbewerb zu stimmen.