- Potreban materijal
- Rad zvučnog senzora
- Shema kruga osjetnika zvuka
- Glazbeni dijagram kruga vodoskoka
- Programiranje Arduino Nano za Plesnu fontanu
Postoji nekoliko vodoskoka koji bezuvjetno posipaju vodu nekim zanimljivim svjetlosnim efektima. Pa sam se odlutao dizajnirati inovativnu fontanu koja može reagirati na vanjsku glazbu i poškropiti vodu, ovisno o glazbenim ritmovima. Nije li zvuk zanimljivo?
Osnovna ideja ove Arduino vodene fontane je uzeti ulaz iz bilo kojeg vanjskog izvora zvuka poput mobitela, iPoda, računala itd., Uzorkovati zvuk i razbiti ga na različita raspona napona, a zatim na izlazu uključiti razne releje. Prvo smo upotrijebili modul osjetnika zvuka na bazi kondenzatorskog mikrofona za izvedbu na izvoru zvuka za razdvajanje zvukova u različite raspone napona. Tada će se napon napajati na op-pojačalo radi usporedbe razine zvuka s određenim ograničenjem. Opseg višeg napona odgovarat će relejnom prekidaču UKLJUČENOM koji sadrži glazbenu fontanu s vodom koja radi na taktove i ritmove pjesme. Dakle, ovdje gradimo ovu glazbenu fontanu koristeći Arduino i zvučni senzor.
Potreban materijal
- Arduino Nano
- Modul senzora zvuka
- Modul releja 12V
- DC pumpa
- LED diode
- Spajanje žica
- Vero ploča ili Breadboard
Rad zvučnog senzora

Modul senzora zvuka jednostavna je elektronička ploča zasnovana na električnom mikrofonu koja se koristi za osjet vanjskog zvuka iz okoline. Temelji se na pojačalu snage LM393 i električnom mikrofonu, može se koristiti za otkrivanje ima li zvuka izvan zadane granice praga. Izlaz modula je digitalni signal koji pokazuje da je zvuk veći ili manji od praga.
Potenciometar se može koristiti za podešavanje osjetljivosti senzorskog modula. Izlaz modula je HIGH / LOW kada je izvor zvuka Niži / veći od praga postavljenog potenciometrom. Isti modul osjetnika zvuka također se može koristiti za mjerenje razine zvuka u decibelima.
Shema kruga osjetnika zvuka

Kao što znamo da je u modulu senzora zvuka osnovni ulazni uređaj mikrofon koji zvučne signale pretvara u električne. Ali kako je izlaz električnog signala zvučnog senzora tako malen po veličini što je vrlo teško analizirati, pa smo upotrijebili NPN tranzistorski krug pojačala koji će ga pojačati i napojiti izlazni signal na neinvertirajući ulaz pojačalo Ovdje se LM393 OPAMP koristi kao komparator koji uspoređuje električni signal iz mikrofona i referentni signal koji dolazi iz kruga djelitelja napona. Ako je ulazni signal veći od referentnog, tada će izlaz OPAMP-a biti visok i obrnuto.
Možete pratiti odjeljke sklopova Op-pojačala kako biste saznali više o njegovom radu.
Glazbeni dijagram kruga vodoskoka

Kao što je prikazano na gornjoj shemi sklopa glazbene fontane, senzor zvuka napaja se napajanjem Arduino Nano od 3,3 V, a izlazni pin modula senzora zvuka povezan je s analognim ulaznim pinom (A6) Nano-a. Možete koristiti bilo koji analogni pin, ali to svakako promijenite u programu. Modul releja i istosmjerna pumpa napajaju se vanjskim napajanjem od 12 VDC, kao što je prikazano na slici. Ulazni signal relejnog modula povezan je na digitalni izlazni pin D10 Nano-a. Za svjetlosni efekt odabrao sam dvije različite boje LED-a i spojio ih na dvije digitalne izlazne igle (D12, D11) Nano-a.
Ovdje je pumpa spojena na takav način da kada se na ulaz modula releja dade VISOKI impuls, COM kontakt releja spoji se na NO kontakt, a struja dobije zatvoreni put koji prolazi kroz crpku do aktivirati protok vode. Inače će crpka ostati ISKLJUČENA. VISOKI / NISKI impulsi generiraju se iz Arduino Nano-a, ovisno o ulaznom zvuku.
Nakon lemljenja kompletnog kruga na perfboard, izgledat će kao u nastavku:

Ovdje smo koristili plastičnu kutiju kao spremnik za fontanu i mini 5v pumpu da djeluju kao fontana, a koristili smo ovu pumpu prethodno u vatrogasnom robotu:
 

Programiranje Arduino Nano za Plesnu fontanu
Kompletan program ovog projekta vodene fontane Arduino dan je na dnu stranice. Ali ovdje to samo objašnjavam dijelovima radi boljeg razumijevanja:
Prvi dio programa je deklariranje potrebnih varijabli za dodjeljivanje brojeva pinova koje ćemo koristiti u sljedećim blokovima programa. Zatim definirajte konstantu REF s vrijednošću koja je referentna vrijednost modula zvučnog senzora. Dodijeljena vrijednost 700 je bajtna ekvivalentna vrijednost izlaznog električnog signala osjetnika zvuka.
int senzor = A6; int redled = 12; int ozelenjeno = 11; int pumpa = 10; #define REF 700
U funkciji postavljanja praznina koristili smo funkciju pinMode za dodjeljivanje smjera podataka ULAZ / IZLAZ pinova. Ovdje se senzor uzima kao ULAZ, a svi ostali uređaji koriste se kao IZLAZ.
void setup () { pinMode (senzor, INPUT); pinMode (crveno, IZLAZ); pinMode (zeleno, IZLAZ); pinMode (pumpa, IZLAZ); }
Unutar beskonačne petlje , analogRead funkcija koje se naziva očitavanje analogni ulaz vrijednost od zatika senzora i pohranjuje u varijabilnim sensor_value .
int sensor_value = analogRead (senzor);
U završnom dijelu koristi se petlja if-else za usporedbu ulaznog analognog signala s referentnom vrijednošću. Ako je veći od referentnog, tada svi izlazni pinovi dobivaju HIGH izlaz, tako da su sve LED diode i pumpa aktivirane, a sve ostalo ostaje ISKLJUČENO. Ovdje smo također dali kašnjenje od 70 milisekundi kako bismo razlikovali vrijeme UKLJUČIVANJA / ISKLJUČENJA releja.
if (vrijednost_senzora> REF) { digitalWrite (ozelenjeno, VISOKO); digitalWrite (crveno, VISOKO); digitalWrite (pumpa, VISOKO); kašnjenje (70); } else { digitalWrite (zeleno, NISKO); digitalWrite (crveno, NISKO); digitalWrite (pumpa, LOW); kašnjenje (70); }


Ovako funkcionira ova vodena fontana pod kontrolom Arduina, dolje je dat cjelovit kod s radnim video zapisom.

