Inhaltsverzeichnis:

ARCA (Adorable Remote Controlled Android) - Gunook
ARCA (Adorable Remote Controlled Android) - Gunook

Video: ARCA (Adorable Remote Controlled Android) - Gunook

Video: ARCA (Adorable Remote Controlled Android) - Gunook
Video: 8 SMART TOYS GADGETS INVENTION ▶ Starts From Rs.99 to 500 & 10k Rupees You Must Have 2024, Juli
Anonim
ARCA (bezauberndes ferngesteuertes Android)
ARCA (bezauberndes ferngesteuertes Android)
ARCA (bezauberndes ferngesteuertes Android)
ARCA (bezauberndes ferngesteuertes Android)
ARCA (bezauberndes ferngesteuertes Android)
ARCA (bezauberndes ferngesteuertes Android)

Dieses instructable wurde in Erfüllung der Projektanforderung des Makecourse an der University of South Florida (www.makecourse.com) erstellt.

ARCA ist ein entzückendes ferngesteuertes Android, das unglaublich viel Spaß beim Bauen und Spielen macht. Das Ziel dieses Projekts war es, etwas zu schaffen, das jeder verstehen und mit dem sich jeder identifizieren kann, indem ein Roboter geschaffen wird, der sowohl bezaubernd als auch funktional ist.

Der Roboter funktioniert, indem er verschiedene Emotionen auf einer 8 x 8 LED-Matrix anzeigt. Zu diesen Emotionen gehören Freude, Schlafen, Liebe, Wut, Dummheit und das Aufschauen nach links und rechts. Der Roboter funktioniert auch wie ein RC-Auto und kann vorwärts fahren und nach links oder rechts abbiegen. Der Roboter fährt vorwärts, indem er beide Radmotoren aktiviert, dreht sich nach links, indem er den rechten Motor einschaltet, und dreht sich nach rechts, indem er den linken Motor einschaltet. Das Design ist sehr einfach, aber es funktioniert einfach, und ich wollte mich stark auf die Programmierung des Arduino konzentrieren, da ich im Herzen Programmierer bin.

Die neuesten Versionen aller in diesem Tutorial verwendeten Dateien finden Sie in meinem Github ARCA Repository.

Schritt 1: Teileliste und 3D-Druck

Teileliste und 3D-Druck
Teileliste und 3D-Druck
Teileliste und 3D-Druck
Teileliste und 3D-Druck

Teile für dieses Projekt können entweder 3D-gedruckt oder online gekauft werden. Wenn ich an die Montage dachte, wollte ich die Effizienz zum Schlüssel machen und auch versuchen, das Rad nicht (im wahrsten Sinne des Wortes) neu zu erfinden. Der für dieses Projekt verwendete 3D-Drucker war ein Makerbot Replicator. Wenn Sie sicherstellen möchten, dass Ihre 3D-Drucke mit meinen übereinstimmen, verwenden Sie diesen Drucker.

Strukurelle Komponenten

  • Box mit Löchern in den Seiten für die Räder und Arme
  • Kastendeckel mit Löchern für Hinterräder und einem Loch für den IR-Sensor
  • Linker Arm
  • Rechter Arm
  • Achse für die beiden Hinterräder
  • zwei Achsverbinder zum Verbinden des Deckels mit der Achse
  • 4 Räder (Motoren auch in diesem Link enthalten)
  • Kleine Schrauben (passen in die Motoren)

Elektrische Bauteile

  • Arduino Uno
  • Kleines Steckbrett (ich habe das Arduino-Kit gekauft und es kam mit)
  • Zwei MAX7219 Red Dot-Matrizen mit MCU-Steuerung
  • Infrarotempfänger und Fernbedienung
  • Zwei TIP 120-Transistoren
  • Anschließen von Drähten (ich habe viele männliche zu weibliche Drähte sowie männliche zu männlichen Drähten verwendet und empfehle, lange Drähte im Gegensatz zu kurzen Drähten zu verwenden)
  • ein 220 Ohm Widerstand
  • Zwei Getriebemotoren
  • USB-anschließbare Netzteile (die tragbaren für Mobiltelefone)

Schritt 2: Montage

Montage
Montage
Montage
Montage
Montage
Montage

Strukturelle Montage

Die 3D-gedruckten Teile müssen wahrscheinlich etwas gereinigt werden, und ich empfehle, sie mit einer feinen Körnung zu schleifen und Aceton (Nagellackentferner) zu verwenden, um alle Kleberreste zu entfernen, die im 3D-Druckprozess verwendet werden. Einige der Teile passen möglicherweise nicht perfekt, und es war für mich notwendig, die Achse perfekt rund zu schleifen und richtig durch die Löcher zu passen.

Die Räder müssen etwas angepasst werden, sie mussten mehr gebohrt werden, um den Abmessungen der Achse hinten und den Schrauben vorne zu entsprechen. Verwenden Sie einen 6-mm-Bohrer, um durch die Löcher in den Rädern zu bohren, um größere Löcher in den Rädern zu bohren.

Für diese Montage habe ich verschiedene Kleber verwendet, aber ich fand, dass flüssiger Beton (Modellierkleber) trotz einer langen Trocknungszeit am besten für den Halt war, aber Epoxidharz war am besten für Dinge geeignet, die schnell trocknen und gut halten müssen, obwohl sie unordentlich sind.

Der Rest der Montage ist ziemlich einfach:

  1. Bringen Sie die Achshalter an der Rückseite des Kastendeckels an und verwenden Sie Epoxid zum Abdichten
  2. Führen Sie die Achse durch die Achshalter
  3. Kleben Sie die Räder mit Flüssigbeton auf die Achse
  4. Stecken Sie die Arme durch die oberen Löcher und kleben Sie sie mit Epoxid auf den Armhalter
  5. Schrauben Sie den Deckel der Box in die Box
  6. Verwenden Sie Isolierband auf der Unterseite der Box, wo die Räder sind

Elektrische Montage

Die Vorderräder sind direkt an den Motoren befestigt, und Sie müssen eine kleine Schraube im Motor verwenden, damit er lang genug ist, um durch das Loch im Roboter auf jeder Seite zu passen. Im Drehzapfen des Motors sollte sich ein kleines Loch befinden und Sie können die Schraube dort eindrehen und den Kopf der Schraube in das Rad kleben, nachdem Sie die Schraube durch das Loch in der Box geschoben haben.

Die Rückseite meines Steckbretts hatte eine klebrige Rückseite, aber Sie können es mit Isolierband ankleben, wenn Ihre dies nicht tut. Aus Sicherheitsgründen wurde auch Isolierband verwendet, um die elektrischen Komponenten nicht in der Platine zu befestigen. Die MCUs mit den LED-Anzeigen wurden mit Isolierband an der Rückseite der Augenhöhlen befestigt und die Motoren wurden auch mit Isolierband an den Seiten der Box in der Nähe der Löcher befestigt. Ich habe rotes Isolierband verwendet, um es für alle Fälle unsichtbarer zu machen, und ich empfehle, ein Isolierband mit einer ähnlichen Farbe wie Ihre Version von ARCA zu verwenden.

Das Steckbrett und die Pins sind wie in diesem Fritzing-Bild eingerichtet. Wenn Sie diesem Diagramm mehr hinzufügen möchten, um ARCA anzupassen, können Sie die Fritzing-Datei in meinem Github-Repository herunterladen und nach Herzenslust bearbeiten.

Ich befestigte die Drähte an den Schlaufen in den Getriebemotoren, indem ich die Drähte um die Schlaufen biege, um sie befestigt zu halten. Es wäre wahrscheinlich eine bessere Idee, diese Verbindungen zu löten, wenn Sie Zugang zu einem Lötkolben haben, aber dies ist eine einfache Lösung, wenn Sie keinen haben.

Das Netzteil wird an das gleiche Kabel angeschlossen, mit dem das Arduino an den Computer angeschlossen wird, um Ihr Programm herunterzuladen, und dieses ist nur lose im Roboter, sodass es leicht entfernt und aufgeladen werden kann.

Schritt 3: Programmierung

Programmierung
Programmierung

Hier ist der Code, den Sie auf Ihren ARCA hochladen können, damit er genau wie meiner funktioniert. Sie benötigen außerdem die folgenden beiden Bibliotheken, um den Code zu verwenden.

Aus Gründen der Übersichtlichkeit und Anpassung werde ich Sie jedoch durch meinen Code führen. Sie können diesen Schritt gerne überspringen, wenn Sie Ihren Roboter nicht anpassen oder nicht vorhaben, die Emotionen zu ändern.

Zuerst füge ich zwei Bibliotheken zur Verwendung in meinen Code ein, die es mir ermöglichen, die Funktionen und Objekte dieser Bibliotheken zu verwenden. Hier definiere ich auch meine Pins. Wenn Sie sich entschieden haben, Ihre Pins anders als im vorherigen Schritt eingerichtet zu machen, nehmen Sie die Änderungen an Ihrem Code hier mit den richtigen Pins vor.

Als nächstes habe ich die Emotionen definiert, die notwendigen Objekte für den IR-Sensor und die 8 x 8 LED-Anzeigen deklariert und einige globale Variablen definiert. Die Emotionen werden in einem Byte-Array deklariert, wobei jede der Hex-Zahlen im Array die Zeilen in der resultierenden 8-mal-8-Anzeige darstellt. Um Ihre benutzerdefinierten Emotionen zu erstellen, empfehle ich, die gewünschte Emotion in einem 8 x 8-Raster zu zeichnen und dann jede Zeile mit einer 8-Bit-Binärzahl zu schreiben, bei der das Licht aus eine 0 und das Licht aus eine 1 ist, und dann erstellen Sie eine hexadezimale Zahl daraus und füge sie in ein Array der Länge 8 ein. Ich habe auch einige globale Variablen definiert, die in der Schleife verwendet werden sollen; die Variablen für den Blinkmechanismus und die Zeiger, um die Emotionen zu speichern und sie auf neutral zu setzen.

Jetzt kommen wir zur Setup-Schleife, in der ich zum Testen die serielle Überwachung einschalte, und dies sollte hilfreich sein, um Ihren Code mit verschiedenen IR-Fernbedienungen zu testen. Dann habe ich die Objekte für das linke und rechte Auge mit Funktionen aus der LED-Steuerungsbibliothek initialisiert. Ich habe auch die Getriebemotorstifte auf Ausgang gesetzt und den IR-Empfänger gestartet.

In der Schleife wartet es im Wesentlichen darauf, dass das IR-Signal den Status Quo des Roboters ändert. Wenn also ein IR-Signal empfangen wird und es mit einem der Codes von einer bestimmten Taste übereinstimmt, wird diese if-Anweisung ausgelöst und setzt die Werte für das linke und das rechte Auge entsprechend für die Emotionen. Wenn eine Bewegungstaste gedrückt wird, z. B. nach links, rechts, vorwärts und OK, werden die Pins je nach gedrückter Taste digital auf ein- oder ausgeschaltet geschrieben. Nur eine Anmerkung zu den IR-Empfängercodes: Es gibt einen Beispielcode in der IR-Fernbedienungsbibliothek, der Ihnen die Hex-Codes für Ihre Fernbedienung anzeigt. Wenn beim Drücken der Tasten nichts passiert, öffnen Sie dieses Programm, um sicherzustellen, dass die Codes korrekt sind. Alles, was Sie tun müssen, ist die Hex-Zahl zu ändern, die zu jeder Taste gehört.

Schließlich haben Sie die Funktion, die die Emotionen auf die 8 x 8-Displays druckt. Dies verwendet die setRow-Funktionen aus der LED-Steuerungsbibliothek und geht einfach durch die von Ihnen erstellten Arrays und setzt die Zeilen entsprechend. Es nimmt zwei Parameter auf: das Array für das linke Auge und das Array für das rechte Auge. Dies kann entweder ein Byte-Zeiger oder ein Byte-Array selbst (d. h. der Name "neutral") sein, das wie ein Zeiger wirkt.

Schritt 4: Bonus-Tipps und -Tricks

Bonus-Tipps und -Tricks
Bonus-Tipps und -Tricks

Es gab sicherlich viel, was ich während dieses Projekts gelernt habe und ich wollte hier einige zusätzliche Tipps geben, die sowohl für dieses Projekt als auch für andere Projekte mit einem Arduino gelten.

  • Es gibt viele Online-Ressourcen für Arduino und die meiner Meinung nach hilfreichsten stammen aufgrund ihrer klaren und prägnanten Codebeispiele von der Arduino-Website.
  • Erfinden Sie das Rad nicht neu, es gibt viele Bausätze und vorgefertigte Teile, die Sie verwenden können, um Ihr Projekt zu vereinfachen. Ich bin Programmierer und kein Maschinenbauingenieur und es fiel mir schwer herauszufinden, wie ich diesen Roboter zum Laufen bringen sollte, aber es war einfach, etwas online zu kaufen und in mein Design zu implementieren, anstatt den Roboter buchstäblich neu zu erfinden Rad
  • Bibliotheken sind Ihr Freund in Arduino sowie in allen objektorientierten Sprachen und sie existieren aus einem bestimmten Grund. Kombinieren Sie dies mit Mikrocontrollern und die Programmierung einer 8 x 8 LED ist einfach. Ich habe einen davon schon einmal von Hand programmiert und nur einer verwendet ungefähr jeden Pin im Arduino und erfordert eine Menge Code. Sehr chaotisch und nicht sehr lustig.
  • 3D-Drucker sind cool, aber nicht perfekt und es ist in Ordnung, etwas abschleifen zu müssen. Aus diesem Grund sollten Sie beim 3D-Druck lieber größer werden, da Sie es in den meisten Fällen ein wenig abschleifen können, um die perfekte Passform zu erhalten.
  • Die Stromversorgung kann ein Problem sein, weil ich in letzter Minute an den Stromverbrauch dachte und dachte, dass eine 5-V-Batterie den Zweck erfüllen würde. Dann, scheinbar zufällig, funktionierte manchmal ein Motor oder eine LED-Anzeige nicht. Nachdem ich auf das Netzteil aufgerüstet hatte, gab es keine Probleme mehr, obwohl es im Roboter sperriger war.

Empfohlen: