- Tarvittava materiaali
- Äänianturin toiminta
- Äänianturin piirikaavio
- Musikaalinen suihkulähteen piirikaavio
- Arduino Nano -ohjelmointi tanssilähteelle
On olemassa useita suihkulähteitä, jotka ehdottomasti ripottavat vettä mielenkiintoisilla valotehosteilla. Joten vaellin suunnittelemaan innovatiivisen suihkulähteen, joka pystyy vastaamaan ulkoiseen musiikkiin ja ripottelemaan vettä musiikin lyöntien mukaan. Eikö se kuulosta mielenkiintoiselta?
Tämän Arduino-suihkulähteen perusajatuksena on ottaa sisääntulo mistä tahansa ulkoisesta äänilähteestä, kuten matkapuhelimesta, iPodista, PC: stä jne., Ottaa näyte äänestä ja jakaa se eri jännitealueille ja kytkeä sitten ulostulo päälle eri rele. Ensin käytimme lauhdutinmikropohjaista äänianturimoduulia suorittamaan äänilähteen äänten jakamiseksi eri jännitealueille. Sitten jännite syötetään op-amp: iin äänitason vertaamiseksi tiettyyn rajaan. Suurempi jännitealue vastaa relekytkintä ON, joka käsittää musiikillisen suihkulähteen, joka toimii kappaleen lyöntien ja rytmien mukaan. Joten täällä rakennamme tätä musiikillista suihkulähdettä Arduinolla ja äänianturilla.
Tarvittava materiaali
- Arduino Nano
- Äänianturin moduuli
- 12 V: n releyksikkö
- DC-pumppu
- LEDit
- Johtojen liittäminen
- Vero-levy tai leipälauta
Äänianturin toiminta
Äänianturimoduuli on yksinkertainen elektronimikrofonipohjainen elektroninen piirilevy, jota käytetään ulkoisen äänen tunnistamiseen ympäristöstä. Se perustuu LM393-tehovahvistimeen ja elektrettimikrofoniin, sitä voidaan käyttää havaitsemaan, onko ääntä asetetun kynnysrajan ulkopuolella. Moduulilähtö on digitaalinen signaali, joka osoittaa, että ääni on suurempi tai pienempi kuin kynnys.
Potentiometriä voidaan käyttää anturimoduulin herkkyyden säätämiseen. Moduulilähtö on HIGH / LOW, kun äänilähde on matalampi / korkeampi kuin potentiometrin asettama kynnys. Samaa äänianturimoduulia voidaan käyttää myös äänitason mittaamiseen desibeleinä.
Äänianturin piirikaavio
Kuten tiedämme, että äänianturimoduulissa perussyöttölaite on mikrofoni, joka muuntaa äänisignaalit sähköisiksi signaaleiksi. Mutta koska äänianturin sähköinen signaalilähtö on niin pieni, jota on hyvin vaikea analysoida, olemme käyttäneet NPN-transistorivahvistinpiiriä, joka vahvistaa sitä ja syöttää lähtösignaalin Opin ei-invertoivaan tuloon. vahvistin Täällä LM393 OPAMP: ta käytetään vertailijana, joka vertaa mikrofonin sähköistä signaalia ja jännitteenjakajan piiristä tulevaa vertailusignaalia. Jos tulosignaali on suurempi kuin vertailusignaali, OPAMP: n lähtö on korkea ja päinvastoin.
Voit seurata Op-amp-piirien osioita saadaksesi lisätietoja sen toiminnasta.
Musikaalinen suihkulähteen piirikaavio
Kuten yllä olevassa musiikillisen suihkulähteen piirikaaviossa on esitetty, äänianturi saa virtansa 3,3 V: n Arduino Nano -virtalähteestä ja äänianturimoduulin lähtötappi on kytketty Nanon analogiseen tuloliittimeen (A6). Voit käyttää mitä tahansa analogista nastaa, mutta muista muuttaa se ohjelmassa. Relemoduuli ja DC-pumppu saavat virtaa ulkoisesta 12 VDC: n virtalähteestä kuvan osoittamalla tavalla. Relemoduulin tulosignaali on kytketty nanon digitaaliseen lähtöliittimeen D10. Valoefektiksi valitsin kaksi erilaista LED-väriä ja liitin ne kahteen nanolähtöliittimeen (D12, D11).
Tällöin pumppu kytketään siten, että kun REL-moduulin tulolle annetaan korkea pulssi, releen COM-kontakti kytketään NO-koskettimeen ja virta saa suljetun piirin polun virtaamaan pumpun yli aktivoi veden virtaus. Muuten pumppu pysyy POIS PÄÄLTÄ. HIGH / LOW-pulssit luodaan Arduino nanosta äänitulon mukaan.
Juotettuasi koko piirin perfboardille se näyttää seuraavalta:
Täällä käytimme suihkulähteenä muovilaatikkoa ja mini 5v -pumppua suihkulähteenä, käytimme tätä pumppua aiemmin palonsammutusrobotissa:
Arduino Nano -ohjelmointi tanssilähteelle
Tämän Arduino-suihkulähde -hankkeen täydellinen ohjelma on annettu sivun alaosassa. Mutta tässä selitän vain osia ymmärtämisen parantamiseksi:
Ohjelman ensimmäinen osa on julistaa tarvittavat muuttujat pin-numeroiden osoittamiseksi, joita aiomme käyttää seuraavissa ohjelmalohkoissa. Määritä sitten vakio REF arvolla, joka on äänianturimoduulin viitearvo. Määritetty arvo 700 on äänianturin lähtösähköisen signaalin tavuekvivalenttiarvo.
int-anturi = A6; int punoitettu = 12; int vihreänä = 11; int pumppu = 10; #define REF 700
In void setup toiminto olemme käyttäneet pinMode toiminto määrittää input / output data suuntaan nastat. Tässä anturi pidetään tulona ja kaikkia muita laitteita käytetään lähtöön.
void setup () { pinMode (anturi, INPUT); pinMode (punoitettu, OUTPUT); pinMode (vihreämpi, OUTPUT); pinMode (pumppu, OUTPUT); }
Äärettömän silmukan sisällä kutsutaan analogRead- toimintoa, joka lukee anturitapilta tulevan analogisen arvon ja tallentaa sen muuttuvaan anturin arvoon .
int anturin arvo = analoginen luku (anturi);
Viimeisessä osassa käytetään if-else -silmukkaa analogisen tulosignaalin vertaamiseksi referenssiarvoon. Jos se on suurempi kuin ohjearvo, kaikille lähtöliittimille annetaan KORKEA lähtö niin, että kaikki LEDit ja pumppu aktivoituvat, muuten kaikki pysyy POIS. Tässä olemme myös antaneet 70 millisekunnin viiveen releen ON / OFF-ajan erottamiseksi.
if (anturin_arvo> REF) { digitalWrite (vihreä, KORKEA); digitalWrite (punottu, KORKEA); digitalWrite (pumppu, HIGH); viive (70); } else { digitalWrite (vihreä, LOW); digitalWrite (punottu, LOW); digitalWrite (pumppu, LOW); viive (70); }
Näin tämä Arduino-ohjattu vesilähde toimii, täydellinen koodi ja toimiva video on annettu alla.