Innehållsförteckning:

Arduino Noise Machine: 4 steg
Arduino Noise Machine: 4 steg

Video: Arduino Noise Machine: 4 steg

Video: Arduino Noise Machine: 4 steg
Video: learn Arduino programming in 20 seconds!! (Arduino projects) 2024, November
Anonim
Arduino brusmaskin
Arduino brusmaskin
Arduino brusmaskin
Arduino brusmaskin
Arduino brusmaskin
Arduino brusmaskin

Jag hittade en liten högtalare när jag slet en gammal P. C. för återvinning och tänkte att jag skulle se hur det lät med Arduino Tone () -funktionen. Jag började med en 10Ω potentiometer för att styra tonhöjden och började göra lite ljud. Tone () -funktionen använder ett enkelt pulsmönster. Det slår på och av ljudet vid olika frekvenser i ett fyrkantigt vågmönster. Jag hade två andra potentiometrar liggande så jag lade till dem och använde dem för att styra tonlängden. En för att styra tonlängden och en för att styra det tysta utrymmet mellan tonerna. Det använder i princip ett annat fyrkantigt vågmönster men med en mycket lägre frekvens. Du kan uppnå en mängd olika ljud med denna krets. Det fungerar också bra med en piezo -summer, men saknar basrespons från en högtalare.

Steg 1: Delar du behöver

Arduino Uno

Brödbräda och bygeltrådar

1 liten högtalare eller piezo -summer

1 Tryckknappsbrytare

3 10Ω Potentiometrar

1 22Ω motstånd

1 10kΩ motstånd

Steg 2: Bygg kretsen

Bygg kretsen
Bygg kretsen

Anslut brödbrädan till din Arduino 5V -stift och GND. Placera tryckknappsbrytaren längst till höger eller vänster på brödbrädet och anslut den till 5V och jorda med 10kΩ motstånd. Anslut en kabel från omkopplarkretsen till stift 2 på din Arduino.

På andra sidan av brödbrädan ställer du in högtalar-/piezokretsen till 5v och jordas med 220Ω motstånd. Detta motstånd styr strömmen och styr därmed volymen; Du kan prova olika motstånd här för högre eller lägre volym.

Placera dina potentiometrar i mitten av brödbrädan så att du får tillräckligt med utrymme för att krångla med knopparna. Varje kruka måste anslutas till 5V och jordas och mittstiftet på varje ansluten till analoga stift A0, A1 och A2

Steg 3: Koden

En potentiometer eller kruka är ett variabelt motstånd som vid anslutning till en Arduino returnerar ett värde mellan 0 och 1023. Vi kommer att använda funktionen map () för att ändra dessa värden för att passa våra egna behov. Map () -funktionen tar fem argument och i vårt fall måste vi kartlägga intervallet till mellan 220 och 2200 för att producera ett rimligt hörbart ljud.

Funktionen ser ut ungefär så här:

karta (kruka, 0, 1023, 220, 2200);

Du kan leka med de två sista värdena för högre och lägre frekvenstoner, var försiktig så att du inte stör din hund.

Noise_Machine.ino

/* Bullermaskin med tre potentiometrar anslutna till analoga ingångar
och en piezo eller liten högtalare. En tryckknapp aktiverar bullret, potentiometrarna
styra tonhöjden med Arduino -ton () -funktionen och två fördröjningar
värden som styr längden på varje ton och längden mellan
varje ton. Potentiometrarna ger analoga värden som ändras
använda kartfunktionen () i större eller mindre intervall som passar din
musiksmak.
Denna kod är i det offentliga rummet.
Matt Thomas 2019-04-05
*/
constint buttonPin = 2; // Tryckknappstift 2
konstint -högtalare = 9; // Högtalare eller piezo i stift 9
int buttonState = 0; // Variabler för knappen
int potZero; // och potentiometrar
int potOne;
int potTwo;
voidsetup () {
pinMode (9, OUTPUT); // Högtalare/piezo -utgångsstift
}
voidloop () {
buttonState = digitalRead (buttonPin); // Läs tryckknappstillståndet
potZero = analogRead (A0); // Variabler för avläsning av analoga värden
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = map (potZero, 0, 1023, 0, 8800); // Kartlägg de analoga avläsningarna till
int high = map (potOne, 0, 1023, 0, 100); // nya nummerintervall och skapa
int low = map (potTwo, 0, 1023, 0, 100); // nya variabler
if (buttonState == HIGH) {// Om tryckknappen trycks in …
ton (högtalare, htz); // Ljud på
fördröjning (hög); // Tonlängd
noTone (högtalare); // Ljud av
fördröjning (låg); // Tid till nästa ton
} annat {
noTone (högtalare); // Ingen ton om knappen släpps
}
}

visa rawNoise_Machine.ino värd med ❤ av GitHub

Steg 4: Slutet

Så det är allt som finns. Lek med värdena i koden, lägg till fler krukor /knappar och se vad du kan styra. Låt mig veta om jag har gjort några misstag och jag hoppas att du gillar musiken.

Rekommenderad: