Obsah:

Šumový stroj Arduino: 4 kroky
Šumový stroj Arduino: 4 kroky

Video: Šumový stroj Arduino: 4 kroky

Video: Šumový stroj Arduino: 4 kroky
Video: Matějská pouť 2013 - Atrakce Sound Machine - Offride 2024, Červenec
Anonim
Šumový stroj Arduino
Šumový stroj Arduino
Šumový stroj Arduino
Šumový stroj Arduino
Šumový stroj Arduino
Šumový stroj Arduino

Našel jsem malého reproduktora, zatímco jsem strhával starý PC pro recyklaci a myslel jsem si, že pomocí funkce Arduino Tone () uvidím, jak to zní. Začal jsem jedním 10Ω potenciometrem pro ovládání výšky tónu a začal vydávat nějaký hluk. Funkce Tone () používá jednoduchý pulzní vzor. Zapíná a vypíná zvuk na různých frekvencích ve tvaru čtvercových vln. Nechal jsem ležet dva další potenciometry, takže jsem je přidal a použil k ovládání doby trvání tónu. Jeden pro ovládání délky tónu a druhý pro ovládání tichého prostoru mezi tóny. V zásadě používá jiný vzor čtvercových vln, ale na mnohem nižší frekvenci. S tímto obvodem můžete dosáhnout dobré rozmanitosti šumu. Funguje dobře i s piezoelektrickým bzučákem, ale postrádá basovou odezvu reproduktoru.

Krok 1: Díly, které budete potřebovat

Arduino Uno

Breadboard a propojovací vodiče

1 Malý reproduktor nebo Piezo bzučák

1 Tlačítko

3 10Ω potenciometry

1 odpor 22 Ω

1 odpor 10 kΩ

Krok 2: Vybudujte obvod

Vybudujte obvod
Vybudujte obvod

Připojte prkénko k pinu Arduino 5V a GND. Umístěte přepínač zcela vpravo nebo vlevo na desce a připojte jej k 5 V a uzemnění pomocí odporu 10 kΩ. Připojte vodič z obvodu spínače ke kolíku 2 na vašem Arduinu.

Na druhé straně prkénka nastavte reproduktor/piezo obvod na 5 V a uzemněte pomocí odporu 220 Ω. Tento rezistor ovládá proud, čímž ovládá hlasitost; zde můžete vyzkoušet různé odpory pro vyšší nebo nižší hlasitost.

Uspořádejte potenciometry uprostřed prkénka tak, abyste měli dostatek prostoru pro ovládání knoflíků. Každý hrnec bude muset být připojen k 5V a uzemnění a středové piny na každém připojeny k analogovým pinům A0, A1 a A2

Krok 3: Kód

Potenciometr nebo pot je proměnný odpor, který po připojení k Arduinu vrátí hodnotu mezi 0 a 1023. Ke změně těchto hodnot použijeme funkci map (), aby vyhovovala našim vlastním potřebám. Funkce map () má pět argumentů a v našem případě musíme přemapovat rozsah na 220 až 2200, abychom vytvořili rozumný slyšitelný zvuk.

Funkce vypadá nějak takto:

mapa (hrnec, 0, 1023, 220, 2200);

Můžete si pohrát s posledními dvěma hodnotami pro vyšší a nižší frekvenční tóny, dávejte si pozor, abyste svého psa nerozrušili.

Noise_Machine.ino

/* Šumový stroj využívající tři potenciometry připojené k analogovým vstupům
a piezo nebo malý reproduktor. Tlačítko zapíná hluk, potenciometry
ovládejte výšku pomocí funkce Arduino tone () a dvou delay
hodnoty, které řídí délku každého tónu a délku mezi
každý tón. Potenciometry udávají analogové hodnoty, které se mění
pomocí funkce map () do větších nebo menších rozsahů, aby vyhovovaly vašim
hudební vkus.
Tento kód je veřejně dostupný.
Matt Thomas 5. 4. 2019
*/
konstantní tlačítko Pin = 2; // Kolík tlačítka 2
konstantní reproduktor = 9; // Reproduktor nebo piezo v pinu 9
int buttonState = 0; // Proměnné pro tlačítko
int potZero; // a potenciometry
int potOne;
int potTwo;
voidsetup () {
pinMode (9, VÝSTUP); // Výstupní pin reproduktoru/piezo
}
voidloop () {
buttonState = digitalRead (buttonPin); // Přečíst stav tlačítka
potZero = analogRead (A0); // Proměnné pro čtení analogových hodnot
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = mapa (potZero, 0, 1023, 0, 8800); // Namapujte analogové hodnoty na
int high = mapa (potOne, 0, 1023, 0, 100); // nové číselné rozsahy a vytvoření
int low = mapa (potTwo, 0, 1023, 0, 100); // nové proměnné
if (buttonState == HIGH) {// Pokud je stisknuto tlačítko…
tón (reproduktor, htz); // Zvuk zapnutý
zpoždění (vysoké); // Délka tónu
noTone (reproduktor); // Zvuk vypnutý
zpoždění (nízké); // Čas do dalšího tónu
} else {
noTone (reproduktor); // Žádný tón, pokud je tlačítko uvolněno
}
}

zobrazit rawNoise_Machine.ino hostitelem ❤ od GitHub

Krok 4: Konec

To je tedy vše. Hrajte si s hodnotami v kódu, přidejte další poty /tlačítka a uvidíte, co dalšího můžete ovládat. Dejte mi vědět, jestli jsem udělal nějakou chybu a doufám, že se vám hudba bude líbit.

Doporučuje: