Innholdsfortegnelse:

Arduino Noise Machine: 4 trinn
Arduino Noise Machine: 4 trinn

Video: Arduino Noise Machine: 4 trinn

Video: Arduino Noise Machine: 4 trinn
Video: Lesson 95: Using L293D 4 DC Motors Shield for Arduino UNO and Mega | Arduino Step By Step Course 2024, Juli
Anonim
Arduino støy maskin
Arduino støy maskin
Arduino støy maskin
Arduino støy maskin
Arduino støy maskin
Arduino støy maskin

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

Bygg kretsen
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: