Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Eigenes elektronisches Klavier mit vorinstallierten Songs bauen

Komponenten und Zubehör

Komponente Menge
Arduino UNO 1
Adafruit Standard LCD – 16×2 Weiß auf Blau 1
SparkFun Taster 12 mm 8
Widerstand 220 Ω 4
Widerstand 560 Ω 1
Widerstand 1 kΩ 1
Widerstand 4,7 kΩ 1
Widerstand 10 kΩ 3
Widerstand 1 MΩ 1
Summer (Buzzer) 1
LED (generisch) 1
Einstellbarer Potentiometer – 10 kΩ 1
Jumper-Kabel (generisch) 1
Steckbrett (Breadboard, generisch) 1

Über das Projekt

Einführung

Vorab: Ich bin völliger Neuling in der Elektronik. Ich habe zwar eine solide Programmiererfahrung, was hilft, aber ich bin immer offen für neue Ideen und Vorschläge zu meinen Projekten.

Kürzlich habe ich mich intensiver mit dem Piezo-Summer und der dazugehörigen Programmierung beschäftigt – dieses Projekt ist das Ergebnis meines bisherigen Lernfortschritts. Es gibt viel Potenzial für Erweiterungen mit neuen Features oder Schaltern, die ich später umsetzen möchte. Doch jetzt geht es an die nächste Herausforderung!

Unten sehen Sie ein Video der Funktionsweise, inklusive des Menüs für vorinstallierte Songs. Ich gebe zu: Technisch sind Song 4 und 5 identisch, aber ich wollte lieber größere und bessere Dinge schaffen, statt weitere Musik-Codes zu schreiben! Die grundlegende Programmierung sowohl für die Hauptschleifen als auch für die einzelnen Song-Schleifen lässt sich leicht an eigene Ideen anpassen – fühlen Sie sich frei, alles nach Belieben zu ändern.

Hardware-Aufbau

Die Klaviertasten …

Die Klaviertasten-Schalter wurden über eine Widerstandsleiter (Resistor Ladder) verbunden. Die Widerstände sind in aufsteigender Reihenfolge angeordnet und verbinden jeden Schalter mit der Stromversorgung. Für mein Projekt habe ich folgende Werte gewählt (in Ohm): 1 M, 10 k, 4,7 k, 1 k, 560 und 220.

Der erste Klavierschalter (links) ist mit der Stromversorgung verbunden und auch mit dem nächsten Schalter in der Schaltung. Der zweite Schalter wird mit dem kleinsten Widerstand verbunden, und jeder weitere Schalter mit dem nächstgrößeren Widerstand in der Reihe. Der letzte Schalter erdet die Verbindung über einen 10 kΩ Widerstand und verbindet alle 7 Schalter mit dem Analogeingang A0 am Arduino.

Der Hauptsketch definiert, welche Musiknoten-Frequenzen jedem Klavierschalter zugeordnet sind. Für dieses Projekt habe ich C4, D4, E4, F4, G4, A4 & B4 verwendet, wobei C4 der linkste Schalter ist. Ändern Sie die Frequenzwerte oder fügen Sie weitere Schalter hinzu, um Ihr Projekt vollständig anzupassen!

Der LCD-Bildschirm …

Verbinden Sie die LCD-Pins gemäß dem Schaltplan unten. Verbinden Sie LCD-Pin 3 mit dem Potentiometer zur Kontrasteinstellung des Bildschirms. Die äußeren Pins des Potentiometers werden mit Stromversorgung und Masse verbunden, um diesen Kreis zu schließen. LCD-Pin 15 wird über einen 220 Ω Widerstand mit der Stromversorgung verbunden. Falls sich diese Pins in Ihrem Projekt ändern, aktualisieren Sie den Code entsprechend.

Der Menüschalter …

Verbinden Sie den Menüschalter mit der Stromversorgung und erden Sie ihn über einen 10 kΩ Widerstand. Dieser Schalter sollte auch mit Pin 7 am Arduino verbunden sein, damit er per Code gesteuert werden kann.

Die LED …

Die LED signalisiert den „Menümodus“, in dem die Klaviertasten deaktiviert sind. Die LED leuchtet, sobald der Menüschalter gedrückt wird. Verbinden Sie die Anode (Plus) der LED mit Pin 6 des Arduino und erden Sie die LED über einen 220 Ω Widerstand.

Der Piezo-Summer …

Um den Piezo-Summer zu integrieren, verbinden Sie einfach ein Ende mit Arduino Pin 8 und die andere Seite über einen 220 Ω Widerstand mit Masse. Die tone()-Funktion im Code sucht nach diesem Pin, um die aufgerufene Note abzuspielen.

Eigenes elektronisches Klavier mit vorinstallierten Songs bauen

Wie der Code funktioniert

Das Setup …

Die Hauptschleife …

Menü-Zugriff …

Code

Electronic Keyboard Arduino

Der Hauptcode – zu lang für die vollständige Anzeige hier. Die vollständige Datei finden Sie im Repository.

Wichtige Hinweise:

Song1 Arduino

Code für den 1. Song – Super Mario Bros Theme Song.

// Vollständiger Code im Repository
// Tutorial: https://www.linuxcircle.com/2013/03/31/playing-mario-bros-tune-with-arduino-and-piezo-buzzer/
Song2 Arduino

Code für den 2. Song – Super Mario Bros Underworld Song.

Song3 Arduino

Code für den 3. Song – Jeopardy Theme Song.

Song4 Arduino

Code für den 4. Song – Kurze, generische Melodie (Platzhalter).

Song5 Arduino

Code für den 5. Song – Kurze, generische Melodie (Platzhalter, identisch mit Song4).

pitches.h Arduino

Bibliothek mit Musiknoten-Definitionen (NOTE_C4 = 262 Hz, usw.). Speichern Sie diese Datei im selben Ordner wie Ihre anderen Keyboard/Song-Sketches.

#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
// ... weitere Noten bis NOTE_DS8 4978

Schaltpläne

Siehe Bilder im Hardware-Aufbau-Abschnitt.

Herstellungsprozess

  1. TJBot starten: Bauen, konfigurieren und per Sprache steuern
  2. Smart Thirst Alert: DIY Pflanzen-Alarm für optimale Bewässerung
  3. Italienische Word Clock mit Arduino Nano, NeoPixel, LCD & RTC
  4. MIDI-Keyboard zum smarten Klavierlehrer umbauen – Arduino, LEDs & MuseScore
  5. Einfachen Hindernissensor mit Arduino bauen – IR-LED & Photodiode Tutorial
  6. Zuverlässiger Sigfox-kWh-Zähler mit Arduino MKR Fox 1200
  7. Bluetooth-Temperaturmonitor mit Arduino Nano
  8. Kompaktes RDA5807 Mini-Stereo-Radio – Arduino Nano Projekt
  9. Berührungsloses Gesten-Schloss: Sicherer Zugang mit APDS-9960 & Arduino
  10. Präziser Reaktionszeit-Test mit Arduino UNO