Innehållsförteckning:
Video: Arduino Noise Machine: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
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
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:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
White Noise Night Light: 11 steg (med bilder)
White Noise Night Light: Detta är ett projekt som jag gjorde för min 1-åring till jul. Ärligt talat var det en hälsosam present för mig och min fru. Det är en vit brusmaskin som kan spela flera olika ljud valda via ett webbgränssnitt, och innehåller också ljus
Arduino TFT Rainbow Noise Display: 5 steg
Arduino TFT Rainbow Noise Display: Vi skapade detta regnbågsprojekt med hjälp av olika "brus" -tekniker som skapar kontrollerade slumpmässiga effekter. Genom att lägga till lite färg kan en regnbågeffekt framställas. Den använder en Arduino Nano och en 128x128 OLED -skärm. Vi visade effekterna med
Micro: bit Noise Level Detector: 3 steg
Micro: bit Noise Level Detector: Detta är bara ett kort exempel på en brusnivådetektor baserad på micro: bit och Pimoroni enviro: bit. Mikrofonen på enviro: bit detekterar ljudnivån och från det resulterande värdet en position på 5x5 LED -matrisen beräknas och
Oceania Midi Controller (för Make Noise 0-Coast och andra syntes): 6 steg (med bilder)
Oceania Midi Controller (för Make Noise 0-Coast and Other Synths): Under de senaste åren har ett antal synthesizer-tillverkare släppt " stationär halvmodulär " instrument. De har i allmänhet samma formfaktor som Eurorack modulära synthesizer -format och de flesta är förmodligen avsedda som en g