Inhaltsverzeichnis:
Video: Arduino Soundlab - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Es ist unglaublich, wie viele erstaunliche Sounds mit der FM-Synthesetechnik selbst mit einem einfachen Arduino erzeugt werden können. In einem früheren anweisbaren wurde dies mit einem Synthesizer illustriert, der 12 vorprogrammierte Sounds hatte, aber ein Zuschauer schlug vor, dass es viel cooler wäre, die volle Kontrolle über die Soundparameter mit Potentiometern zu haben, und so ist es!
In diesem Klanglabor können Töne durch 8 Parameter gesteuert werden: 4 für die ADSR-Hüllkurve der Loudness und 4 für die Frequenzmodulation, die die Textur bestimmt.
Das Hinzufügen der 8 Potentiometer ging nicht auf Kosten der Tastenanzahl: Drei Sätze von 8 Tasten werden wenige Mikrosekunden nacheinander ausgelesen, also insgesamt 24 Tasten, was zwei vollen Oktaven entspricht. Tatsächlich sind zwei Arduino-Pins ungenutzt und eine Erweiterung auf 40 Tasten wäre möglich.
Sehen Sie sich das Video an, um wilde Klänge zu erzeugen, hier ist eine kurze Übersicht:
* A=attack: Zeit bis ein Ton seine maximale Lautstärke erreicht (Bereich 8ms-2s)
* D=Decay: Zeit, bis ein Ton seine konstante Lautstärke erreicht hat (Bereich 8ms-2s)
* S=sustain: konstanter Lautstärkepegel (Bereich 0-100%)
* R=Release: Zeit bis ein Ton erlischt (Bereich 8ms-2s)
* f_m: Verhältnis der Modulationsfrequenz zur Trägerfrequenz (Bereich 0,06-16) Werte unter 1 führen zu Untertönen, höhere Werte zu Obertönen
* beta1: Amplitude der FM-Modulation am Anfang der Note (Bereich 0,06-16) kleine Werte führen zu geringfügigen Variationen der Klangtextur. große Werte ergeben verrückte Sounds
* beta2: Amplitude der FM-Modulation am Ende der Note (Bereich 0,06-16) Geben Sie beta2 einen anderen Wert als beta1, damit sich die Klangtextur mit der Zeit entwickelt.
* tau: Geschwindigkeit, mit der sich die FM-Amplitude von Beta1 zu Beta 2 entwickelt (Bereich 8ms-2s) Kleine Werte ergeben einen kurzen Knall am Anfang einer Note, große Werte eine lange und langsame Entwicklung.
Schritt 1: Konstruktion
Klar, das ist immer noch ein Prototyp, ich hoffe, eines Tages werde ich oder jemand anders so groß und stark und schön bauen mit großen Tasten und echten Drehreglern für die Potentiometer in einem tollen Gehäuse….
Benötigte Komponenten:
1 Arduino Nano (Es funktioniert nicht mit dem Uno, der nur 6 analoge Eingänge hat)
24 Tasten
8 Potentiometer, im Bereich 1kOhm - 100kOhm
1 Potentiometer von 10kOhm zur Lautstärkeregelung
1 Kondensator - 10 Mikrofarad elektrolytisch
1 3,5-mm-Kopfhörerbuchse
1 LM386 Audioverstärkerchip
2 1000 Mikrofarad Elektrolytkondensator
1 Keramikkondensator mit 1 Mikrofarad
1 Mikroschalter
1 8Ohm 2Watt Lautsprecher
1 10x15cm Prototypentafel
Stellen Sie sicher, dass Sie die beigefügten Schaltpläne verstehen. Die 24 Tasten werden in 3 8er-Gruppen verbunden, um an D0-D7 auszulesen und an D8, D10 und D11 zu aktivieren. Die Potis haben +5V und Masse an den Endabgriffen und die mittleren Abgriffe werden an die analogen Eingänge A0-A7 gespeist. D9 hat den Audioausgang und wird mit einem 10kOhm-Potentiometer zur Lautstärkeregelung AC-gekoppelt. Der Ton kann direkt über Kopfhörer angehört oder mit einem LM386-Audioverstärkerchip verstärkt werden.
Es passt alles auf ein 10x15cm Prototypenboard, aber die Tasten sind zu nah, um gut zu spielen, daher wäre es besser, eine größere Tastatur zu konstruieren.
Die Schaltung kann über den USB-Anschluss des Arduino Nano oder mit einem externen 5V-Netzteil mit Strom versorgt werden. Eine 2xAA Batteriebox gefolgt von einem Aufwärtswandler ist eine perfekte Stromversorgungslösung.
Schritt 2: Software
Laden Sie die beigefügte Skizze auf den Arduino Nano hoch und alles sollte funktionieren.
Der Code ist einfach und leicht zu ändern, es gibt keinen Maschinencode und keine Interrupts, aber es gibt ein paar direkte Interaktionen mit den Registern, um mit dem Timer zu interagieren, das Auslesen der Tasten zu beschleunigen und das Verhalten des ADC zu steuern für die Potentiometeranzeige
Schritt 3: Zukünftige Verbesserungen
Ideen aus der Community sind immer willkommen!
Am meisten stören mich die Tasten: Sie sind winzig und klicken beim Drücken hart. Es wäre wirklich schön, größere Tasten zu haben, die sich bequemer drücken lassen. Außerdem würden kraft- oder geschwindigkeitsempfindliche Tasten ermöglichen, die Lautstärke der Noten zu steuern. Vielleicht könnten 3-Wege-Tasten oder berührungsempfindliche Tasten funktionieren?
Andere nette Dinge wären, die Soundeinstellungen im EEPROM zu speichern. Das Speichern kurzer Melodien im EEPROM würde es auch ermöglichen, viel interessantere Musik zu machen. Schließlich könnten komplexere Sounds erzeugt werden, wenn jemand weiß, wie man Percussion-Sounds recheneffizient erzeugt, wäre das großartig…
Empfohlen:
Einen Arduino-Gitarren-Tuner herstellen – wikiHow
So bauen Sie einen Arduino-Gitarren-Tuner: Dies sind die Anweisungen, um einen Gitarren-Tuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen. Zuerst müssen Sie wissen, was die Materialien sind. Ma
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: 9 Schritte
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: Este proyecto consiste en a alarma básica que Detecta presencia, activa una sirena de 108dB y visa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i