Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Das Ultraschall-Theremin ist ein Arduino-Projekt, das ein billiges Theremin verwendet, um Schallwellen zu unterrichten. Indem ich den Abstand meiner Hand zum Gerät verändere, verändere ich die Frequenz der Schallwellen. Auch das Bewegen eines Potentiometers ändert die Amplitude der Welle. Dies kann als wissenschaftliche Lektion über Schallwellen verwendet werden.
Schritt 1: Werkzeuge und Zubehör
Lieferungen
- Arduino Uno mit USB-Kabel
- Ultraschallsensor zum Ändern der Frequenz (Tonhöhe)
- Piezo Summer zum Abspielen des Tons
- Potentiometer zum Ändern der Amplitude (Lautstärke)
- LED mit 220 Ohm Widerstand (visuell für die Frequenz)
- Schaumstoffplatte für den Koffer
- Überbrückungsdrähte
HINWEIS: Die meisten dieser Teile stammen aus einem Arduino-Kit.
Werkzeuge
- Computer mit installiertem Arduino
- Heißklebepistole
- Laserschneider für Gehäuse
- Power Bank, wenn Sie es tragbar machen möchten
Schritt 2: Montage
Die Elektronik
Die ersten beiden Bilder rechts zeigen die Elektronik beim Testen, aber im dritten habe ich die Komponenten herumbewegt, um das Gehäuse unterzubringen. Der LED- und der Ultraschallsensor verwenden 40-cm-Überbrückungsdrähte, die definitiv kleiner sein können, aber das hatte ich zur Hand. Ich habe nur den Überschuss um den Arduino gewickelt, bevor ich ihn ummantelte.
Der Fall
Das Gehäuse wurde von MakerCase mit etwas kleinen Abmessungen hergestellt, sodass mein Prototyp zusätzlichen Kleber benötigte, um ihn zusammenzusetzen. Nachdem Sie Ihre Teile auf Ihrem Arduino gemessen haben, fügen Sie Ihren Werten einige Millimeter hinzu und legen Sie sie in MakerCase für eine Datei ein, die dann auf dem Schaumstoffkern lasergeschnitten werden kann.
Schritt 3: Der Code
Der Code wird hauptsächlich durch eine Variable namens Pitch gesteuert. Die Tonhöhe verwendet Map, um die Werte vom Ultraschallsensor in etwas vom Piezo-Lautsprecher lesbares umzuwandeln und insbesondere auf Frequenzen zwischen A3 und C5. Die Einschränkung stellt sicher, dass die Karte keine hohe Frequenz vorhersagt, wenn sie eine große Entfernung sieht (sie waren nervig). Der Rest des Codes besteht darin, den Sensor zu lesen, eine LED hinzuzufügen und serielle Nachrichten hinzuzufügen.
Pitch = Constraint(map (AbstandCm, 1, 40, 256, 523), 220, 523);