Inhaltsverzeichnis:

Prima - ein Roboter, der Klavier spielt - Gunook
Prima - ein Roboter, der Klavier spielt - Gunook

Video: Prima - ein Roboter, der Klavier spielt - Gunook

Video: Prima - ein Roboter, der Klavier spielt - Gunook
Video: Vom-Blatt spielen oder Prima-Vista-Spiel; Technik-Serie von Torsten Eil 2024, Juli
Anonim
Prima - ein Roboter, der Klavier spielt
Prima - ein Roboter, der Klavier spielt

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

Image
Image

Sie können es sich im Video auf einer Tastatur ansehen.

Schritt 3: Erstellen des 3D-Modells

Erstellen des 3D-Modells
Erstellen des 3D-Modells
Erstellen des 3D-Modells
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

Teile und Werkzeuge
Teile und Werkzeuge
Teile und Werkzeuge
Teile und Werkzeuge
Teile und Werkzeuge
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

Schaltung
Schaltung
Schaltung
Schaltung
Schaltung
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

Sonarsensorhalterung
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

Herstellung der X-Achsen-Schiene
Herstellung der X-Achsen-Schiene
Herstellung der X-Achsen-Schiene
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

X-Achsen-Plattform
X-Achsen-Plattform
X-Achsen-Plattform
X-Achsen-Plattform
X-Achsen-Plattform
X-Achsen-Plattform
X-Achsen-Plattform
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

Verschieben der X-Achsen-Plattform
Verschieben der X-Achsen-Plattform
Verschieben der X-Achsen-Plattform
Verschieben der X-Achsen-Plattform
Verschieben der X-Achsen-Plattform
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

Platzieren und Organisieren der Elektronik
Platzieren und Organisieren der Elektronik
Platzieren und Organisieren der Elektronik
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: