Orodha ya maudhui:

Mashine ya Kelele ya Arduino: Hatua 4
Mashine ya Kelele ya Arduino: Hatua 4

Video: Mashine ya Kelele ya Arduino: Hatua 4

Video: Mashine ya Kelele ya Arduino: Hatua 4
Video: Использование драйвера шагового двигателя L298N Для управления 4-проводным шаговым двигателем 2024, Novemba
Anonim
Mashine ya Kelele ya Arduino
Mashine ya Kelele ya Arduino
Mashine ya Kelele ya Arduino
Mashine ya Kelele ya Arduino
Mashine ya Kelele ya Arduino
Mashine ya Kelele ya Arduino

Nilipata spika ndogo wakati nikibomoa P. C ya zamani. kwa kuchakata tena na nilifikiri nitaona ilisikika kama kutumia kazi ya Toni ya Arduino (). Nilianza na potentiometer moja 10Ω kudhibiti uwanja na kuanza kupiga kelele. Kazi ya Toni () hutumia muundo rahisi wa kunde. Inawasha na kuzima sauti kwa masafa tofauti katika muundo wa wimbi la mraba. Nilikuwa na potentiometers nyingine mbili zilizolala karibu na hivyo nikaongeza na kuzitumia kudhibiti muda wa sauti. Moja ya kudhibiti urefu wa sauti na moja kudhibiti nafasi ya kimya kati ya tani. Ni kimsingi kutumia muundo mwingine wa wimbi la mraba lakini kwa masafa ya chini sana. Unaweza kufikia kelele anuwai na mzunguko huu. Inafanya kazi vizuri na buzzer ya piezo pia, lakini haina majibu ya besi ya spika.

Hatua ya 1: Sehemu utakazohitaji

Arduino Uno

Breadboard na waya za kuruka

1 Spika ndogo au buzzer ya Piezo

1 Kitufe cha kushinikiza

3 10Ω Potentiometers

Kipinga 1 22Ω

Kataa 1 10kΩ

Hatua ya 2: Jenga Mzunguko

Jenga Mzunguko
Jenga Mzunguko

Unganisha ubao wa mkate kwenye pini yako ya Arduino 5V na GND. Weka swichi ya Pushbutton upande wa kulia au kushoto wa ubao wa mkate na uiunganishe na 5V na ardhini ukitumia kontena la 10kΩ. Unganisha waya kutoka kwa mzunguko wa kubadili ili kubandika 2 kwenye Arduino yako.

Upande wa pili wa ubao wa mkate weka spika / mzunguko wa piezo hadi 5v na ardhini ukitumia kontena la 220Ω. Kinzani hii inadhibiti ya sasa na hivyo kudhibiti sauti; unaweza kujaribu vipinga tofauti hapa kwa sauti ya juu au chini.

Panga potentiometers yako katikati ya ubao wa mkate kutoa nafasi ya kutosha kupigia visu. Kila sufuria itahitaji kuunganishwa na 5V na ardhi na pini za katikati kwenye kila zilizounganishwa na pini za analog A0, A1 na A2

Hatua ya 3: Kanuni

Potentiometer au sufuria ni kinzani kinachoweza kutenganishwa ambacho kikiunganishwa na Arduino kitarudisha thamani kati ya 0 na 1023. Tutatumia kazi ya ramani () kubadilisha maadili haya kutoshea mahitaji yetu wenyewe. Kazi ya ramani () inachukua hoja tano na kwa upande wetu tunahitaji kuweka ramani tena kati ya 220 na 2200 ili kutoa sauti inayosikika inayofaa.

Kazi inaonekana kama hii:

ramani (sufuria, 0, 1023, 220, 2200);

Unaweza kucheza karibu na maadili mawili ya mwisho kwa sauti za juu na za chini, kuwa mwangalifu usikasirishe mbwa wako.

Kelele_Mashine.ino

/ * Mashine ya kelele inayotumia potentiometers tatu zilizounganishwa na pembejeo za analogi
na piezo au spika ndogo. Kitufe cha kushinikiza kinawasha kelele, potentiometers
dhibiti uwanja kwa kutumia kazi ya toni ya Arduino, na kuchelewesha mbili
maadili ambayo hudhibiti urefu wa kila toni na urefu kati ya
kila toni. Potentiometers hutoa maadili ya analog ambayo hubadilishwa
kutumia ramani () fanya kazi katika safu kubwa au ndogo ili kukidhi yako
ladha ya muziki.
Nambari hii iko katika uwanja wa umma.
Matt Thomas 2019-04-05
*/
kitufe cha kubanaPini = 2; // Siri ya Pushbutton 2
msemaji mdogo = 9; // Spika au piezo kwenye pini 9
kifungo cha ndani Jimbo = 0; // Vigezo vya kifungo
int potZero; // na potentiometers
int potOne;
int sufuriaTwo;
voidetup () {
pinMode (9, OUTPUT); // Pini ya pato la Spika / piezo
}
voidloop () {
kifungoState = digitalRead (buttonPin); // Soma hali ya kitufe
potZero = AnalogSoma (A0); // Vigezo vya kusoma maadili ya analog
potOne = AnalogSoma (A1);
potTwo = AnalogSoma (A2);
int htz = ramani (potZero, 0, 1023, 0, 8800); // Ramani usomaji wa analog ndani
int high = ramani (sufuriaOne, 0, 1023, 0, 100); // safu mpya za nambari na uunda
int low = ramani (potTwo, 0, 1023, 0, 100); // anuwai mpya
ikiwa (buttonState == HIGH) {// Ikiwa kitufe cha kushinikiza kinabonyeza…
toni (spika, htz); // Sauti imewashwa
kuchelewesha (juu); // Urefu wa toni
NoTone (spika); // Sauti imezimwa
kuchelewesha (chini); // Wakati hadi toni inayofuata
} mwingine {
NoTone (spika); // Hakuna sauti ikiwa kifungo kimetolewa
}
}

tazama rawNoise_Machine.ino iliyohifadhiwa na ❤ na GitHub

Hatua ya 4: Mwisho

Kwa hivyo hiyo ndiyo yote iko. Cheza karibu na maadili kwenye nambari, ongeza sufuria / vifungo zaidi na uone ni nini kingine unachoweza kudhibiti. Nijulishe ikiwa nimefanya makosa yoyote na natumahi unafurahiya muziki.

Ilipendekeza: