Home > Technologie > Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

0
Advertisement

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Hintergrund

Dieser Roboter ist eine, die ich gebaut habe, um zu lernen. Vor diesem Projekt bekam ich meine Füße nass mit ein paar kleinen Maßstab Arduino Projekte wie ein Ultraschall-Roboter, (das würde rückwärts bewegen, bis es einen gewissen Abstand weg von der Wand war), und ich habe zu spielen mit ein paar der Schilde Entworfen für die Arduino, aber ich hatte noch nie ein komplettes Projekt mit diesem Mikrochip, oder wirklich, jeder Mikrochip gebaut. Ich wusste, wenn ich auf dieser Reise gehen würde, ein Hobby zu sein, würde ich das Arduino vollständig verstehen müssen. Ich wollte ein Projekt, das mein Ziel erreichen würde (oder nur meinem Ziel näher kommen, das Arduino vollständig zu verstehen) und eines, das nützlich oder lustig wäre, nach der Fertigstellung zu spielen! Das Projekt, das mir dabei helfen würde, war der Robo-Mobile.

Überblick

Der Robo-Mobile besteht aus zwei Teilen: einem Chassis und einem Roboterarm. Der Arm wurde entworfen, um Gegenstände abzuholen, zu bewegen und an bestimmten Orten abzulegen. Es wurde auch entworfen, um eine feste Strecke der Bewegung zu haben und sollte in der Lage sein, Gegenstände mit angemessenem Gewicht zu bewegen. Dieser Arm würde dann auf einem Chassis montiert werden, das sich dann wie ein Auto bewegen kann. Da das Chassis leichter zu machen war, werde ich dieses Instructable mit dem Chassis starten, und ich werde dann zum Roboterarm gehen. Dieser Roboter wurde rein von Grund auf neu gebaut. (Okay, vielleicht nicht die Motoren, oder die Arduino, oder die Räder, etc. Aber keine Kits oder vorgefertigte Roboterarme oder Chassis sind in diesem Roboter verwendet.)

Wettbewerbe

Es gibt viele Wettbewerbe, die ich in diesem Instructable eingegeben habe. Ein Wettbewerb, den ich wirklich hofft, ist für den Full Spectrum Laser Contest. Ich weiß, dass es über 1000 Einträge gibt und dass ich wirklich spät bin, aber wenn Sie meinen Instructable mögen, geben Sie mir bitte eine Stimme. Wenn ich den 3D-Drucker oder Laserschneider gewinnen würde, könnte ich meine Roboter und andere Projekte deutlich verbessern. Danke im Voraus!

Schritt 1: Auswahl

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Es gab viele Entscheidungen, die ich während des gesamten Prozesses des Bauens dieses Roboters gemacht. Aber in diesem Instructable werde ich die größeren und wichtigeren Entscheidungen setzen, die ich zusammen gemacht habe, genau hier am Anfang.

Remote gegen AI

Jeder Roboter muss irgendeine Weise haben, die er gesteuert wird, kann der Roboter computergesteuert durch irgendeine Art von AI-Schleifenprogramm sein, oder der Roboter kann ferngesteuert werden, wobei Bewegungen auf Benutzereingaben basieren! Bei der Herstellung der Ultraschall-Roboter, (das andere Projekt, das ich mit Arduino,) Ich entschied mich für einen AI-Schleife Roboter. Ich wusste, diesmal musste ich das Reich der Fernbedienung erkunden, um meine Arduino-Fähigkeiten weiter zu verbessern. (AI-Schleifen-Roboter sind in der Tat härter zu perfekt, weil sie die Fähigkeit, auf die Außenwelt zu reagieren, ohne dass ein Benutzer ihnen sagen, was zu tun, zu jeder gegebenen Zeit zu tun.Aber weil ich hatte nicht bereits einen ferngesteuerten Roboter Ich dachte, es ist interessant Wenn ich etwas Neues ausprobiert habe und nach der Fertigstellung des Projektes mehr ferngesteuerte Roboter mehr Spaß haben!)

Kommunikation

Nach der Entscheidung, dass es sich dabei um einen ferngesteuerten Roboter handeln würde, brauchte ich einen Weg, ihm zu sagen, was er tun sollte. Ich brauchte eine Art der Kommunikation. Für die Kommunikation gab es ein paar Möglichkeiten. Das erste, das die alte Schule verdrahtete Kommunikation ist. Dies wäre die einfachste Methode, um zu implementieren, aber verdrahtete Kommunikation ist "Old School", Technologie ist vorwärts und Wireless hat sich zu einem Muss für neue Geräte geworden. (ZB drahtloses Aufladen, Mobiltelefone, drahtlose Tastaturen und Mäuse usw.). Die drahtgebundene Kommunikation würde auch die Reichweite des Roboters einschränken, ohne es zuzulassen, ohne dass ein Draht & ldquor; Schwanz "bewegt wird. Die Methode, die ich gewählt habe, war die bekannte drahtlose Kommunikation mit dem Namen Bluetooth. Ich weiß, dass ferngesteuerte Autos in der Regel Radiofrequenz verwenden und jetzt, dass ich zurückblicke auf dieses Projekt Ich denke, mit Radiofrequenz anstelle von Bluetooth könnte eine bessere Idee für dieses spezielle Projekt gewesen. Aber zurück zu dem Ziel, das ich im Sinn hatte, ging ich mit Bluetooth für die Erfahrung! Ich fühlte, dass andere Projekte, die ich in Zukunft mit einem Arduino machen würde, über Smartphones und andere Bluetooth-Geräte gesteuert werden, so dass ich Bluetooth für dieses Projekt nutzen wollte! (Der Nachteil ist Verzögerung.Wenn ich jemals eine v2 würde ich mit Radiosignalen zu erforschen.)

Regler

Jetzt für den Controller. Ich wusste, ich ging mit Bluetooth. Aber eine Reglerarbeit zu machen, war eine ganz andere Geschichte. Da mein Roboter wirklich zwei Teile, das Chassis und der Arm, ist, entschied ich mich, meine Steuerpulte auch aufzuteilen. Für das Chassis, habe ich eine einfache Android App, um die Bewegung des Roboters zu steuern. Die Android-App wurde von mir selbst geschrieben mit MITs App Inventor. (Ich werde in einem der nächsten Schritte genauer gehen.) Für den Arm benutzte ich einen Dummy-Roboterarm, den der echte Arm nachahmen würde. Wenn ich eine der Gelenke auf dem Dummyarm bewege, würde der reale Arm auf dem Roboter die gleiche Position nachahmen. Diese Methode hat viele Vorteile, einschließlich der Einfachheit der Implementierung und Benutzerfreundlichkeit. Wenn der Controller war auch ein Button-basierte Android-App, die einen einzigen Motor bewegt ein zu einer Zeit, bewegen den Arm zu einer bestimmten Position wäre ein Schmerz gewesen. Der einzige Nachteil dieser Methode war die Notwendigkeit, einen zweiten Arm, der nicht wirklich so schlecht, wenn man nach dem Bau eines alles, was Sie tun müssen, ist eine Kopie zu bauen.

Stoff

Bevor ich das erste Stück meines Chassis schneide. Ich musste das Material auswählen, aus dem mein Roboter gefertigt werden sollte. Wie Sie vielleicht von den Bildern oben gesehen haben, dass ich meine aus Sperrholz machen wollte! Ich weiß, dass es andere Materialien gibt, die für dieses Projekt viel besser geeignet sind, aber ich habe mich für Holz entschieden, weil ich zuversichtlich in Holz arbeitete! Ich wusste, wie man Holz ziemlich gut in der Lage, die grundlegenden Elektrowerkzeuge für meine Bedürfnisse zu bedienen. (Grundlegende Werkzeuge ich verwenden eine Bohrmaschine, eine Gehrungssäge, ein Jigsaw und ein Dremel Drehwerkzeug.Diese Werkzeuge waren die Werkzeuge, die ich verwendet, um mein Projekt, sondern ersetzt die Bohrmaschine drücken für einen Bohrer oder eine Handsäge für die anderen Motorsägen sind durchaus vernünftig.)

Zeit zum Bauen!

Schritt 2: Stückliste (Stückliste)

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Es gab viele Komponenten in diesem Roboter, viel mehr als mein alter Ultraschall-Roboter hatte. Die Liste, die ich habe, ist hier:

Elektronik

  • 3x Arduino Unos - eine wird verwendet , um den Arm zu steuern, wird ein verwendet , um das Auto zu steuern, ein als die Dummy - Arm Steuerplatine verwendet , um das Arduino Sendesignal den Arm zu steuern. (Hatte eine und nahm zwei weitere von meinem lokalen Elektronik-Geschäft.)
  • 1x Bluefruit EZ-Link - Shield - war eine bestimmte Bluetooth Schild Kauf nicht wirklich notwendig , aber in die Bluetooth zu erleichtern ich diese Nutzung für eine einfache gekauft. Mit Ausbrüchen wie HC-05 ist alles bestens. (Sie werden sehen, dass ich HC-05s für den Arm und Dummy Arm gekauft habe, weil dieser Schild nicht als Master und nur als Sklave laufen kann.
  • 1x Adafruit Motor / Stepper / Servo - Schild für Arduino v2 - Achten Sie darauf , die v2 Ausgabe zu erhalten , weil diese Abschirmung Motoren mit starten bei 1,2 A je. (Das ist ein großer Schild für den Arduino, muss aber gelötet werden.)
  • 1x Adafruit 16-Kanal - 12-Bit - PWM / Servo Shield - Dieses Kit war nicht wirklich notwendig , es nur machte das Leben ein bisschen leichter. Das Fahren der Servos für den Arm hätte mit dem Arduino gearbeitet. (Benötigt Löten.)
  • 2x ProtoScrewShields - Sie sind beide verwendet , um meine eigene Schild für die HC-05 und andere Schaltungen machen , die nicht in den anderen Schilde enthalten waren. (Abgeholt von meinem lokalen Elektronik-Shop.Dieser Schild ist nicht für Arduino Uno R3, sondern ein älteres Modell, obwohl es fehlt ein paar Stifte es funktionierte in diesem Projekt.)
  • Header - Kits 4x - Gebrauchte Schilde zu stapeln, habe ich persönlich 4 Sätze , weil die Adafruit Schild Kits nicht mit stapelbaren Header gekommen. (1 Satz für Bluefruit, 1 Satz für Motor, 1 Satz für 16 Kanäle, 1 Satz für Distanzierung von Schildern zum Stecker Servos in.)
  • 8x Flip - Schalter - Auf und abseits der verschiedenen Elektronik einzuschalten. (Ich habe 8 von ihnen, aber es hängt von der Verkabelung.)
  • 2x HC-05 - Ein Bluetooth - Ausbruch Früher habe ich meine Dummy - Arm mit dem Arm verbinden.
  • 4x Solar - Servos - ich kaufte zwei D772, D227 ein, und D653. Diese hatten das meiste Drehmoment, das ich zu einem vernünftigen Preis finden konnte.
  • 1x Elektro-Haftmagnet - Dies wird als die "Picker" in diesem Projekt verwendet.
  • 4x Feedback - Servos - ich kaufte drei Standardgrößen Feedback Servos und einem Mini - Servo , aber sie tun im Wesentlichen das Gleiche.
  • Draht - In diesem Projekt wurden verschiedene Arten von Drähten verwendet. Einige Drähte waren spezifische Servo-Verlängerungsdrähte für Organisationszwecke, aber die meisten Drähte waren gerade "regelmäßiger Draht".
  • 4x Akku - Packs - ich verwendet , um zwei 4 AA - Akkus, ein 6 AA - Batteriepaket, und ein 8 AA - Akku.
  • Batterien - Es wurden viele Batterien in diesem Build verwendet. Ich verwendete spezifisch 22 AA-Batterien und drei 3 9v Batterien. Die 9vs wurden verwendet, um meine Arduinos anzutreiben, wenn die AAs verwendet wurden, um die Motoren und Electro-Holding Magneten anzutreiben.
  • 4x Pololu 298: 1 Micro Metall Gearmotor MP - Dies sind die wichtigsten Motoren für das Fahrwerk.
  • 7x Batterie 9v Snaps - Diese werden verwendet , um die Akkus zu verbinden ich zu den Schaltungen gekauft.
  • 3x Arduino DC - Stecker - Dies sind die grundlegenden Stromanschlüsse für den Arduino.
  • Männliche und weibliche Header - anders als die Kits diese verwendet werden, um Ausbrüche zu meiner selbst entworfenen Schaltungen zu verbinden.
  • Widerstände - Es gibt ein paar verschiedene Widerstände in diesem Projekt verwendet werden, werden sie alle in der selbst entworfenen Schaltungen verwendet.
  • 1x TIP Darlington - Transistor - Dies wird verwendet , um die nur "High Powered" Komponente in diesem Build zu steuern, den Haltemagneten. (Das Modell # könnte nicht das gleiche sein.Ich habe eine NTE 261, die im Wesentlichen die gleiche ist.)
  • 1x Gleichrichterdiode 1N4001 - verwendet auch die Haltemagneten zu steuern. (Modell # der äquivalenten Diode, die ich vom lokalen elektronischen Speicher aufnahm, war das NTE116.)

Andere Teile

  • 2x Pololu Micro Metall Gearmotor Bracket Paar - Diese werden verwendet , um die Motoren auf das Chassis zu montieren.
  • 2x Pololu Rad 60x8mm Paar - Dies sind die Räder des Fahrwerks. Diese Räder sind klein, aber passen Sie den Roboter gut. Größere Räder könnten auch funktionieren.
  • WOOD - Wenn der Körper aus Holz. Ich verwendete einige Abfälle, die ich herum gelegt hatte, aber im Grunde sie Holz, das ich verwendete, waren ungefähr 1/4 Zoll-Sperrholz und 1 Zoll-Sperrholz.
  • Elektrische Band - Dies ist ein Muss haben, um die Elektronik isoliert zu halten.
  • Doppelseitiges Klebeband - Wird nur für Klebeband verwendet, um die Dummy-Arm-Plattform anzuheben.
  • Box - nicht ganz benötigt, aber es ist ein einfacher Weg, um die Dummy-Arm-Plattform für die einfachere Nutzung zu erhöhen.
  • Fenderscheiben / Kugellager - Diese wurden nur als Gegengewicht für den Roboterarm verwendet. Etwas musste hier verwendet werden, so dass ich Kugellager und Kotflügelscheiben aus einem früheren Projekt.
  • Vielzahl von verschiedenen Schrauben, Bolzen, Muttern und Unterlegscheiben - Diese werden verwendet, um einen der Teile des Roboters mit einem anderen zu verbinden.
  • 9x Ball Caster Räder - Diese werden verwendet , um eine glatte Basis für die Roboterarme zu machen. Ich nahm diese von meinem lokalen Baumarkt und sie waren eine perfekte Höhe für meinen Motor. Wenn sie nicht die richtige Höhe mit Unterlegscheiben zu heben sie Werke zu. (Mehr Infos im Schritt.) Ich habe 5/8 '' Roller Ball Bearings.

Schritt 3: Das Chassis

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Größe

Als ich dieses Projekt begann, wusste ich, dass ich einen kleinen, aber stabilen Roboter wollte. Meine Kriterien waren ziemlich direkt, es sollte ein groß genug, um meine Elektronik, aber nicht zu groß und schwer, dass meine Mikro-Getriebemotoren nicht genug Drehmoment, um es zu fahren. Ich beschloss, mit einer 20 cm x 20 cm Plattform zu gehen.

Nachdem ich fertig war, schneide ich das Stück Sperrholz, markierte ich Löcher für die Klammern und bohrte sie aus. Nach einem kleinen Spiel mit einem Schraubenzieher und den Muttern, montierte ich meine Getriebemotoren auf das Chassis. Ich war nicht in der Lage, die Versuchung der Anbringung der Räder zurückhalten, so dass ich sie auf, um einen Blick für den Roboter zu bekommen!

Schild

Wie ich schon sagte, ist das Chassis des Roboters der einfachste Teil des Projektes, so dass nach der Montage auf den Motoren nichts mehr zu tun war, als die Elektronik zu montieren und diesen Roboter in Bewegung zu bringen! Ich zog mein verstaubtes Arduino heraus (das seit dem letzten Projekt nicht berührt wurde) und der neue Adafruit Motor Shield v2, der immer noch nur eine Tasche von Teilen war. Adafruit Arduino Schilde sind großartig! Sie sind einfach zu bedienen und wenig bis keine Fehlersuche erforderlich. Der einzige Nachteil von Adafruit-Schilden ist die Notwendigkeit, sie zu löten. Ich kann sagen, dass ich am Löten beherrschen und das war wirklich kein Problem für mich. Der einzige heikle Teil waren die Stifte / Header, die ein wenig näher zusammen, aber ich habe ziemlich gut, dies nach dem Löten vier dieser Adafruit-Schilde. (Achtung: Adafruit-Schilde sind nicht mit stapelbaren Headern erhältlich, diese werden separat gekauft.) Ich werde nicht jeden Schritt der Adafruit-Schild-Montage zeigen, da sie eine große Schritt-für-Schritt-Anleitung auf ihrer Website haben, die genau das macht.

Verdrahtung

Sobald das Schild fertig ist, ist es Zeit, es zu benutzen. Ich bohrte in einige Löcher in der Front und der Rückseite des Chassis, um die Drähte von den Motoren zum Schild zu bringen. Ich hakte dann meine Motoren, jeder zu einem Hafen auf den Terminalblöcken mit etwas Draht, den ich herumgelegt hatte. (Sorry, ich habe nicht die Lehre des Drahtes, den ich verwendet habe.) Sobald die Motoren angeschlossen waren, hakte ich den Akku mit einem 9V-Batterie-Snap. Sobald die Verdrahtung fertig war, steckte ich meinen Arduino in meinen Computer und lud eine leicht modifizierte Beispielskizze ein, die mit dem v2 Schild kam. Ich modifizierte es, um 4 Motoren anzutreiben und das Muster der automatisierten Schleife zu justieren, um Art der Bewegung zu prüfen. (Vorwärts: Alle Motoren fahren nach vorn, alle Motoren fahren nach hinten, drehen nach rechts: die Motoren nach rechts bewegen sich nach links, wenn die linken Motoren nach vorne fahren. )

Testen

Nachdem die Skizze das Hochladen beendet hat, ist es Zeit, die Stromversorgung des Arduino einzuschalten und das Chassis laufen zu lassen. Achten Sie beim Vorlauf der Schleife darauf, dass alle Motoren sich in die gleiche Richtung bewegen. Es ist immer gut, das Chassis aus dem Boden zu heben oder halten Sie es in der Luft während des ersten Laufs, da, wenn die Leitungen der Motoren rückwärts / gespiegelt sind, wird der Motor drehen die andere Art und Weise das Chassis lock up, wenn sich die Motoren bewegen Verschiedenen Richtungen. Wie oben erwähnt, wenn die Motoren rückwärts sind, drehen Sie einfach die Leitungen auf einen der Motoren oder auf die Motorabschirmung. Nachdem Sie sichergestellt haben, dass die Vorwärtsfunktion ordnungsgemäß funktioniert, stellen Sie sicher, dass Sie die Richtung vorwärts markieren, da das Chassis quadratisch ist und wir keine Identifikationsmöglichkeit haben. Auch nicht vergessen, die Richtung der Links-und Rechtskurve zu überprüfen, stellen Sie sicher, sie tun die richtige Aktion.

Bluetooth

Nachdem ich den Roboter autonom bewegen konnte, war es Zeit, meine Kommunikationsmethode einzusetzen. Ich wusste, es war Bluetooth wegen der Entscheidungen, die ich am Anfang, so kaufte ich ein Arduino Bluetooth Schild. Der Schild, den ich für Bluetooth benutzte, war das Adafruit Bluefruit Shield. Dieser Schild war bei weitem die einfachste Bluetooth-Lösung für Arduino. Obwohl der Schild als Kit wie das Motorschild kommt, benötigt es keine AT-Befehle oder eine der harten Kalibrierung, um diesen Schild zu verwenden. Alles, was Sie tun müssen, ist nur booten und verbinden mit einem Bluetooth-Gerät. (Später, für den Roboterarm, benutze ich den HC-05, weil dieser Schild nicht in der Lage war, als Master zu dienen, der Controller.) Also nach dem Löten und Zusammenbau fertig war, steckte ich meinen Schirm direkt an Oben auf meinem Motorschild, das auf meinem Arduino war, fange ich wirklich an, Schilde zu stapeln. Schließlich stecke ich mein Arduino zurück in den Computer, um eine neue Skizze hochzuladen, eine, die den eingestellten Code der Bluetooth Schild enthält, der von den Adafruit Quellen gefunden wird. Jetzt ist es an der Zeit, dieses Chassis ferngesteuert zu machen.

Schritt 4: App Inventor: Intro

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Wie funktioniert Bluetooth mit Arduino

Bluetooth für das Arduino ist im Grunde eine drahtlose serielle Schnittstelle. Wenn Sie nicht wissen, was ein serieller Port ist, ist es grundsätzlich ein Ort, wo Befehle gesendet werden können, um Ihr Arduino zu steuern, wenn es für die Befehle programmiert ist, die Sie ihm geben. Normalerweise wird dies durch das Anschließen des USB an den Computer und das Senden der Daten von einem Fenster auf dem Bildschirm zum Arduino erreicht. Aber jetzt, dass das Bluetooth-Schild angeschlossen ist, gibt es keine Notwendigkeit für das USB-Kabel. Befehle können nun von einem angeschlossenen Bluetooth-Gerät an den Arduino gesendet werden. Dies ist genau die Funktion, die wir verwenden, um unsere Fernbedienung zu machen.

Für uns werden wir zuerst machen es so, dass das Android-Handy kann "gekoppelt" oder mit der Bluefruit verbunden sein. Nach der Kopplung ist es dann verbunden und in der Lage, Befehle über die serielle Schnittstelle zu senden. Dies wird nützlich sein, weil unsere App wird das Arduino einen Befehl zu senden oder in diesem Fall eine einfache # oder Wert, wenn eine Schaltfläche in der App gedrückt wird. Einmal an den Arduino geschickt, nimmt der Arduino den Wert und passt ihn mit einem Befehl, sobald er seinen Befehl kennt, führt er ihn aus. So wird die App das Arduino und damit das Chassis steuern.

Um die Programmierung dieser App so einfach wie möglich zu machen, habe ich ein Tool namens App Inventor verwendet. Dieses Tool im Besitz von MIT, ursprünglich von Google gehört, war der einfachste Weg, um eine schnelle Android-App für meinen Roboter zu machen. App Inventor ist ein Werkzeug, das Blöcke als Programmiersprache verwendet. (Viele wie Scratch.) Sie ziehen Blöcke und verbinden sie, um ein Logik-Chunk, dass die Programmierung der App ist zu machen. Ich werde schnell über das Layout der App Inventor gehen. App Inventor besteht aus zwei verschiedenen Arten von Ansichten, Blockansicht und der Designeransicht. Die Blockansicht zeigt die Logik und Programmierung. Die Designer-Ansicht zeigt das Erscheinungsbild der App. App Inventor ist nicht sehr aktuell auf Designer und hat die alten Android 2.x-Look, und nicht alle Funktionen sind verfügbar, aber für unseren Zweck ist es eine schnelle und schmutzige Lösung.

Die Art, wie ich meine App begann mit den Designer-Blöcke. Für diese App gibt es drei wesentliche Blöcke: einen Listpicker, einen Button und einen BluetoothClient. Dies sind die wesentlichen Blöcke der App und sind ein Muss haben, um App-Arbeiten zu versichern. Jeder der Blöcke wird nachfolgend erläutert.

Listpicker - Auf dem Designer-Bildschirm sieht der Listenpicker genau wie ein Button aus, aber dieser Button ist anders. Dieser Block erlaubt Ihnen, eine Auswahl aus einer Liste auszuwählen. In der App wird dieser Komponente / dem Block die Liste aller Bluetooth-Adressen zugewiesen, die dem Telefon bekannt sind und wird verwendet, um das Telefon mit dem Arduino zu koppeln. Um die Verbindung zu gewährleisten, sollte bei jedem Öffnen der App die Bluetooth-Adresse erneut verbunden werden.

Button - Diese Komponente ist die Haupteingabe der Android-App. Es ist die Art und Weise die App weiß, wann man ein Signal / Wert an den Arduino senden und welches Signal zu senden. Wenn eine Schaltfläche mit der Beschriftung "Vorwärts" bezeichnet ist, sollte die Schaltfläche einen Wert an den Arduino über Bluetooth senden, den der Arduino als Vorwärtsbefehl interpretiert. Die App sollte viele Schaltflächen haben, wobei jeder einen anderen Wert an den Arduino sendet, und der Arduino interpretiert die Befehle unterschiedlich, basierend auf dem empfangenen Wert.

BluetoothClient - Dies ist die Hauptkomponente, die die App "Bluetoothed" macht. Es gibt viele Funktionen / Blöcke, die dann mit anderen Blöcken wie dem Button und dem Listenpicker verbunden werden können, um die App zu machen.

Weitere nützliche Konstruktionsblöcke:

Etiketten - Diese sind ziemlich selbsterklärend. Sie können dynamisch und ändern, oder einfach nur als statisches Label auf dem Bildschirm bleiben.

Arrangements - Das sind grundsätzlich die Teiler. Ohne die Anordnungen sind die Komponenten alle untereinander angeordnet. Mit Anordnungen können Bauteile nahezu beliebig angeordnet werden.

Schritt 5: App Inventor: Designer-Ansicht

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Designer-Ansicht

Das erste, was zu tun ist, ist, um die Designer-Komponenten alle auf den Bildschirm ausgelegt bekommen. Es gibt fünf Tasten, die benötigt werden. Vorwärts, Rückwärts, Rechtskurve, Linksdrehung und Stopp. Da die App, die ich entworfen wurde wirklich nicht auf einem Telefon verwendet werden, sondern eine 7-Zoll-Tablette. Ich wollte in der Lage sein, den Roboter mit meinen rechten und linken Händen stoppen, so habe ich zwei Stopp-Tasten eine auf jeder Seite zu insgesamt 6 Tasten zu kommen. Ich setzte dann meine ListPicker oder wirklich das Gehen, Paar-Knopfrecht in der Mitte mit einem dynamischen Aufkleber zu sein, der bedeutet, dass das Gerät angeschlossen wurde. (Das Etikett prüft nicht, ob das Gerät unterbrochen wurde.) Ich habe die Anordnungen verwendet, um meinen Bildschirm so schön wie möglich zu machen. Nach dem Löschen der Schaltflächen auf dem Bildschirm, habe ich die Symbolleiste auf der rechten Seite, um den Text auf der Schaltfläche angezeigt konfigurieren. Ich habe alle Tasten 'Etiketten die Funktion, die sie verwendet werden. (Es gab zwei weitere nicht sichtbare Komponenten, die ich der App hinzugefügt hatte, war offensichtlich der BluetoothClient, aber der andere, den ich hinzufügte, war der Notifier. Der Notifier erlaubt Ihnen, Meldungen anzuzeigen. Ich habe diese Komponente hinzugefügt, weil ich in der Lage sein, eine Meldung anzuzeigen, dass der Benutzer Bluetooth auf ihrem Gerät einschalten wollte. Dies sind die Komponenten, die ich verwendet, um diese App machen. Jetzt Zeit für die Programmierung der Blockansicht.

Schritt 6: App Inventor: Blockansicht "BeforePicking"

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Blockansicht

In der Nähe der oberen rechten Ecke des Bildschirms finden Sie zwei Tasten eine, die sagt "Designer" eine, die "Blocks" sagt. Klicken Sie auf die Schaltfläche "Blocks", um zum Blockbildschirm zu gelangen. Auf dem Blockbildschirm haben Sie eine linke Symbolleiste und einen leeren Bildschirm. Die linke Symbolleiste wird der Ort, wo Sie ziehen Blöcke aus, die rechte leere Seite können Sie Ihre Blöcke und bauen. Für unsere App benötigen wir mindestens drei "Chunks". Das erste Chunk ist das vor dem Listenpicking, das zweite ist nach dem Listenpicking, und das dritte ist die Taste, die das Signal an den Roboter sendet. Da ich 6 Tasten habe ich 8 Stücke haben. Wenn Sie nicht über die Logik hinter der App egal können Sie einfach die Bilder überspringen und kopieren, was ich tat. Für Leute, die die Erklärung für jeden Block hier wollen, ist es:

Erläuterung für: "BeforePicking"

Zuerst müssen Sie aus dem Listenpicker den Block "When ____. BeforePicking" herausziehen. Dieser Block erlaubt der App zu initiieren, welche Liste der Listenpicker auswählt. Im "do" Teil des Blocks ziehen Sie in "set ____. Elemente zu" blockieren. Dies ist der Block, der die Liste auswählen wird, aus der die Kommissionierung ausgewählt wird. Beachten Sie, wie es eine kleine Kerbe am Ende dieses Blocks, ist dies der Ort, wo die Liste wird in gesetzt werden. Ohne etwas in der Kerbe im Grunde nichts wird den Elementen zugewiesen werden und es wird leer sein. Aber wir wollen etwas dem Listenpicker zugewiesen. Insbesondere wollen wir die Liste der Bluetooth-Adressen. Um dies zu tun, gehen Sie in Ihren Bluetooth_Client und ziehen Sie den Block '' ___.AdressAndNames '', wie bereits erwähnt, die Liste, in der der Listenpicker zugewiesen wird App-Arbeit.Die nächsten paar Blöcke, die ich verwenden wird, um den Benutzer daran zu erinnern, Bluetooth einschalten, wenn sie nicht bereits.Dies ist nur gemacht, indem ein "Wenn, dann" -Block nach der Einstellung des Listenpickers.Im " "Notch Ich werde einen" Not "-Block aus dem Logikteil der Symbolleiste setzen und in dieser Kerbe den Block" __. Enabled "vom Bluetooth-Client platzieren. Dieser Teil des Codes stellt im Grunde fest: Wenn Bluetooth nicht aktiviert ist Der nächste Teil in der folgenden Sektion haben wir die "Call ___. ShowAlert Notice" aus dem Notice Block und in der Notiz Notch werde ich einen Textblock mit "Bitte aktivieren Sie Ihre Bluetooth in den Einstellungen." Die Übersetzung der Blöcke auf plain Englisch Ist hier: Wenn der Listenpicker eingeleitet wird, setzen Sie die Liste der Bluetooth-Adressen auf die Liste, aus der der Picker ausgewählt wird. Auch wenn Bluetooth nicht aktiviert ist, wird eine entsprechende Meldung angezeigt. Sie können genau sehen, was dieses Stück tut.

Schritt 7: App-Erfinder: Blockansicht "AfterPicking"

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Erläuterung für: "AfterPicking"

Zuerst musst du das "When ____. AfterPicking" aus dem Listenpicker herausziehen. Dieser Block wird alles tun, was sich im Abschnitt "do" befindet, nachdem Sie eine Adresse aus dem Listenpicker ausgewählt haben. Als nächstes ziehen wir in "Anruf ____. Disconnect" aus dem Bluetooth-Client. Dadurch wird sichergestellt, dass das Bluetooth-Gerät nicht mit einem anderen Gerät verbunden ist. Als Nächstes verwenden wir den Block "Auswerten, ignorieren Ergebnis". Dieser Block ermöglicht es uns, gekerbte Blöcke in den "do" -Abschnitt des Chunks einzufügen. Wir haben "call __. Connect address" vom Bluetooth-Client angeschlossen. Anschließend verbinden wir die Adresse, die wir gerade aus dem Listenpicker ausgewählt haben, indem wir den Block "___. Selection" aus dem Listenpicker einfügen. Wie wieder, dies beendet den wesentlichen Teil des Stückes, sondern um einige Indikatoren zu erhalten, dass die App korrekt angeschlossen war, werde ich die Verbindung überprüfen und den Text ändern, wenn es angeschlossen ist. Weil ich Text in der Designer-Ansicht gesetzt habe, habe ich jetzt ein Label, das ich ändern kann. Ich verwende den "if then else" -Block, um zunächst die Verbindung zu überprüfen und den Text zu verbinden und grün, wenn es angeschlossen ist und ich den Text auf Nicht verbunden und rot, wenn es nicht ist. Wie zuvor habe ich den "____. IsConnected" -Block aus dem Bluetooth-Client in die Kerbe im "if" gesetzt. Ich stellte dann die "Set ______.Textcolor to" und "Set ______.Text zu" Blöcke in die dann und die anderen und setzen Sie Farbe auf grün und Text, um in dann verbunden und Farbe auf rot und Text auf Nicht verbunden in anderen. Die Übersetzung der Blöcke in normales Englisch ist hier: Nachdem der Listenpicker seine Auswahl getroffen hat, trennen Sie alle Bluetooth und verbinden die Bluetooth-Adresse, die ausgewählt wurde; Überprüfen Sie auch, ob das Bluetooth-Gerät wirklich angeschlossen ist, und setzen Sie es dann auf grün und grün, wenn es nicht auf rot eingestellt ist.

Schritt 8: App Inventor: Block View "Button Klicken Sie auf"

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Erklärung für: Schaltfläche Klicken

Dies ist die wichtigste Komponente der App, aber es ist auch wirklich einfach. Ziehen Sie zuerst in der "wenn ___.click" von der gewünschten Schaltfläche. Ziehen Sie in der do-Bereich im Block "Call ___. Send1byteNumber" aus dem Bluetooth-Client. Dies sendet ein Byte Daten oder wirklich eine Zahl. Die Zahl, die ich diesem Knopf zugewiesen wurde, war 1. Die höchste Zahl, die dieser Block senden kann, ist 255 also, wenn Sie mehr als 256 Knöpfe haben (vergessen Sie nicht 0), dann müssen Sie einen anderen Block verwenden. Die Übersetzung der Bausteine ​​in Klartext ist hier: Wenn Taste a angeklickt wird, senden Sie eine Byte-Daten, in diesem Fall 1, an das angeschlossene Bluetooth-Gerät. Dies sind im Grunde die Stücke, die Sie für die App benötigen. Sie müssen das Knopfstück duplizieren und die Variablen ändern, um unterschiedliche Werte zu senden, wenn verschiedene Knöpfe angeklickt werden. Das im Grunde unsere App beenden.

Schritt 9: Der Arm: Die Basis

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Der Roboterarm war viel schwieriger zu machen als das Chassis war. Eines der größten Probleme, die ich mit dem Roboterarm hatte, war ein Problem mit Toque. Der Arm, den ich entwarf, hatte drei Teile genau wie ein echter Arm. Es hat eine Basis, die den Arm 80 Grad links und rechts (~ 160 Grad Bereich) drehen kann. Der zweite Teil ist die Auf- und Abbewegung, die es dem Arm ermöglicht, sich nach oben und unten zu bewegen. (Der niedrigste Punkt ist wenig mehr als parallel zum Boden und geht von dort um 60 Grad zurück.) Der dritte Teil des Arms ist der Teil, der an dem zweiten Teil befestigt ist und sich auch nach oben und unten bewegen kann. (Dieser Teil kann fast in den 2. Teil falten oder vollständig ausrichten.) Es gibt ein 4. Teil zum Arm, zum Kopf des Armes und zum kleinen Handgelenk, das es erlaubt, immer in der Lage zu sein, den Boden senkrecht dazu zu berühren. Dies waren die 4 Teile zum Arm. Beim Bau, obwohl ich festgestellt, dass die meisten Servos waren zu schwach, um alles auf diesem Projekt zu tun, so konnte ich besonders hohe Drehmoment-Servos zu finden.

Die Basis

Das erste Problem, das ich konfrontiert war die Basis. Ich wollte ein Servo aufrecht mit Welle nach oben. Dies würde es ermöglichen, eine Plattform drehen. Aber wenn ich eine Plattform direkt auf den Schacht montieren würde, könnte der Schacht nicht und vermutlich nicht in der Lage sein, die Gewichtsbelastung zu halten und auszugleichen, und wird eine große Belastung auf solch einem kleinen Motor / Schacht setzen. Wenn ich einen kleineren und leichteren Roboterarm baue, könnte nur die Befestigung der Basisplattform auf dem Servo funktionieren. Aber da der Arm ging, um eine beträchtliche ungefähr Gewicht zu tragen, entschied ich, eine "faule Susan" wie Basis für meinen Arm zu bauen, um sich zu drehen. Um diese "Lazy Susan" Ich habe sechs vorgelagerte Marmor omni-Räder. Sie waren jeweils ein Dollar im Baumarkt. Um diese Basis zu bauen, nahm ich ein Stück ein Holz und schnitt ein Loch hinein, um mein Servo zu passen. Dieses Loch sollte so eng wie möglich, aber immer noch in der Lage, die Servo in passen. Die After-Montage im Servo Ich markiert die 4 Löcher, die dann verwendet werden, um Schrauben und befestigen Sie meinen Motor könnte. Sobald ich sicher hatte, musste ich meine 6 omni-Räder zu einem Kreis um die Motorwelle zu gestalten, beachten Sie, wie ich sagte speziell die Welle. Dies liegt daran, dass, wenn die Basis dreht sich auf dem Servo der Mitte des Kreises ist die Welle und nicht die Mitte des Servos. So ordnen Sie die omni-Räder, so dass sie gleich weit entfernt von der Welle und so eng wie möglich sind. Dies ist, um sicherzustellen, dass die Basis ist klein, so dass der Arm ist leicht genug für das Chassis, um es zu fahren. Nach Markierung der Löcher für die Murmeln, bohrte ich sie, so dass Schrauben könnten verwendet werden, um sie zu befestigen. (Ich habe immer bohren ein Pilotloch für die Schrauben, um die Möglichkeit der Spaltung des Holzes senken.) Nach der Befestigung montiert ich die Welle Adapter zu einem kreisförmigen Stück Holz. Dieses Stück Holz würde für die Plattform des Armes sein. Ich legte meine kleine Plattform mit einem Adapter auf den Servo. Ich prüfte dann die Unterseite, schauend von den Seiten, abhängig von den Servo- und Radabmessungen, der Servo konnte größer sein, den Marmor nicht zu erlauben, das Gewicht des Armes zu halten. Das Servo könnte auch zu niedrig sein, dies führt dazu, dass es nicht möglich ist, die Plattform zu erreichen und somit nicht in der Lage ist, die Rotation des Servos auf die Plattform auszuüben. Wenn Sie einen dieser Fälle haben, brauchen Sie nur die Räder oder den Motor mit einigen Unterlegscheiben oder sogar Muttern zu heben. Nach der Ausrichtung sollten die Räder die Plattform kaum berühren. Nachdem Sie die Ausrichtung abgeschlossen haben, schrauben Sie den Adapter, der an der Basis befestigt ist, in das Servo und Sie sind mit der Basis fertig.

Schritt 10: Der Arm: Die erste gemeinsame

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Die erste gemeinsame

Der nächste Teil war das erste Gelenk des Arms. Die Art, wie ich meinen Arm entwarf, war, dass das gemeinsame Servo auf der Basisplattform montiert und haben die Erweiterung ragte. Nach vielen Versionen der Servo-Montage, fand ich, dass nur Putting Bolzen durch die 4 Servolöcher und verbindet sie mit einem Stück Sperrholz an der Rückseite war die einfachste und effektivste Weg, um das Servo zu montieren! Also nach dem Kleben auf einem Block aus Holz, um den Drehpunkt ein wenig, damit der Arm bewegen konnte, befestigte ich die Servo mit so kleinem Stück Holz. Ich hatte nur vor, für diese Verbindung ein Servo zu verwenden, aber zwei Teile des Armes zu verbinden, müsste der Schaft von der anderen Seite herausragen. Ich entschied, dass ich einen Bolzen auf der anderen Seite montieren würde. Dies ermöglicht mir, die beiden Teile der Erweiterung ohne zwei Servos zu stabilisieren. Nun ist es Zeit, die Verlängerung des Armes zu verbinden. Ich wusste, dass der Roboterarm einige ziemlich schwere Gewichte in der Front haben würde, weil das Gewicht weit weg von dem Drehpunkt ist, würde das Servo mehr Gewicht heben müssen, wenn das Gewicht gerade nahe an dem Drehpunkt war. Meine Servos, obwohl sie ein hohes Drehmoment haben, können meinen Arm nicht ohne Hilfe hochheben. Dies ist, warum ich ein Gegengewicht auf der Rückseite dieser ersten Länge hinzugefügt. Ich erweiterte die Erweiterung ein wenig nach hinten, so dass meine Gegengewichte Platz zum Anbringen hatten. Für Gegengewichte, verwendete ich eine Reihe von Unterlegscheiben und Skateboard-Lager, die ich herumgelegt hatte, dann legte ich sie durch einen Ersatz-Bolzen und montiert, dass auf der Rückseite. I like to call it the "Cylindrical Heatsink" because of the awesome look it gives to the robot, but really it is just extra weight. Another part of the I did to remove weight so my motors could lift the arm was to drill out wood in the extension. The holes in the extension wasn't made for looks but it was to remove some of the weight from the arm. You might ask if it really weighs that much, really it is only a few grams but because of the distance away from the fulcrum ever little ounce counts!

Step 11: The Arm: The Rest

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

The Second Joint

Next up the second joint of the arm was a little different then the first one was, this time instead of mounting the servo on the pre-built extension of the first part of the arm, I mounted my servos on the extension of the second joint and connected it to the extension of the first joint. I knew that my arm had to be able to touch the ground in more than one place so I made my extension a reasonable length. Again the weight would be a problem for the servo so again I drilled out wood from the extension too. When I was testing an earlier version of the arm without the wood drilled out from the extensions, the torque of the servo at the bottom was getting strained. It did work, but the motor was on the verge of dropping the arm. After drilling out the wood, the motor easily picket up the arm. This meant that the motor was just on the borderline, with the few grams of wood lost it was able to move the arm without difficulty.

The Attachment

After installing the second joint and extension of the arm it was time for the final part, the main attachment. A robot arm needs to be able to pick up objects. The choice I had was what attachment I would use. This was one of the smaller choices that I had to make so I included it here. The most common attachment was some kind of claw that allowed it to pick up what it desired. But I had a better idea, using an electo-magnet I could pick up any item that could be picked up by a magnet, it allows for easy pick up and release. With an electro-magnet, I had everything I wanted, excluding picking up non magnetic objects. But what if I made an attachment for all objects? That is just what I did! Took a fender washer and glued it to a block of wood. On this piece of wood I would stick duct tape facing outwards. This means that I could used the electro magnet to pick up the washer on the attachment then I could use the duct tape to pick up items. To drop items I would have to drop both the duct tape and the object. This was the easiest method I could find it still isn't perfect but it was the best I could get it. Before I mount the electo magnet I had to mount a small servo. This servo would allow for fine adjustment to the angle the tape would touch the item. This time I used a different approach the mount the servo yet again. I decided that I would make the servo attachment consent and have the servo move. After mounting the servo I glued together a piece of wood and drilled a hole into it. The hole then allowed me to stick a bolt in a therefore mount the electro magnet.

Step 12: Dummy Arm: The Base

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

This arm is the controller of the other arm. The controller doesn't have to be able to move so I don't have to worry about toque issues. Since this was the second arm I made it was much easier. Note: Steps taken here are basically the exact same I took for my real arm so it won't be that descriptive. Like the arm before, I took the same steps to make this arm. The first one being the base.

The Base

Even though it wasn't necessary to have a stable base (since the arm didn't have to support itself) but having a stable base would only produce benefits. To make this base I used the same method as before. Since the base I had on the real arm was the second one I made (the first one was for a different motor that didn't work) I tried to savage my base to see if it would fit my new feedback motors, they did. Since this base didn't have to support as much weight as the other base did I only used three marble rollers. Three of these were enough to stabilize the base. The First Joint Like the other arm, to make the first joint glued a block of wood to the base. On the block of wood I placed my servo and secured them with my bolts and back bracket. Counterweights weren't necessary because the torque wasn't going to be a problem. After mounting the servo I attached my extension without counterweights and finished the first part of the arm.

Step 13: Dummy Arm: The Rest

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

The Second Joint

The second joint was no different from the first join. In this joint I used the same mounting as the first arm. Since this arm was going to be the controller and the real arm would mimic this arm, I had to make them as similar as possible so electronics were easy. The way I made my second joint was no different from the first one. Just the same drilling four holes into the plywood and just mounting the servo back onto it.

The Attachment

This was the only part of the dummy arm that was going to be different. On the real arm this part is an electo magnet and a micro servo. I also have the micro servo mounted but because I don't need to mount a dummy electromagnet but instead a switch to control the on and off of the magnet. I decided to just place the switch elsewhere on the controller and just mount the servo to the extension with two screws.

The Switch Box

This is where I put all my switches for the controller. I had 2 different power source switches and a switch for my electo magnet mounted here. I made sure that my electo magnet switch wasn't near the other two switches to avoid the accident of turning off the power source switches. That basically concludes the mechanic build of the dummy arm.

Step 14: Wiring: The Arm

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

This is the part where I will go over the ways I connect everything together. As you already know I have split the wiring into three Arduinos. In the chassis step I already went through the wiring for that. But because of the length of steps I decided to split the build of the arms and their wiring. I will go over them starting from the arm then the dummy arm. Sorry no schematics.

The Arm

To wire the arm I used two shields, the protoshield and the 16 PWM servo shield. As stated before, the Adafruit shields are all kits so I had to solder the PWM shield. Once I finished that, I just plugged in my servos in each of the spaces made especially for servos. Some of the servos would have been far away so using a extension of the wire could help add the length needed to reach the Arduino. Once my servos were wired all I had left was the hard part. Bluetooth and the electromagnet controller. Bluetooth wiring was done on the protoshield, I used this shield to make life easier for myself and not having to make my own pin to component wiring I would have to do on a blank pcb. The Bluetooth module I used was the HC-05. This module was a really flexible breakout and let me do everything I needed. I didn't use another Bluefruit shield because they didn't have master capabilities. Master and slave is basically who is hosting the connection. The Bluefruit shield could only connect to a master. With the HC-05 I could easily make a breakout master and the other slave. No matter which one was slave I still had to wire the breakout. The breakout came with 6 pins, the Key, 5v, Ground, TXD, RXD, and Sate. The Key pin is used to change the settings like role, frequency etc. The 5v pin was used to power on the board and reset the board. The TXD and RXD pins are used to send and receive data from the connected device. The final Sate pin is to check the state of the the Bluetooth breakout. I didn't use the Sate pin in this project. To wire the breakout I decided to solder a row of 6 headers (the Sate pin didn't get connected, but I still plugged it into the headers) I assigned the Key pin to be wired to pin 9, the 5v to pin 8, the Ground pin to the ground on the Arduino, TXD pin to pin 10, and the RXD pin to pin 11. These pins will later be assigned a role in the program and coding.

For the electro magnet, I wanted to be able to control it through the Arduino but because it used 12v I knew it would easily burn it to crisps. The solution I used was the Darlignton Transistor. This transistor is basically an advance switch, I made it so that if the base received a voltage from the Arduino the electricity that powered the magnet was allowed to pass. Essentially it was an electronic switch. This way my switch could be controlled with the Bluetooth. and the Arduino.

Step 15: Wiring: The Dummy Arm

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

The Dummy Arm

The dummy arm only had one shield and that was the protoshield. The servos I used for this were the feedback servos. Feedback servos didn't have to be able to move but had to send data back to the Arduino stating its angle, I had to connect all the feedback wires to the analog pins so they could decipher the angles, the voltage and ground pins on the servos also had to be connected to power the servos to determine the angle. The Bluetooth breakout was again connected to the Arduino using the same wiring as the other one. Finally I made a physical switch connection to the Arduino. I wanted to have a physical flip switch that would then be sent to the Arduino if it turned off or on.

Step 16: Final Thoughts/Tips and Downloads

Robo-Mobile - Ein selbstgebauter Bluetooth-Roboter

I really thought that my robot was pretty awesome once finished. It had everything I wanted and I learned a lot throughout the process. I think my Arduino skills have risen up a level but I'm no where near to uncovering all the secrets stored inside. Hopefully I will start my next project soon. (With an extra 3d printer or Laser cutter under my belt... :-)) Please Vote for my project if you liked it and leave comments. Hier sind ein paar Tipps:

  • Use electrical tape on all exposed wire, even on the back of the Arduinos if you don't have 3 cases.
  • Messen Sie zweimal, einmal schneiden. Just like all projects check what you do before you do it.
  • Explore! You don't have to go on the path I went on. You could even take my build and improve on it to make it your own.
  • I might not have included everything and I know I didn't explain the coding, but the Instructable was about the awesome mechanical and physical item. The code and other links will be included below! (Yes the robot works!)
Related Reading