Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Ich habe einen winzigen Lautsprecher gefunden, als ich einen alten PC abgerissen habe. für das Recycling und dachte, ich würde sehen, wie es sich anhört, wenn ich die Arduino Tone ()-Funktion verwende. Ich begann mit einem 10Ω-Potentiometer, um die Tonhöhe zu steuern, und begann, etwas Lärm zu machen. Die Funktion Tone() verwendet ein einfaches Pulsmuster. Es schaltet den Ton bei verschiedenen Frequenzen in einem Rechteckwellenmuster ein und aus. Ich hatte zwei andere Potentiometer herumliegen, also fügte ich sie hinzu und benutzte sie, um die Tondauer zu steuern. Eine, um die Länge des Tons zu steuern, und eine, um den stillen Raum zwischen den Tönen zu steuern. Es verwendet im Grunde ein anderes Rechteckwellenmuster, aber mit einer viel niedrigeren Frequenz. Mit dieser Schaltung können Sie eine gute Rauschvarianz erzielen. Es funktioniert auch gut mit einem Piezo-Summer, aber es fehlt die Basswiedergabe eines Lautsprechers.
Schritt 1: Teile, die Sie benötigen
Arduino Uno
Steckbrett und Überbrückungsdrähte
1 kleiner Lautsprecher oder Piezo-Summer
1 Druckknopfschalter
3 10Ω Potentiometer
1 22Ω Widerstand
1 10kΩ Widerstand
Schritt 2: Bauen Sie die Schaltung auf
Verbinden Sie das Steckbrett mit Ihrem Arduino 5V-Pin und GND. Platzieren Sie den Druckknopfschalter ganz rechts oder links vom Steckbrett und verbinden Sie ihn mit 5V und Masse mit dem 10kΩ Widerstand. Verbinden Sie ein Kabel vom Schalterstromkreis mit Pin 2 auf Ihrem Arduino.
Auf der anderen Seite des Steckbretts stellen Sie die Lautsprecher- / Piezo-Schaltung mit dem 220--Widerstand auf 5 V und Masse ein. Dieser Widerstand steuert den Strom und damit die Lautstärke; Sie können hier verschiedene Widerstände für höhere oder niedrigere Lautstärke ausprobieren.
Ordnen Sie Ihre Potentiometer in der Mitte des Steckbretts an und geben Sie genügend Platz, um mit den Knöpfen herumzuspielen. Jeder Pot muss an 5V und Masse angeschlossen werden und die mittleren Pins müssen jeweils mit den analogen Pins A0, A1 und A2 verbunden werden
Schritt 3: Der Code
Ein Potentiometer oder Pot ist ein variabler Widerstand, der beim Anschluss an einen Arduino einen Wert zwischen 0 und 1023 zurückgibt. Wir verwenden die Funktion map(), um diese Werte an unsere eigenen Bedürfnisse anzupassen. Die Funktion map() benötigt fünf Argumente und in unserem Fall müssen wir den Bereich zwischen 220 und 2200 neu zuordnen, um einen vernünftig hörbaren Klang zu erzeugen.
Die Funktion sieht ungefähr so aus:
Karte(Topf, 0, 1023, 220, 2200);
Sie können mit den letzten beiden Werten für höhere und niedrigere Frequenztöne herumspielen, aber achten Sie darauf, dass Sie Ihren Hund nicht aufregen.
Noise_Machine.ino
/* Rauschmaschine mit drei Potentiometern, die an analoge Eingänge angeschlossen sind |
und einen Piezo- oder kleinen Lautsprecher. Ein Druckknopf schaltet das Rauschen ein, die Potentiometer |
Steuern Sie die Tonhöhe mit der Arduino-Funktion Tone () und zwei Verzögerungen |
Werte, die die Länge jedes Tons und die Länge zwischen |
jeder Ton. Die Potentiometer geben analoge Werte die verändert werden |
Verwenden Sie die Funktion map() in größere oder kleinere Bereiche, um Ihren Wünschen zu entsprechen |
Musikgeschmack. |
Dieser Code ist gemeinfrei. |
Matt Thomas 05.04.2019 |
*/ |
konstanter ButtonPin = 2; // Druckknopfstift 2 |
konstanter Sprecher = 9; // Lautsprecher oder Piezo in Pin 9 |
int buttonState = 0; // Variablen für die Schaltfläche |
int potNull; // und Potentiometer |
int potOne; |
int potTwo; |
voidsetup() { |
pinMode(9, AUSGANG); // Lautsprecher/Piezo-Ausgangspin |
} |
Leerschleife () { |
buttonState = digitalRead (buttonPin); // Den Status der Taste lesen |
potZero = analogRead(A0); //Variablen zum Lesen der Analogwerte |
potOne = analogRead (A1); |
potTwo = analogRead (A2); |
int htz = map(potZero, 0, 1023, 0, 8800); // Ordnen Sie die analogen Messwerte zu |
int hoch = map(potOne, 0, 1023, 0, 100); // neue Nummernkreise und erstellen |
int low = map(potTwo, 0, 1023, 0, 100); // neue Variablen |
if (buttonState == HIGH) {// Wenn der Taster gedrückt wird… |
Ton (Lautsprecher, Htz); // Ton an |
Verzögerung (hoch); // Tonlänge |
kein Ton (Lautsprecher); // Ton aus |
Verzögerung (niedrig); // Zeit bis zum nächsten Ton |
} anders { |
kein Ton (Lautsprecher); // Kein Ton beim Loslassen der Taste |
} |
} |
rawNoise_Machine.ino anzeigen, gehostet mit ❤ von GitHub
Schritt 4: Das Ende
Das ist also alles. Spielen Sie mit den Werten im Code herum, fügen Sie weitere Pots/Buttons hinzu und sehen Sie, was Sie sonst noch steuern können. Lassen Sie mich wissen, wenn ich Fehler gemacht habe und ich hoffe, Sie genießen die Musik.