Tehát kezdjük el. Először el kell döntenie az alkatrészekről és az áramkörökről. Az áramkör működési elve egyszerű: a mikrofon gyenge jelét erősítik és továbbítják az Arduino analóg tűhöz. Erősítőként operációs erősítőt (összehasonlítót) fogok használni. Sokkal nagyobb nyereséget biztosít, mint egy hagyományos tranzisztor. Az én esetemben az LM358 chip szolgál összehasonlítóként, szó szerint bárhol megtalálható. És ez nagyon olcsón fizet.
Ha nem találta az LM358-at, akkor a helyére bármilyen más megfelelő operációs erősítőt feltehet. Például a képen látható komparátor a TV-ben lévő infravörös vevő jel erősítő tábláján állt.
Most nézzük meg az érzékelő áramkört.
Az operációs erősítőn kívül szükségünk lesz még néhány könnyebben elérhető alkatrészre.
A legelterjedtebb mikrofon. Ha a mikrofon polaritása nincs feltüntetve, akkor csak nézd meg a kontaktusát. A mínusz mindig az esetre megy, és ennek megfelelően az áramkörben a földhöz van kötve.
Ezután szükségünk van egy 1 kΩ-os ellenállásra.
Három 10 kΩ ellenállás.
És egy másik 100 kΩ-os ellenállás 1 MΩ.
Az én esetemben egy 620 kOhm-os ellenállást használunk „arany középértéknek”.
De ideális esetben a megfelelő besorolású változó ellenállást kell használnia. Sőt, amint azt a kísérletek mutatják, a nagyobb besorolás csak növeli az eszköz érzékenységét, de több „zaj” jelenik meg.
A következő elem egy 0,1 uF kondenzátor. "104" feliratú.
És egy másik kondenzátor, 4,7 uF.
Most átállunk az összeszerelésre. Összeállítottam az áramkört egy felszerelt telepítéssel.
Az összeszerelés befejeződött.Telepítettem az áramkört egy tokba, amelyet kis darab műanyag csőből készítettem.
Folytatjuk az eszköz tesztelését. Csatlakozom a táblához Arduino UNO. Az Arduino fejlesztési környezetbe lépünk, és megnyitjuk az AnalogReadSerial példát az Alapok részben.
érvénytelen beállítás () {
Serial.begin (9600); // csatlakoztassa a soros kapcsolatot 9600 baud sebességgel
}
void loop () {
int sensorValue = analogRead (A0); / * olvassa le az értéket a nulla analóg tűből és mentse az sensorValue változóba * /
Serial.println (sensorValue); // adja ki az értéket a porthoz
késleltetés (1); // várjon egy milliszekundumot a stabilizációhoz
}
Mielőtt betöltenénk a táblába, megváltoztatnánk a késleltetést 50 milliszekundummal, és betöltjük. Ezután tesztelő pamutot készítünk és kövessük a jelzéseket. A tapsolás idején ugrálnak, megpróbálják körülbelül emlékezni erre az értékre és visszatérnek a vázlathoz.
Adjon hozzá néhány sort a vázlathoz.
if (sensorValue> X) {
Serial.print ("CLAP");
késleltetés (1000);
}
Az „X” helyett illessze be ugyanazt az értéket, helyezze be és csavarja be újra. Folytassa addig, amíg meg nem találja az optimális válaszértéket. Túlbecsült érték esetén a feltételt csak nagyon rövid távolságban valósítják meg a pamut. Alacsonyabb érték esetén a feltétel a legkisebb zaj vagy a lépések megszólalása esetén teljesül.
Ezenkívül az R5 ellenállás helyes kiválasztásával ez az érzékelő digitálisvá válhat, és hardveres megszakításokban használható. Ennek a kialakításnak hatalmas lehetősége van, az alapja alapján csomó különféle projektet szerelhet fel, egyszerűsége révén az eszköz mindenki számára elérhető.
Végezetül azt javaslom, hogy nézzen meg egy videót, amelyben minden jól látható. A kalibrálási folyamatot és a legegyszerűbb pamut kapcsoló összeszerelését szintén sokkal részletesebben ismertetjük.
Remélem tetszett neki. Sikeres összeszerelést kívánok neked!