Inhaltsverzeichnis:

DIY Multi Featured Robot mit Arduino - Gunook
DIY Multi Featured Robot mit Arduino - Gunook

Video: DIY Multi Featured Robot mit Arduino - Gunook

Video: DIY Multi Featured Robot mit Arduino - Gunook
Video: DIY MULTI FEATURED ROBOT ( demo video) 2024, Juli
Anonim
DIY Multi-Featured-Roboter mit Arduino
DIY Multi-Featured-Roboter mit Arduino
DIY Multi-Featured-Roboter mit Arduino
DIY Multi-Featured-Roboter mit Arduino
DIY Multi-Featured-Roboter mit Arduino
DIY Multi-Featured-Roboter mit Arduino

Dieser Roboter wurde hauptsächlich entwickelt, um Arduino zu verstehen und verschiedene Projekte von Arduino zu kombinieren, um einen Multi Featured Arduino Robot zu bilden. Und außerdem, wer möchte keinen Haustierroboter haben? Also habe ich es BLUE ROVIER 316 genannt. Ich hätte ein schönes Raupenfahrwerk kaufen können, aber es von Grund auf neu zu machen, lehrt Sie mehr und macht Sie stolzer, nachdem Sie es abgeschlossen haben. Der Roboter ist in der Lage, Sprachbefehle zu verstehen, einfache Fragen zu beantworten und zu steuern ein RC-Auto und vermeidet sogar Hindernisse während der Bewegung. Es wird hauptsächlich über ein Android-Telefon gesteuert, das über Bluetooth mit ihm verbunden ist. Basierend auf Android-Funktionen wie Google Voice Recognition und Tilt Sensing kann er sich wirklich wie ein niedlicher, intelligenter Roboter verhalten. Ich habe BLUE im Namen hinzugefügt, weil es hauptsächlich auf Bluetooth basiert. Es war eigentlich mein erstes Arduino-Projekt und ich wollte, dass es einzigartig ist. Wenn Ihnen das Projekt gefällt, stimmen Sie bitte für mich im Robotics Contest!

Schritt 1: Demonstrationsvideo

Image
Image
Geschichte von ROVIER
Geschichte von ROVIER

Sie können die Demo des Roboters auf dieser Seite ansehen:

Schritt 2: Geschichte von ROVIER

Geschichte von ROVIER
Geschichte von ROVIER

Sie können zum nächsten Schritt springen, wenn Sie nicht die süße kleine Geschichte von BLUE ROVIER 316 durchgehen möchten. Vor ungefähr einem Jahr habe ich von meinem Vater ein Arduino UNO geschenkt bekommen. Da dies mein erster Schritt im Bereich Arduino war, wollte ich etwas anderes und Einzigartiges von den allgemeinen Arduino-Projekten schaffen. Es musste ein süßer und intelligenter Roboter sein, der Sprachbefehle verstehen und viele weitere intelligente Dinge wie Fernbedienung, Folgen von Linien, Vermeiden von Hindernissen usw. tun kann. Die Frage war, wie man sie miteinander kombiniert. Und nachdem ich eine wirklich schöne Zeit im Internet gesurft hatte, kam ich zu dem Schluss, dass Bluetooth der billigste Modus wäre. Und so wurde BLUE ROVIER in Gang gesetzt. Aber es ergab sich eine Situation, in der ich viele Eigenschaften des Roboters ausschließen musste, die ich erwartet hatte, hauptsächlich wegen des Mangels an Speicher auf dem Arduino UNO (sogar die geringere Anzahl der digitale Pins an der UNO). Egal, ich ging weiter. Ich habe wirklich lange gebraucht, um die endgültige Version des Roboters zu erstellen. Und so entstand nach vielen Versuchen und Fehlschlägen endlich BLUE ROVIER. Und nun können wir uns der Herstellung des Roboters zuwenden.

Schritt 3: Komponenten und Teile

Komponenten und Teile
Komponenten und Teile
Komponenten und Teile
Komponenten und Teile
Komponenten und Teile
Komponenten und Teile

Sie benötigen nur die folgenden Komponenten: 1. Android-System 2. Arduino Uno 3. wtv020-sd-16p-Modul und 8-Ohm-Lautsprecher4. 2x L293d Motorcontroller Schaltung 5. 4x Bo Motoren und Räder6. HC SR04 Ultraschallsensor 7. 9g Servo8. 8 AA-Batteriehalter und Batterien 9. 1-GB-Micro-SD-Karte 10. kleine Schaltbox für Chassis.11. HC 05 Bluetooth-ModulIch weiß, es sieht teuer aus! Aber keine Sorge, es kostet nur etwa zwei- oder dreitausend Rupien. Apropos Android, es wird kein großes Problem sein, eines zu besitzen, da die meisten es heutzutage haben. Aber neuere Versionen (über 5.0) können die Leistung erhöhen. Versuchen Sie, Motoren mit moderater Drehzahl (60 bis 100) zu kaufen. Dies würde helfen, die Geschwindigkeit des Roboters unter Kontrolle zu halten, da kein anderer Geschwindigkeitsregelkreis installiert ist. Und 8 AA-Batterien reichen aus, um den Roboter für eine gute Zeit zu versorgen. Und in Anbetracht des Bluetooth ist HC 05 für den Roboter geeignet, weil es billig genug ist und auch die Leistung ist herausragend. Die 1-GB-Micro-SD-Karte wird benötigt, um Sprachdateien zu speichern, die abgespielt werden, wenn dem Roboter eine Frage gestellt wird [wird im späteren Teil der Anleitung ausführlich besprochen]. Die anderen Komponenten werden in ihrem jeweiligen Schritt ausführlich besprochen.

Kommen wir nun zu einigen einfachen "Theorien", die in diesem Roboter verwendet werden.

Schritt 4: Sprachsteuerungstheorie

Sprachsteuerungstheorie
Sprachsteuerungstheorie
Sprachsteuerungstheorie
Sprachsteuerungstheorie
Sprachsteuerungstheorie
Sprachsteuerungstheorie
Sprachsteuerungstheorie
Sprachsteuerungstheorie

Der Roboter kann Sprachbefehle über ein Android-Telefon verstehen. Ich denke, jeder kennt Google Voice Recognition, die Funktion in Android, bei der wir das Wort sagen und Google es eintippt. Die gleiche Funktion wird hier verwendet, um Sprachbefehle zu erkennen und in Textbefehle umzuwandeln. Die App hier wandelt Sprache über Google in Text um und sendet sie über Bluetooth an den Roboter. Der Roboter ist so programmiert, dass er diesen über Bluetooth empfangenen Befehlen folgt. Es ist auch in der Lage, viele Fragen zu beantworten. Sie können dem Code sogar einige weitere Befehle hinzufügen, damit der Roboter noch mehr tolle Dinge tun kann. Hier ist die Android-Anwendung:

Schritt 5: Gestensteuerungstheorie

Gestensteuerungstheorie
Gestensteuerungstheorie
Gestensteuerungstheorie
Gestensteuerungstheorie

Die Gestensteuerung oder der Bewegungssteuerungsmodus erfolgt ebenfalls über das Android. In diesem Modus kann der Roboter als RC-Auto gesteuert werden, indem das Android als Lenkrad verwendet wird. In allen Androids gibt es einen Sensor namens "Accelerometer", der in diesem Modus verwendet wird. Dieser Beschleunigungsmesser kann den Neigungswinkel des Telefons bestimmen, indem er die auf das Android wirkenden Beschleunigungskräfte misst. Es ist dieser Sensor, der das Android dazu bringt, seinen Bildschirm zu drehen, wenn wir das Telefon neigen. Die App verwendet hier den Beschleunigungsmesser des Telefons, um den Winkel zu bestimmen, in dem das Telefon geneigt ist. Dann wird ein Zeichen (A, B….) über Bluetooth an den Roboter gesendet. Das Arduino ist so programmiert, dass es gemäß den empfangenen Daten arbeitet. Wenn das Telefon nach vorne geneigt ist, wird das Zeichen A gesendet und der Roboter bewegt sich vorwärts. Beim Zurückkippen wird Zeichen B gesendet und der Roboter bewegt sich rückwärts usw. nach links und rechts. Wenn das Android horizontal platziert wird, wird das Zeichen E gesendet und der Roboter stoppt die Bewegung.

Schritt 6: Bluetooth-Steuerungstheorie

Bluetooth-Steuerungstheorie
Bluetooth-Steuerungstheorie
Bluetooth-Steuerungstheorie
Bluetooth-Steuerungstheorie

In diesem Modus arbeitet der Roboter als allgemeines RC-Auto. Nichts Neues in diesem Modus, es ist genau das gleiche wie ein allgemein auf dem Markt erhältliches ferngesteuertes Auto, der einzige Unterschied besteht darin, dass wir eine Android-App verwenden, um den Roboter zu steuern. Es gibt verschiedene Schaltflächen in der App, die jeweils unterschiedliche Charaktere haben mit ihr verbundenen. Wenn eine beliebige Taste berührt wird, wird ein Zeichen über Bluetooth an den Roboter gesendet, genau wie im Gestensteuerungsmodus. Außerdem werden die gleichen Zeichen gesendet, wenn die entsprechenden Tasten berührt werden, und der Roboter folgt den eingehenden Zeichen. Ich habe die 360- und -360-Grad-Tasten in der App verwendet, um den Roboter nach rechts und links aussehen zu lassen. Sie können es im Code ändern, wenn Sie den Roboter dazu bringen möchten, andere Dinge zu tun.

Schritt 7: Hindernisvermeidungstheorie

Theorie der Hindernisvermeidung
Theorie der Hindernisvermeidung
Theorie der Hindernisvermeidung
Theorie der Hindernisvermeidung

In diesem Modus arbeitet der Roboter als Hindernisvermeidungsroboter und verhindert, dass er mit einem Objekt kollidiert. Dies geschieht mit dem HC SR04 Sensor. Ich nehme an, Sie kennen SONAR (Sound Navigation And Ranging). Der Sensor HC SR04 sendet kontinuierlich Ultraschallwellen aus. Diese Wellen werden nach dem Auftreffen auf eine feste Oberfläche zurückgeworfen und kehren zum Sensor zurück. Die Zeit, die die Wellen benötigen, um zum Sensor zurückzukehren, wird aufgezeichnet. Da sich der Schall mit ungefähr 340 m/s fortbewegt und wir wissen, dass GESCHWINDIGKEIT × ZEIT = DISTANZ ist, können wir die Entfernung vor uns bestimmen. Zum Beispiel, wenn der Schall 2 Sekunden dauert Um zurückzukommen, können wir die Entfernung durch die obige Formel bestimmen, dh 340 × 2 = 680 m. Auf diese Weise kann der Roboter die Entfernung vor sich durch den Sensor messen. Während der Bewegung misst der Roboter kontinuierlich die Entfernung vor ihm durch den Sensor. Stellt er fest, dass der Freiraum vor ihm weniger als 30 cm beträgt, hält er an. Dann schaut es nach links und rechts und vergleicht den Abstand jeder Seite. Hat die linke Seite einen größeren Abstand, dreht der Roboter nach links. Andernfalls, wenn die rechte Seite größer ist, dreht der Roboter nach rechts. Haben beide Seiten gleiche Abstände, dreht sich der Roboter um. Dieser einfache Mechanismus hilft dem Roboter, den Hindernissen auszuweichen.

Schritt 8: Zusammenbau des Chassis

Zusammenbau des Chassis
Zusammenbau des Chassis
Zusammenbau des Chassis
Zusammenbau des Chassis
Zusammenbau des Chassis
Zusammenbau des Chassis
Zusammenbau des Chassis
Zusammenbau des Chassis

Wenn Sie das Chassis selbst herstellen, müssen Sie sehr vorsichtig mit den Abmessungen und Ausrichtungen sein. Ich habe mich dafür entschieden, weil ich im Netz keinen finden konnte, der mich zufriedenstellte. Als Chassis wird ein allgemeiner Schaltkasten verwendet, der für die Stromversorgung verwendet wird. Ich denke, Sie können leicht einen in einem Elektrofachhandel bekommen. Zuerst die vier Motoren unten mit etwas Kleber oder Klemmen befestigen und dann die Räder anbringen. Dann müssen Sie den Kopf des Roboters (das Servo und den HC SR04-Sensor) herstellen. Für den Kopf ein kleines Stück Perfboard schneiden und mit einer Schraube am Servo befestigen. Befestigen Sie dann den Ultraschallsensor mit etwas Kleber am Perfboard. Schneiden Sie oben in die Box ein kleines quadratisches Loch und befestigen Sie das Servo darin. Befestigen Sie dann den Batteriehalter an der Rückseite des Roboters durch eine Schraube. Legen Sie die Schaltkreise und die anderen Komponenten in die Box und Ihr Chassis ist fertig. Vergessen Sie nicht, einige Löcher vor dem Lautsprecher zu machen, damit der Ton herauskommt und eine bessere Qualität erzeugt.

Schritt 9: Vorbereiten des Sprachmoduls

Vorbereiten des Sprachmoduls
Vorbereiten des Sprachmoduls
Vorbereiten des Sprachmoduls
Vorbereiten des Sprachmoduls
Vorbereiten des Sprachmoduls
Vorbereiten des Sprachmoduls

Der Sprechmodus des Roboters wird durch das WTV 020 SD Modul erfüllt. Das Modul wird verwendet, um Sprachdateien für den Roboter abzuspielen. Wenn eine Frage gestellt wird, lässt das Arduino das Modul die entsprechende Sprachdatei auf der SD-Karte abspielen. Es gibt vier serielle Datenleitungen auf dem Modul für die Kommunikation mit dem Arduino, den Reset-, Clock-, Data- und Busy-Pins. Denken Sie daran, dass die Namen der Dateien dezimal sein sollten (0001, 0002…). Und dass die Dateien entweder im AD4- oder WAV-Format vorliegen sollten. Außerdem funktioniert das Modul nur auf einer 1 GB Micro-SD-Karte. Einige Module funktionieren sogar auf 2-GB-Karten und die Karte kann maximal 504 Sprachdateien speichern. Sie können also eine gute Anzahl von Sprachdateien zum Abspielen für eine gute Anzahl von Fragen hinzufügen. Sie können sogar Ihre eigenen Sprach-AD4-Dateien erstellen (Sie können diesen Teil überspringen, wenn Sie dies mit den zusammen mit diesem intstructable bereitgestellten Sprachdateien anpassen können)., müssen Sie zwei Softwares haben, eine Soundbearbeitungssoftware und eine Software namens 4D SOMO TOOL, die die Dateien in das AD4-Format umwandelt. Zweitens müssen Sie die Roboterstimmen vorbereiten. Sie können entweder Text in Sprache umwandeln oder sogar Ihre eigene Stimme aufnehmen und die Roboterstimmen erstellen. Beides kann in der Sound Editing Software durchgeführt werden. Aber sicherlich sehen Roboter nicht gut aus, wenn sie menschliche Stimmen sprechen. Es sollte also besser sein, Text in Sprache umzuwandeln. Es gibt verschiedene Engines wie Microsoft Anna und Microsoft Sam your Computer, die dabei helfen würden. Nach der Vorbereitung der Sprachdateien müssen Sie diese in 32000 Hz und im WAV-Format speichern. Dies liegt daran, dass das Modul Sprachdateien bis zu 32000 Hz abspielen kann. Verwenden Sie dann das 4D SOMO TOOL, um die Dateien in das AD4-Format zu konvertieren. Öffnen Sie dazu einfach das SOMO TOOL, wählen Sie die Dateien aus und klicken Sie auf AD4 Encode und Ihre Sprachdateien sind fertig. Sie können das Bild oben als Referenz überprüfen. Wenn Sie weitere Details zur Erstellung von Roboterstimmen wünschen, können Sie hier gehen:

