Inhaltsverzeichnis:
- Schritt 1: Überblick über das gesamte Projekt
- Schritt 2: Video
- Schritt 3: Erstellen des 3D-Modells
- Schritt 4: Teile und Werkzeuge
- Schritt 5: Schaltung
- Schritt 6: Sonarsensorhalterung
- Schritt 7: Herstellung der X-Achsen-Schiene
- Schritt 8: X-Achsen-Plattform
- Schritt 9: Verschieben der X-Achsen-Plattform
- Schritt 10: Code
- Schritt 11: Malen
- Schritt 12: Platzieren und Organisieren der Elektronik
- Schritt 13: Fazit: Vielen Dank für das Lesen der Instructables
Video: Prima - ein Roboter, der Klavier spielt - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Die Idee eines Roboters, der ein Instrument spielt, hat mich schon immer fasziniert, und ich wollte schon immer selbst einen bauen. Ich hatte jedoch nie viel Wissen über Musik und Musikinstrumente, konnte also nie herausfinden, wie ich damit eigentlich anfangen würde. Bis vor kurzem interessierte ich mich für das Musikmachen, fing an, Musikproduktionszeug zu lernen, und nachdem ich mir ein MIDI-Keyboard besorgt hatte, wurde mir klar, dass dies kein schwer zu spielendes Instrument ist und ich tatsächlich einen Roboter bauen kann, der es spielen kann. So begann also das Making of von Prima.
Ich war mir über den Erfolg dieses Projekts nicht sicher, also machte ich mir nicht die Mühe, es zu dokumentieren. Aber da sich herausstellte, dass es großartig funktionierte, habe ich beschlossen, die Details mit der Instructables-Community zu teilen. Dies ist kein Schritt-für-Schritt-Build-Log, sondern eher eine Richtlinie für den Einstieg. Ich werde erklären, wie jeder Teil dieses Roboters funktioniert, die Bilder von ihnen und den Code für den Arduino teilen. Ich hoffe, das reicht aus, wenn Sie dieses Projekt replizieren möchten.
Und das Design wurde von diesem instructables inspiriert, rufen Sie JimRD an!
Also lasst uns anfangen
Schritt 1: Überblick über das gesamte Projekt
Prima ist ein Roboter, der Keyboard/Klavier oder ein ähnliches tastenbasiertes Instrument spielen kann. Es hat ein Arduino Uno als Gehirn, einen LCD-Bildschirm für die visuelle Ausgabe und einen Ultraschallsensor für berührungsloses Starten. Jedes Netzteil, das 5 Volt 2 Ampere liefert, sollte es mit Strom versorgen können.
Es hat die folgenden Funktionen -
- Programmierbar - Kann so programmiert werden, dass jede Komposition gespielt wird, die auf eine Oktave begrenzt ist.
- Einstellbares Tempo - Das Tempo, dem es beim Spielen des Instruments folgt, kann im Code eingestellt werden.
- Berührungsloses Starten - Der Benutzer kann das Spielen auslösen, indem er einfach mit der Hand über den Sensor streicht, was sehr hilfreich ist, wenn der Benutzer beschäftigt ist mit einem anderen Instrument und möchte, dass Prima nach einer bestimmten Zeit mitspielt. Ein menschlicher Spieler, der mit einem Roboterspieler jammt - auch dies kann mit Hilfe dieser Funktion erreicht werden.
Schritt 2: Video
Sie können es sich im Video auf einer Tastatur ansehen.
Schritt 3: Erstellen des 3D-Modells
Nachdem ich abgeschlossen hatte, was es tun sollte, entwarf ich den Körper in TinkerCAD, damit ich mit dem Bau beginnen konnte, indem ich eine klare Vorstellung davon hatte, was ich tat.
Dieser Ansatz hat mir sehr geholfen, einen gut aussehenden Roboter zu erhalten, der genau so funktioniert, wie er entwickelt wurde. Obwohl ich das ursprüngliche Design beim Bau ein wenig modifizieren musste, hat mir das 3D-Modell trotzdem viel Zeit und Mühe erspart. Sie können das 3D-Modell hier genauer sehen.
Schritt 4: Teile und Werkzeuge
Für den elektronischen Teil benötigen Sie -
- Arduino Uno (Anzahl - 1)
- 16x2 LCD-Bildschirm (Anzahl - 1)
- I2C-Adapter für den LCD-Bildschirm (Anzahl - 1)
- TowerPro SG90 Micro Servo (Anzahl - 2)
- HC-SR04 Ultraschallsensor (Anzahl - 1)
- Kippschalter (Anzahl - 1)
- Summer (Anzahl - 1)
- Vero-Board/Dot-Board/Perf-Board
- Stecker-zu-Stecker- und Stecker-zu-Buchse-Überbrückungsdrähte
Um den Körper zu machen -
- 5 mm PVC-Folie
- Fahrradspeiche (Anzahl - 2)
- Schrauben
- Stift Nachfüllhalter Tube
- Sprühfarbe (Wenn Sie es malen möchten)
Die Werkzeuge, die Sie brauchen -
- Sekundenkleber
- Heißklebepistole
- Lötkolben
- Anti-Cutter (A. K. A. Papierschneider)
Schritt 5: Schaltung
Der Schaltungsteil war recht einfach. Ich erkläre, wie ich jedes Segment davon gemacht habe -
LCD-Segment - Ich habe einen I2C-Adapter für das LCD verwendet, damit das Arduino über I2C mit ihm kommunizieren konnte, was nicht notwendig war, aber die Schaltung vereinfachte und die Anzahl der Drähte verringerte. Sie können ein Standard-LCD verwenden, indem Sie den Code ein wenig ändern.
Leistungssegment - Ich habe auf dem Veroboard eine einfache Schaltung erstellt, die aus einem Kippschalter, einem Summer, einer LED (die ich später nicht mehr verwenden wollte) und einem gemeinsamen 5-V-Strombus besteht. Strombus wie in, die 5V- und Massepins der Servos, des Sonarsensors, des LCD und des Arduino sind jeweils miteinander verbunden. Ein Pin des Druckschalters ist mit der 5V+-Leitung verbunden und der andere Pin ist mit dem VCC-Pin des Netzteils verbunden. Die Masseleitung wird direkt mit dem Massepin des Netzteils verbunden. Prima kann also mit dem Schalter ein- und ausgeschaltet werden. Der Summer und die LED sind parallel geschaltet und der VCC-Pin von ihnen geht an Pin 13 des Arduino. Ihre Masse ist mit der Masse des gemeinsamen Energiebusses verbunden.
Modifikation des Servosteckers - Da die Jumperkabel oft dazu neigen, sich vom Servostecker zu lösen, habe ich das VCC und das Massekabel von beiden Servos abgeschnitten und direkt an den Strombus gelötet. Für die Signalstifte habe ich jedoch Überbrückungsdrähte verwendet, um sie mit Arduino zu verbinden.
Sonarsensor - Zwei Drähte an den VCC- und Massestift des Sonarsensors gelötet, die zum gemeinsamen Strombus gehen, und Überbrückungsdrähte zum Verbinden des Trigger- und Echopins mit dem Arduino verwendet.
Arduino - Stromversorgung über den Barrel-Klinkenstecker.
Was geht zu wem -
Trigger-Pin des Sonar-Sensors -> Arduinos A2-Pin
Echopin des Sonarsensors -> Arduinos A3-Pin
SDA-Pin des I2C-Adapters -> A4-Pin von Arduino
SCL-Pin des I2C-Adapters -> A5-Pin von Arduino
Summers VCC -> Arduinos D13-Pin
Taste drückt den Signalstift des Servos -> Arduinos D9-Pin
Signalpin des X-Achsen-Servos -> Arduinos D8-Pin
Alle VCC- und Masse-Pins sind mit dem gemeinsamen Strombus verbunden.
Schritt 6: Sonarsensorhalterung
Das Bild ist selbsterklärend, einfach ein L-förmiges Regal an die "Wand" geklebt und den Sonarsensor auf das Regal heißgeklebt.
Schritt 7: Herstellung der X-Achsen-Schiene
Das Konzept der X-Achsen-Schiene habe ich von CNC-Maschinen übernommen. Es sind nur zwei Fahrradspeichen, die parallel zueinander angeordnet sind, und die "Wände" haben Löcher, durch die die Fahrradspeichen gehen. An den anderen Enden der Wände sind die Fahrradspeichen heißgeklebt, damit sie sich nicht bewegen. Die Fahrradspeichen sind stark genug, um die X-Achsen-Plattform zu tragen.
Schritt 8: X-Achsen-Plattform
Es ist der Teil, der seitlich geht, um bestimmte Tasten zu erreichen, und hat ein Servo, an dem ein Arm befestigt ist, der die Taste drückt.
Auf der Unterseite sind zwei Stift-Minenhalterrohre heißgeklebt, durch die die Fahrradspeichen gehen, damit sie darauf gleiten können. Ich habe diese Tube aus einem Stift, Sie können alles verwenden, was zu den Speichen passt, wie z. B. Trinkhalm.
Dann steht in der Mitte der unteren PVC-Platte eine weitere PVC-Platte gerade. Es hat im unteren Teil ein Loch, das in den Servokörper passt, und das Servo wird hindurchgesteckt. Das Servo wurde mit Heißkleber befestigt.
Mit dem Servo ist ein Arm verbunden. Wenn der Roboter eine Taste drücken muss, dreht das Servo den Arm nach unten, was zu einem Tastendruck führt und dreht ihn anschließend in seine vorherige Position.
Schritt 9: Verschieben der X-Achsen-Plattform
Das Servo "X-Achsen-Mover" ist an einer erhöhten Plattform befestigt, die sich auf der linken Seite des Roboters befindet. Die X-Achsen-Plattform hat oben eine Ablage, an der ein Arm mit einer Schraube verbunden ist. Am anderen Ende des Arms wird ein weiterer Arm mit einer Schraube verbunden und dieser wird mit dem Servohorn verbunden. Alle Gelenke sind beweglich und das Servo kann die X-Achsen-Plattform auf den X-Achsen-Schienen durch Drehen des Horns nach links / rechts antreiben, wodurch die Arme die Plattform auf den Schienen drücken / ziehen.
Die Verbindungen werden mit Schrauben hergestellt.
Schritt 10: Code
Nachdem Sie den Körper und die Schaltung fertig gebaut haben, laden Sie den Code auf Arduino hoch. Stellen Sie den Roboter parallel zum Keyboard/Klavier. Die x-Achsen-Plattform beginnt sich zuerst nach links zu bewegen und stoppt an einem bestimmten Punkt. Bewegen Sie den Roboter, bis die C-Taste des Klaviers diesen Punkt trifft. Dies ist ein entscheidender Schritt, denn ohne diese Positionierung des Roboters spielt er die Melodie nicht richtig. Schalten Sie dann den Roboter ein, er sollte innerhalb weniger Sekunden eine Melodie abspielen.
Der Code ist ziemlich einfach und bietet Raum für Verbesserungen. Wenn Sie möchten, dass der Roboter Ihre eigene Melodie spielt, müssen Sie sie nur in den Code einfügen, was ziemlich einfach ist.
Schritt 11: Malen
Wenn Sie es wie meines bemalen möchten (ich würde es sehr empfehlen, es sieht viel besser lackiert aus), stellen Sie zuerst alle Karosserieteile her und stellen Sie sicher, dass sie richtig geschnitten sind. Waschen Sie sie dann mit Seife, damit sie frei von Öl und Schmutz sind. Normalerweise schleifen die Leute die Oberfläche, bevor sie sie streichen, aber hier müssen Sie nicht. Sprühen Sie zuerst eine Schicht darauf, lassen Sie es genügend Zeit zum Trocknen (ein paar Stunden) und malen Sie dann eine weitere Schicht. Sie können mit dem Zusammenbauen der Teile und dem Zusammenkleben beginnen, nachdem die Farbe getrocknet ist.
Ich habe Sprühfarbe verwendet, um meine zu bemalen
Schritt 12: Platzieren und Organisieren der Elektronik
Ich schraubte das Arduino an die Basis-PVC-Folie und verklebte sowohl den Stromkreis als auch das LCD auf der Basisplatine. Organisierte die Drähte mit Heißkleber.
Schritt 13: Fazit: Vielen Dank für das Lesen der Instructables
So habe ich Prima gebaut. Ich hoffe, das Build-Log war klar und leicht verständlich. Wenn Sie Fragen haben, können Sie diese gerne im Kommentarbereich hinterlassen, ich werde versuchen, so früh wie möglich zu antworten.
Zukunftspläne mit diesem Projekt -
- Machen Sie eine Software zum Programmieren von Prima einfacher.
- Hinzufügen einer Tempo-Tapping-Funktion, sodass Sie einfach auf eine Schaltfläche tippen können, um das Tempo anzupassen.
- Tausch der Servos gegen leisere und schnellere
Wenn Sie dies bauen, lassen Sie Bilder in den Kommentaren fallen, ich würde gerne Ihre sehen!:)
Empfohlen:
Einen Roboter zur Hindernisvermeidung bauen – wikiHow
Wie man einen Hindernisvermeidungsroboter macht: Der Hindernisvermeidungsroboter ist ein einfacher Roboter, der von einem Arduino betrieben wird und was er tut, ist, dass er nur herumstreift und Hindernissen ausweicht. Er erkennt die Hindernisse mit einem HC-SR04 Ultraschallsensor, d. h. wenn der Roboter ein Objekt in der Nähe von
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir
Einen intelligenten Roboter mit Arduino bauen – wikiHow
Wie man einen intelligenten Roboter mit Arduino macht: Hallo, ich bin Arduino-Hersteller und in diesem Tutorial werde ich Ihnen zeigen, wie man einen intelligenten Roboter mit Arduino macht, wenn Ihnen mein Tutorial gefallen hat, dann überlegen Sie, meinen Youtube-Kanal namens Arduino-Hersteller zu unterstützen
Einen humanoiden Roboter bauen – wikiHow
Wie man einen humanoiden Roboter baut: Hey Leute! Ich hoffe, Sie haben bereits meine vorherige anweisbare "Online-Wetterstation (NodeMCU)" und Sie sind bereit für einen neuen. Nach dem SMARS-Modellroboter, den wir beim letzten Mal zusammengebaut haben, geht es beim heutigen Projekt auch um das Lernen von Robotern und w
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter - Daumen Roboter - Servomotor - Quellcode: 26 Schritte (mit Bildern)
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter | Daumen Roboter | Servomotor | Quellcode: Thumbs Robot. Verwendet ein Potentiometer des Servomotors MG90S. Es macht sehr viel Spaß und ist einfach! Der Code ist sehr einfach. Es sind nur etwa 30 Zeilen. Es sieht aus wie ein Motion-Capture.Bitte hinterlassen Sie Fragen oder Feedback![Anleitung] Quellcode https://github.c