Obstklavier

Dieses Projekt ist ein einfaches Obstklavier, das Eingaben von einem MPR121-Touchsensor liest und Musik über einen DAC abspielt. Mit anderen Worten, wir haben Früchte in eine Tastatur verwandelt, die es Ihnen ermöglicht, Musik zu spielen, indem Sie sie einfach berühren.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Elite Explorer Kit

300+

Elite Explorer Kit

Sie können sie auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

Arduino Uno R4 WiFi

-

Steckbrett

BUY

Jumperkabel

BUY

Widerstand

BUY

MPR121

-

Audio-Modul und Lautsprecher

-

Verdrahtung

../_images/02_fruit_piano_bb.png

Schaltplan

../_images/02_fruit_piano_schematic.png

Code

Bemerkung

  • Sie können die Datei 02_fruit_piano.ino direkt unter dem Pfad elite-explorer-kit-main\fun_project\02_fruit_piano öffnen.

  • Oder kopieren Sie diesen Code in die Arduino IDE.

Bemerkung

Um die Bibliothek zu installieren, verwenden Sie den Arduino-Bibliotheksmanager und suchen Sie nach „Adafruit MPR121“ und installieren Sie diese.

Wie funktioniert das?

Hier ist eine schrittweise Erklärung des Codes:

  1. Bibliotheks- und Objektinitialisierung:

    Importieren Sie die notwendigen Bibliotheken: Wire-Bibliothek (für I2C-Kommunikation), Adafruit_MPR121-Bibliothek (zur Steuerung des MPR121), analogWave-Bibliothek (zur Erzeugung analoger Wellenformen) und pitches.h (definiert die Frequenzen der Noten). Erstellen Sie Instanzen der Objekte Adafruit_MPR121 und analogWave. Definieren Sie ein Noten-Array, um die Note zu speichern, die jedem Berührungskanal entspricht.

  2. setup():

    Initialisieren Sie die serielle Kommunikation und warten Sie, bis sie startet. Überprüfen und initialisieren Sie den MPR121; falls nicht gefunden, geben Sie eine Fehlermeldung auf dem seriellen Monitor aus und stoppen Sie die Ausführung. Initialisieren Sie das analogWave-Objekt und setzen Sie die anfängliche Sinuswellenfrequenz auf 10 Hz.

  3. loop():

    Lesen Sie die aktuell berührten Kanäle des MPR121. Durchlaufen Sie alle Kanäle, überprüfen Sie, welcher berührt wird, und spielen Sie die entsprechende Note. Fügen Sie eine kleine Verzögerung zwischen jeder Iteration hinzu.

  4. Note abspielen playNote():

    Die Funktion playNote nimmt einen note-Parameter entgegen und setzt die DAC-Frequenz, um die entsprechende Note zu spielen. Verzögern Sie für einen Zeitraum, um die Note zu spielen. Stoppen Sie das Abspielen der Note.