V tem projektu bomo izdelali Clapper vezje z uporabo koncepta ADC (analogna v digitalno pretvorbo) v ARDUINO UNO. Za zaznavanje zvoka in sprožitev odziva bomo uporabili MIC in Uno. To stikalo Clap ON Clap OFF v bistvu vklopi ali izklopi napravo z uporabo zvoka ploskev kot stikalo. Z 555 Timer IC smo že izdelali stikalo Clap in stikalo Clap ON Clap OFF.
Ob ploskanju bo na MIC-u največji signal, ki je veliko višji od običajnega, ta signal se napaja v ojačevalnik, čeprav visokofrekvenčni filter. Ta ojačeni napetostni signal se napaja v ADC, ki pretvori to visoko napetost v število. Torej bo dosežen vrhunec pri branju UNC v ADC. Pri tem zaznavanju vrha bomo na plošči, na vsakem plohu, preklopili LED. Ta projekt je bil podrobno razložen spodaj.
MIC ali mikrofon je pretvornik zvoka, ki v osnovi pretvori zvočno energijo v električno energijo, zato imamo s tem senzorjem zvok kot spreminjajočo se napetost. Običajno s pomočjo te naprave posnamemo ali zaznamo zvok. Ta pretvornik se uporablja v vseh mobilnih telefonih in prenosnih računalnikih. Tipični MIC izgleda,
Določanje polarnosti kondenzatorskega mikrofona:
MIC ima dva terminala, eden je pozitiven, drugi pa negativni. Polarnost mikrofona je mogoče najti z večmetrom. Vzemite pozitivno sondo večimetra (merilnik preklopite v način DIODE TESTING) in ga povežite z enim priključkom MIC, negativno sondo pa z drugim priključkom MIC. Če se na zaslonu prikažejo odčitki, je terminal pozitivnega (MIC) na negativnem terminalu večimetra. Ali pa terminale preprosto poiščete tako, da ga pogledate, negativni terminal ima dve ali tri spajkalne linije, povezane s kovinskim ohišjem mikrofona. To povezavo, od negativnega terminala do kovinskega ohišja, je mogoče preizkusiti tudi s preizkuševalnikom kontinuitete, da ugotovite negativni terminal.
Potrebne komponente:
Strojna oprema:
ARDUINO UNO, napajalnik (5v), kondenzatorski mikrofon (razloženo zgoraj)
2N3904 NPN tranzistor,
Kondenzatorji 100nF (2 kosa), en kondenzator 100uF,
1K Ω upor, 1MΩ upor, 15KΩ upor (2 kosa), ena LED,
In Breadboard & Connecting žice.
Programska oprema: Arduino IDE - Arduino vsak večer.
Shema vezja in delovna razlaga:
Shema vezja kleščeča je prikazana na spodnji sliki:
Delo smo razdelili na štiri dele, in sicer: filtracijo, ojačanje, analogno-digitalno pretvorbo in programiranje za preklop LED
Kadar koli se sliši zvok, ga MIC prevzame in pretvori v napetost, linearno velikosti zvoka. Za višji zvok imamo torej višjo vrednost, za nižji pa manjšo. Ta vrednost se najprej dovede v visokofrekvenčni filter za filtracijo. Nato se ta filtrirana vrednost dovede na tranzistor za ojačanje in tranzistor zagotavlja ojačan izhod na kolektorju. Ta kolektorski signal se napaja v ADC0 kanal UNO za analogno v digitalno pretvorbo. In nazadnje, Arduino je programiran tako, da preklopi LED, priključen na PIN 7 PORTD, vsakič, ko ADC kanal A0 preseže določeno raven.
1. Filtracija:
Najprej bomo na kratko spregovorili o visokofrekvenčnem filtru RC, ki je bil uporabljen za filtriranje hrupa. Enostavno ga je oblikovati in je sestavljen iz enega upora in enega kondenzatorja. Za to vezje ne potrebujemo veliko podrobnosti, zato bomo poskrbeli, da bo preprosto. Visokoprepustni filter omogoča signale visokofrekvenčnega prehoda od vhoda do izhoda, z drugimi besedami, vhodni signal se pojavi na izhodu, če je frekvenca signala višja od predpisane frekvence filtra. Za zdaj nam teh vrednosti ni treba skrbeti, ker tu ne načrtujemo avdio ojačevalnika. V vezju je prikazan visokofrekvenčni filter.
Po tem filtru se napetostni signal napaja na tranzistor za ojačanje.
2. Ojačitev:
Napetost MIC je zelo nizka in je ni mogoče dovajati na UNO za ADC (analogno v digitalno pretvorbo), zato za to oblikujemo preprost ojačevalnik z uporabo tranzistorja. Tu smo zasnovali en tranzistorski ojačevalnik za ojačanje napetosti MIC. Ta ojačeni napetostni signal se nadalje napaja v kanal ADC0 Arduina.
3. Analogna v digitalno pretvorbo:
ARDUINO ima 6 ADC kanalov. Med njimi se lahko kateri koli ali vsi uporabljajo kot vhodi za analogno napetost. UNO ADC ima 10-bitno ločljivost (torej celoštevilčne vrednosti iz (0- (2 ^ 10) 1023)), kar pomeni, da bo preslikal vhodne napetosti med 0 in 5 voltov v celoštevilčne vrednosti med 0 in 1023. Torej za vsako (5/1024 = 4,9 mV) na enoto.
Zdaj, da UNO pretvori analogni signal v digitalni, moramo uporabiti ADC kanal ARDUINO UNO s pomočjo spodnjih funkcij:
1. analogRead (pin); 2. analogReference ();
UNO ADC kanali imajo privzeto referenčno vrednost 5V. To pomeni, da lahko damo maksimalno vhodno napetost 5V za pretvorbo ADC na katerem koli vhodnem kanalu. Ker nekateri senzorji zagotavljajo napetosti od 0-2,5V, tako dobimo z referenco 5V manjšo natančnost, zato imamo navodilo, ki nam omogoča spreminjanje te referenčne vrednosti. Za spremembo referenčne vrednosti imamo torej "analogReference ();"
V našem vezju smo to referenčno napetost pustili privzeto, tako da lahko vrednost iz ADC kanala 0 beremo tako, da neposredno pokličemo funkcijo “analogRead (pin);”, tu “pin” predstavlja pin, kamor smo analogni signal priključili, v v tem primeru bi bil "A0". Vrednost iz ADC lahko vnesemo v celo število kot “int sensorValue = analogRead (A0); ", S tem navodilom se vrednost iz ADC shrani v celo število" sensorValue ". Zdaj imamo vrednost tranzistorja v digitalni obliki, v spominu UNO.
4. Programirajte Arduino, da preklopi LED na vsakem ploskanju:
V običajnih primerih MIC oddaja normalne signale in tako imamo v UNU običajne digitalne vrednosti, toda ob tleskanju vrha, ki ga zagotavlja MIC, s tem imamo najvišjo digitalno vrednost v UNO, lahko UNO programiramo, da preklopi LED VKLOP in IZKLOP, kadar je vrh. Torej se ob prvem ploskanju LED vklopi in ostane vklopljen. Pri drugem ploskanju se LED izklopi in ostane ugasnjeno do naslednjega ploskanja. S tem imamo kleščeče vezje. Preverite spodnjo kodo programa.