Inhaltsverzeichnis:

Arduino Noise Machine - Gunook
Arduino Noise Machine - Gunook

Video: Arduino Noise Machine - Gunook

Video: Arduino Noise Machine - Gunook
Video: Machine Gun Sound Generator Circuit on Breadboard | 555 Timer Project #7 2024, November
Anonim
Arduino Noise Machine
Arduino Noise Machine
Arduino Noise Machine
Arduino Noise Machine
Arduino Noise Machine
Arduino Noise Machine

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

Baue die Schaltung
Baue die Schaltung

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.

Empfohlen: