Innholdsfortegnelse:
Video: Arduino Noise Machine: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Jeg fant en liten høyttaler mens jeg rev en gammel PC for resirkulering og tenkte jeg skulle se hvordan det hørtes ut ved å bruke Arduino Tone () -funksjonen. Jeg begynte med et 10Ω potensiometer for å kontrollere tonehøyden og begynte å lage litt støy. Tone () -funksjonen bruker et enkelt pulsmønster. Det slår lyden av og på ved forskjellige frekvenser i et firkantet bølgemønster. Jeg hadde to andre potensiometre liggende, så jeg la dem til og brukte dem til å kontrollere tonens varighet. En for å kontrollere lengden på tonen og en for å kontrollere det stille rommet mellom tonene. Det bruker i utgangspunktet et annet firkantbølgemønster, men med en mye lavere frekvens. Du kan oppnå et godt utvalg av støy med denne kretsen. Det fungerer også godt med en piezo -summer, men mangler bassrespons fra en høyttaler.
Trinn 1: Deler du trenger
Arduino Uno
Brødbrett og hoppetråder
1 liten høyttaler eller piezo -summer
1 Trykknappbryter
3 10Ω potensiometre
1 22Ω motstand
1 10kΩ motstand
Trinn 2: Bygg kretsen
Koble brødbrettet til din Arduino 5V pin og GND. Plasser trykknappbryteren helt til høyre eller venstre på brødbrettet, og koble den til 5V og jord ved hjelp av 10kΩ motstand. Koble en ledning fra bryterkretsen til pinne 2 på Arduino.
På den andre siden av brødbrettet setter du høyttaleren/piezo -kretsen til 5v og males med 220Ω motstand. Denne motstanden styrer strømmen og kontrollerer dermed volumet; Du kan prøve forskjellige motstander her for høyere eller lavere volum.
Plasser potensiometrene i midten av brødbrettet, og gi nok plass til å fikle med knappene. Hver gryte må kobles til 5V og bakken og midtstiften på hver tilkoblet analoge pinner A0, A1 og A2
Trinn 3: Koden
Et potensiometer eller gryte er en variabel motstand som når den er koblet til en Arduino vil returnere en verdi mellom 0 og 1023. Vi vil bruke kartfunksjonen () til å endre disse verdiene for å passe våre egne behov. Map () -funksjonen tar fem argumenter, og i vårt tilfelle må vi kartlegge området på nytt mellom 220 og 2200 for å produsere en rimelig hørbar lyd.
Funksjonen ser omtrent slik ut:
kart (pot, 0, 1023, 220, 2200);
Du kan leke med de to siste verdiene for toner med høyere og lavere frekvens, bare vær forsiktig så du ikke gjør hunden din opprørt.
Noise_Machine.ino
/* Støymaskin som bruker tre potensiometre koblet til analoge innganger |
og en piezo eller liten høyttaler. En trykknapp slår på støyen, potensiometrene |
kontrollere tonehøyden ved hjelp av Arduino tone () -funksjonen, og to forsinkelser |
verdier som styrer lengden på hver tone og lengden mellom |
hver tone. Potensiometrene gir analoge verdier som endres |
bruke kartfunksjonen () til større eller mindre områder som passer din |
musikalsk smak. |
Denne koden er i det offentlige domene. |
Matt Thomas 05.04.2019 |
*/ |
constint buttonPin = 2; // Trykknapp 2 |
konstanthøyttaler = 9; // Høyttaler eller piezo i pin 9 |
int buttonState = 0; // Variabler for knappen |
int potZero; // og potensiometre |
int potOne; |
int potTwo; |
voidsetup () { |
pinMode (9, OUTPUT); // Høyttaler/piezo -utgangspinne |
} |
voidloop () { |
buttonState = digitalRead (buttonPin); // Les trykknappstatusen |
potZero = analogRead (A0); // Variabler for å lese de analoge verdiene |
potOne = analogRead (A1); |
potTwo = analogRead (A2); |
int htz = map (potZero, 0, 1023, 0, 8800); // Kartlegg de analoge avlesningene i |
int high = map (potOne, 0, 1023, 0, 100); // nye tallområder og opprett |
int low = map (potTwo, 0, 1023, 0, 100); // nye variabler |
if (buttonState == HIGH) {// Hvis du trykker på knappen … |
tone (høyttaler, htz); // Lyd på |
forsinkelse (høy); // Lengde på tonen |
noTone (høyttaler); // Lyden av |
forsinkelse (lav); // Tid til neste tone |
} annet { |
noTone (høyttaler); // Ingen tone hvis knappen slippes |
} |
} |
se rawNoise_Machine.ino hostet av ❤ av GitHub
Trinn 4: slutten
Så det er alt det er. Lek deg med verdiene i koden, legg til flere potter /knapper og se hva annet du kan kontrollere. Gi meg beskjed hvis jeg har gjort noen feil, og jeg håper du liker musikken.
Anbefalt:
Arduino Otto Robot Med State Machine: 4 trinn
Arduino Otto Robot With State Machine: Project Oversikt I dette prosjektet vil jeg vise deg en måte å programmere Otto Robot, som er en Arduino -basert DIY -robot. Ved å bruke YAKINDU Statechart Tools (gratis for ikke-kommersielle) kan vi enkelt bruke statlige maskiner til å grafisk modellere oppførselen
White Noise Night Light: 11 trinn (med bilder)
White Noise Night Light: Dette er et prosjekt jeg laget for 1-åringen min til jul. Ærlig talt var det en fornuft til stede for meg og min kone. Det er en hvit støymaskin som kan spille flere forskjellige lyder valgt gjennom et webgrensesnitt, og inneholder også lys
Arduino TFT Rainbow Noise Display: 5 trinn
Arduino TFT Rainbow Noise Display: Vi opprettet dette regnbue -prosjektet ved hjelp av forskjellige 'støy' teknikker, som skaper kontrollerte tilfeldige effekter. Ved å legge til litt farge, kan det oppstå en regnbueeffekt. Den bruker en Arduino Nano og en 128x128 OLED -skjerm. Vi viste effektene ved hjelp av
Oceania Midi Controller (for Make Noise 0-Coast and Other Synths): 6 trinn (med bilder)
Oceania Midi Controller (for Make Noise 0-Coast and Other Synths): I løpet av de siste årene har en rekke synthesizerprodusenter gitt ut " desktop semi-modulær " instrumenter. De tar vanligvis samme formfaktor som Eurorack modulære synthesizer -format, og de fleste er sannsynligvis ment som en g
MOSFET AUDIO AMPLIFIER (Low Noise and High Gain): 6 trinn (med bilder)
MOSFET AUDIO AMPLIFIER (Low Noise and High Gain): Hei folkens! Dette prosjektet er design og implementering av en Low Power Audio -forsterker som bruker MOSFET. Designet er så enkelt som det kan være, og komponentene er lett tilgjengelige. Jeg skriver dette instruerbart ettersom jeg selv opplevde mye