- Nepieciešamais materiāls
- Skaņas sensora darbība
- Skaņas sensora shēmas shēma
- Mūzikas ūdens strūklakas shēma
- Arduino Nano programmēšana deju strūklakai
Ir vairākas ūdens strūklakas, kas bez ierunām apkaisa ūdeni ar dažiem interesantiem gaismas efektiem. Tāpēc es klīdu par to, kā izveidot novatorisku ūdens strūklaku, kas var reaģēt uz ārējo mūziku un apkaisīt ūdeni atkarībā no mūzikas ritma. Vai tas neizklausās interesanti?
Šīs Arduino ūdens strūklakas pamatideja ir ņemt ieeju no jebkura ārēja skaņas avota, piemēram, mobilā, iPod, datora utt., Izlasīt skaņu un sadalīt to dažādos sprieguma diapazonos, pēc tam izmantot izeju, lai ieslēgtu dažādus relejus. Vispirms mēs izmantojām kondensatora mikrofona skaņas sensora moduli, lai veiktu skaņas avotu, lai skaņas sadalītu dažādos sprieguma diapazonos. Tad spriegums tiks ievadīts op-amp, lai salīdzinātu skaņas līmeni ar noteiktu robežu. Augstāks sprieguma diapazons atbilst releja slēdzim ON, kas ietver mūzikas ūdens strūklaku, kas darbojas atbilstoši dziesmas ritmiem. Tāpēc šeit mēs veidojam šo mūzikas strūklaku, izmantojot Arduino un skaņas sensoru.
Nepieciešamais materiāls
- Arduino Nano
- Skaņas sensora modulis
- 12V releja modulis
- DC sūknis
- Gaismas diodes
- Savienojošie vadi
- Vero dēlis vai maizes dēlis
Skaņas sensora darbība
Skaņas sensora modulis ir vienkāršs elektronu uz elektreta mikrofona bāzes panelis, ko izmanto, lai uztvertu ārējo skaņu no apkārtējās vides. Tās pamatā ir jaudas pastiprinātājs LM393 un elektreta mikrofons, to var izmantot, lai noteiktu, vai ir kāda skaņa, kas pārsniedz noteikto sliekšņa robežu. Moduļa izeja ir digitāls signāls, kas norāda, ka skaņa ir lielāka vai mazāka par slieksni.
Potenciometru var izmantot sensora moduļa jutības pielāgošanai. Moduļa izeja ir HIGH / LOW, ja skaņas avots ir zemāks / augstāks par potenciometra iestatīto slieksni. To pašu skaņas sensora moduli var izmantot arī skaņas līmeņa mērīšanai decibelos.
Skaņas sensora shēmas shēma
Kā mēs zinām, ka skaņas sensora modulī galvenā ievades ierīce ir mikrofons, kas skaņas signālus pārveido par elektriskiem signāliem. Bet, tā kā skaņas sensora elektriskā signāla izeja ir tik maza, ko ir ļoti grūti analizēt, mēs esam izmantojuši NPN tranzistora pastiprinātāja ķēdi, kas to pastiprinās un izvades signālu pados Opert neinvertējošajā ieejā. amp. Šeit LM393 OPAMP tiek izmantots kā salīdzinājums, kas salīdzina elektrisko signālu no mikrofona un atsauces signālu, kas nāk no sprieguma dalītāja ķēdes. Ja ieejas signāls ir lielāks par atsauces signālu, tad OPAMP izeja būs augsta un otrādi.
Lai uzzinātu vairāk par tā darbību, varat sekot sadaļām Op-amp shēmas.
Mūzikas ūdens strūklakas shēma
Kā parādīts iepriekš minētajā mūzikas strūklakas shēmā, skaņas sensors tiek darbināts ar Arduino Nano 3,3 V barošanu, un skaņas sensora moduļa izejas tapa ir savienota ar Nano analogo ieejas tapu (A6). Varat izmantot jebkuru analogo tapu, taču noteikti nomainiet to programmā. Releja moduli un līdzstrāvas sūkni darbina ārējs 12 VDC barošanas avots, kā parādīts attēlā. Releja moduļa ieejas signāls ir savienots ar Nano digitālās izejas kontaktu D10. Apgaismojuma efektam es izvēlējos divu dažādu krāsu LED un pievienoju tos diviem Nano digitālās izejas tapām (D12, D11).
Šeit sūknis ir savienots tā, ka tad, kad releja moduļa ieejai tiek piešķirts HIGH impulss, releja COM kontakts tiek savienots ar NO kontaktu un strāva iegūst slēgtu ķēdes ceļu, kas plūst pāri sūknim uz aktivizēt ūdens plūsmu. Pretējā gadījumā sūknis paliek izslēgts. HIGH / LOW impulsus ģenerē Arduino Nano atkarībā no skaņas ieejas.
Pēc pilnīgas ķēdes lodēšanas uz perfboard tā izskatās šādi:
Šeit mēs izmantojām plastmasas kastīti kā strūklakas konteineru un mini 5v sūkni, lai darbotos kā strūklaka, mēs iepriekš izmantojām šo sūkni ugunsdzēšanas robotā:
Arduino Nano programmēšana deju strūklakai
Pilnīga šī Arduino ūdens strūklakas projekta programma ir norādīta lapas apakšdaļā. Bet šeit es to tikai paskaidroju, lai labāk izprastu:
Programmas pirmā daļa ir deklarēt nepieciešamos mainīgos PIN numuru piešķiršanai, kurus mēs izmantosim nākamajos programmas blokos. Pēc tam definējiet nemainīgu REF ar vērtību, kas ir skaņas sensora moduļa atsauces vērtība. Piešķirtā vērtība 700 ir skaņas sensora izejas elektriskā signāla baitu ekvivalenta vērtība.
int sensors = A6; int sarkanā krāsā = 12; int greenled = 11; int sūknis = 10; #define REF 700
Jo zaudējušu iestatīšanas funkcijai mēs izmantojām pinMode funkciju piešķirt ievades / izvades datu virzienu tapas. Šeit sensors tiek uzskatīts par INPUT, un visas pārējās ierīces tiek izmantotas kā OUTPUT.
void setup () { pinMode (sensors, INPUT); pinMode (sarkans, OUTPUT); pinMode (apzaļumots, OUTPUT); pinMode (sūknis, OUTPUT); }
Inside bezgalīgu cilpu , analogRead funkciju sauc, kas nolasīšanas analogo vērtību ievadi no sensora pin un saglabā to mainīgu sensor_value .
int sensora_vērtība = analogRead (sensors);
Pēdējā daļā tiek izmantota cilpa if-else, lai salīdzinātu ieejas analogo signālu ar atsauces vērtību. Ja tas ir lielāks par atsauci, tad visiem izejas tapām tiek dota HIGH izeja, lai visi gaismas diodes un sūknis būtu aktivizēti, pretējā gadījumā viss paliek izslēgts. Šeit mēs esam devuši arī 70 milisekunžu aizkavi, lai noteiktu releja ieslēgšanas / izslēgšanas laiku.
if (sensora_vērtība> REF) { digitalWrite (apzaļumots, AUGSTS); digitalWrite (sarkans, AUGSTS); digitalWrite (sūknis, AUGSTS); kavēšanās (70); } else { digitalWrite (apzaļumots, LOW); digitalWrite (sarkans, LOW); digitalWrite (pump, LOW); kavēšanās (70); }
Tā darbojas šī Arduino kontrolētā ūdens strūklaka, pilnīgs kods ar darba video ir norādīts zemāk.