Taigi pradėkime. Pirmiausia turite nuspręsti dėl komponentų ir schemos. Grandinės veikimo principas yra paprastas: silpnas signalas iš mikrofono sustiprinamas ir siunčiamas į Arduino analoginį kaištį. Kaip stiprintuvą naudosiu operatyvinį stiprintuvą (komparatorių). Tai suteikia daug didesnį padidėjimą, palyginti su įprastu tranzistoriumi. Mano atveju, LM358 mikroschema pasitarnaus kaip šis palyginimo priemonė, ją galima rasti pažodžiui bet kurioje vietoje. Ir tai kainuoja gana pigiai.
Jei nepavyko rasti LM358, tada į jo vietą galite įdėti bet kurį kitą tinkamą veikimo stiprintuvą. Pvz., Nuotraukoje parodytas lygintuvas stovėjo ant televizoriaus infraraudonųjų spindulių imtuvo signalo stiprintuvo plokštės.
Dabar pažvelkime į jutiklio grandinę.
Be operacinio stiprintuvo, mums reikės dar kelių lengvai prieinamų komponentų.
Pats paprasčiausias mikrofonas. Jei nenurodytas mikrofono poliškumas, tiesiog pažiūrėkite į jo kontaktus. Minusas visada eina į korpusą, o grandinėje, atitinkamai, jis yra prijungtas prie "žemės".
Kitas, mums reikia 1 kΩ varžos.
Trys 10 kΩ varžai.
Ir dar 100 kΩ rezistorius yra 1 MΩ.
Mano atveju kaip „aukso vidurkis“ naudojamas 620 kOhm varžas.
Bet idealiu atveju reikia naudoti atitinkamo reitingo kintamąjį rezistorių. Be to, kaip parodė eksperimentai, didesnis įvertinimas tik padidina prietaiso jautrumą, tačiau atsiranda daugiau „triukšmo“.
Kitas komponentas yra 0,1 uF kondensatorius. Jis žymimas „104“.
Ir dar vienas kondensatorius, esant 4,7 uF.
Dabar pereiname prie surinkimo. Aš surinkau grandinę su sumontuota instaliacija.
Surinkimas baigtas.Aš sumontavau grandinę tuo atveju, kai pagaminau iš mažo plastikinio vamzdžio gabalo.
Tęsiame prietaiso bandymą. Aš prijungsiu jį prie plokštės Arduino UNO. Mes pereiname į Arduino kūrimo aplinką ir atidarome „AnalogReadSerial“ pavyzdį skyriuje „Pagrindai“.
negaliojanti sąranka () {
„Serial.begin“ (9600); // „Serial“ ryšį prijunkite 9600 baudų greičiu
}
tuščia kilpa () {
int sensorValue = analogRead (A0); / * nuskaitykite vertę iš nulinio analoginio kaiščio ir išsaugokite ją kintamajame sensorValue * /
Serial.println (sensorValue); // išveda vertę į uostą
vėlavimas (1); // Palaukite vieną milisekundę stabilizacijos
}
Prieš įkeldami į lentą, mes keičiame vėlavimą 50 milisekundžių ir įkeliame ją. Po to mes gaminame bandomąją medvilnę ir laikomės nurodymų. Klapimo metu jie šokinėja, bando maždaug prisiminti šią vertę ir grįžta prie eskizo.
Įpilkite porą eilučių į eskizą.
if (sensorValue> X) {
Serial.print („CLAP“);
vėlavimas (1000);
}
Vietoj „X“ įdėkite tą pačią reikšmę, įkelkite ir vėl aplenkite. Taigi tęskite tol, kol rasite optimalią atsako vertę. Turint per didelę vertę, sąlyga bus įvykdyta tik su medvilne iš labai artimo atstumo. Esant mažesnei vertei, sąlyga bus patenkinta, kai bus mažiausias triukšmas ar žingsnių garsas.
Taip pat teisingai pasirinkus rezistorių R5, šis jutiklis gali virsti skaitmeniniu ir gali būti naudojamas atliekant aparatinės įrangos pertraukimus. Šio dizaino potencialas yra didžiulis, jo pagrindu galite surinkti krūvą įvairių projektų, o dėl jo paprastumo įrenginys tampa prieinamas visiems.
Pabaigoje siūlau pažiūrėti vaizdo įrašą, kuriame viskas būtų aiškiai parodyta. Taip pat daug išsamiau paaiškinamas paprasčiausio medvilnės jungiklio kalibravimo procesas ir surinkimas.
Tikiuosi, jums patiko. Linkiu sėkmingo surinkimo!