[Erstellen von Roboterstimmen] Hier sind die Original-Sprachdateien und die Software:

Schritt 10: Herstellen der Verbindungen

Herstellen der Verbindungen
Herstellen der Verbindungen
Herstellen der Verbindungen
Herstellen der Verbindungen
Herstellen der Verbindungen
Herstellen der Verbindungen

Schließen Sie alle Vcc-Pins der jeweiligen Module zusammen und verbinden Sie sie mit dem 5-V-Pin des Arduino. Machen Sie dasselbe für Gnd-Pins. Hier sind die Anschlüsse der verschiedenen Module. HC 05-Modul: RX-Pin zum Arduino-Dig-Pin 0. TX-Pin zum Arduino-Dig-Pin 1. HC SR04-Sensor: Echo-Pin zum Arduino-Dig-Pin 6. Trig-Pin zum Arduino-Dig-Pin 7WTV020-SD Modul: Pin1 (Reset-Pin) zu Arduino Dig Pin2.pin4 zum Lautsprecher + Pin5 zum Lautsprecher -pin7 (Uhr) zu Arduino Dig Pin3.pin8 zu Gnd.pin10 (Daten) zu Arduino Dig Pin4.pin15 (besetzt) zu Arduino Dig Pin5.pin16 bis 3.3vDann verbinden Sie das Servosignal (gelb) und graben Pin 12. L293d Motorcontroller: Pin A1 an Arduino Dig Pin 8.pin A2 an Arduino Dig Pin 9.pin B1 an Arduino Dig Pin 10.pin B2 zu arduino graben Pin 11. Denken Sie daran, dass wir in diesem Roboter zwei L293d-Module verwenden. Dies liegt daran, dass ein Modul die Kapazität hat, bis zu zwei Motoren zu versorgen. Um vier Motoren zu steuern, verwenden wir zwei Motortreiber. Denken Sie also daran, an beiden Motorcontrollermodulen doppelte Verbindungen herzustellen. Verbinden Sie z. B. den Arduino Pin 8 mit Pin A1 der beiden Treibermodule. Vergessen Sie nicht, den Ausgang eines Moduls an zwei Motoren und das andere Modul an die anderen beiden Motoren anzuschließen. Überprüfen Sie das Diagramm für weitere Informationen.

Schritt 11: Der Arduino-Code

Der Arduino-Code
Der Arduino-Code
Der Arduino-Code
Der Arduino-Code

Es war eine aufregende Zeit, den Code zu erstellen. Es ist überhaupt kein komplizierter Code, es verwendet nur einige Bibliotheken, um mit dem Android und dem Soundmodul zu kommunizieren. Ein Großteil der Arbeit wird im Android und nicht im Arduino erledigt. Der Code basiert auf der Bluetooth-Kommunikation und den eingehenden Daten vom Bluetooth. Der Code ist so erstellt, dass wir dem Roboter Sprachbefehle geben müssen, um die verschiedenen Modi auszuführen und der Arduino kontinuierlich nach eingehenden Bluetooth-Signalen sucht. Um einen Modus zu stoppen, müssen wir nur "Stopp" sagen. Das einzige Problem mit dem Code ist, dass wir den Roboter manuell ausschalten müssen, wenn er sich im Hindernisvermeidungsmodus befindet. In diesem Modus können wir den Befehl "stop" nicht verwenden. Dies liegt daran, dass das Aktivieren dieser Funktion die Geschwindigkeit beim Scannen der Entfernung der Objekte beeinflusst. Der Arduino muss gleichzeitig sowohl die Entfernung eines Objekts als auch die eingehenden Bluetooth-Signale lesen. Dadurch wird der Modus gestört und der Roboter kann sich nicht vollständig vor Hindernissen schützen. Der Roboter stoppt möglicherweise nicht sofort, selbst wenn die Entfernung weniger als 30 cm beträgt. Es wäre also gut, diese Funktion nicht in diesen Modus aufzunehmen. Laden Sie einfach die Bibliotheken und den Code herunter und laden Sie ihn auf den Arduino hoch. Aber vergessen Sie nicht, vor dem Hochladen die TX- und RX-Pins (0, 1) vom Arduino zu entfernen. Diese Pins werden für die serielle Kommunikation verwendet und während des Hochladens des Codes verwendet. Und in diesem Roboter werden diese Pins zum Verbinden des Bluetooth-Moduls verwendet. Denken Sie also daran, sie abzunehmen, da dies Ihr Bluetooth-Modul beeinträchtigen könnte. Hier sind der Code und die Bibliotheken:

Schritt 12: Probleme aussortieren und Verbesserungen vornehmen

Probleme aussortieren und Verbesserungen vornehmen
Probleme aussortieren und Verbesserungen vornehmen

Sie können diesen Schritt überspringen, da es sich nur um Verbesserungen des Roboters handelt. Beim WTV-020-SD-16p-Modul treten viele Probleme bezüglich der Kapazität der Speicherkarte auf. Dies liegt daran, dass einige Module auf 2-GB-Karten funktionieren, während andere dies nicht tun. Daher ist es besser, eine 1 GB Micro-SD-Karte zu verwenden. Es wäre kein großes Problem, verschiedene Versionen der Komponenten zu verwenden. Zu nennen sind die verschiedenen Versionen des Moduls wtv 020 sd. Dies liegt daran, dass zwischen den Modulen nur Verpackungsunterschiede bestehen, während die meisten anderen internen Dinge gleich bleiben. Ein weiterer wichtiger Aspekt ist, dass die Verwendung einer Leiterplatte für den Roboter dazu beiträgt, den Stromverbrauch erheblich zu reduzieren. Wenn Sie die verschiedenen Komponenten wie ich anschließen, würde es Sie etwas Strom kosten, da ein Großteil davon in den Drähten verloren geht, die einen hohen Widerstand haben. Dies liegt daran, dass die Strecke ziemlich groß genug ist. Dieses intstructable beinhaltet nicht das Entwerfen einer Platine (weil ich keine gemacht habe), aber es kann die Energieeffizienz des Roboters erhöhen. Aber BLUE ROVIER 316 ist noch nicht fertig! Ich dachte daran, noch ein paar weitere Funktionen hinzuzufügen, wie das Verfolgen von Linien, das Lösen von Labyrinthen und viele andere Dinge. Aber es blieb ein Traum wegen der fehlenden Pins auf dem Arduino UNO (BLUE ROVIER frisst wirklich viele Pins des Arduino). Also denke ich daran, alle Funktionen dieses Roboters zu verbessern und sie zu einem ausgefeilteren und nützlicheren Arduino-Roboter zu kombinieren. Seien Sie also bereit, die modifizierte Ansicht von ROVIER in ein paar Monaten zu sehen!!! Ich möchte sogar andere modifizierte Versionen des Roboters von einigen anderen Leuten sehen, die mehr Kreativität als meine besitzen!!!!

Schritt 13: Spielen mit dem Roboter

Mit dem Roboter spielen
Mit dem Roboter spielen

Schalten Sie den Roboter ein und sehen Sie, wie er Sie begrüßt, mit Ihnen spielt. Stellen Sie jede Frage (keine dummen!) und sehen Sie sich die Antwort an. Sie können sagen, dass Sie den Linien folgen oder vorangehen sollen. Sagen Sie einfach „Stopp“, wenn Sie den Roboter stoppen möchten.

Robotik-Wettbewerb 2017
Robotik-Wettbewerb 2017
Robotik-Wettbewerb 2017
Robotik-Wettbewerb 2017

Zweiter im Robotics Contest 2017

Empfohlen: