Menü
Ingyenes
bejegyzés
itthon  /  Internet/ Mi a zümmögő és hogyan működik? Mi a zümmögő és hogyan működik Mi a zümmögő a TV -n

Mi a zümmögő és hogyan működik. Mi a zümmögő és hogyan működik Mi a zümmögő a TV -n

Az Arduino csengő, amelyet gyakran zümmögőnek, piezo hangszórónak vagy akár zümmögőnek is neveznek, gyakori vendég a barkácsprojektekben. Ez az egyszerű elektronikus alkatrészek Elég könnyen csatlakoztatható az Arduino táblákhoz, így gyorsan elérheti, hogy az áramkör a kívánt hangokat adja ki - jelezzen, sípoljon vagy játsszon el egy dallamot. Ebben a cikkben elmondjuk az aktív és passzív zümmögők közötti különbséget, elemezzük a piezoelektromos elem Arduino táblához való csatlakoztatásának diagramját, és bemutatunk egy példát egy zümmögő vezérlésére. Ezenkívül talál egy példát egy dallamra, amelyet hozzáadhat a projekthez.

Zümmögő, piezo zümmögő - ezek mind egy eszköz nevei. Ezeket a modulokat hangjelzésre használják azokban az eszközökben és rendszerekben, amelyek működése kötelező hangjelzés... A zümmögők széles körben elterjedtek Háztartási gépekés játékok elektronikus táblák használatával. A piezo magassugárzók az 1 és 0 kétbites számrendszereken alapuló parancsokat audio jelekké alakítják.

Piezoelem "nyikorgó"

A piezo -zümmögőt szerkezetileg fémlemez képviseli, amely vezető kerámia bevonattal van bevonva. A lemez és a porlasztó érintkezőként működik. A készülék polarizált, saját "+" és "-". A zümmögő elve a Curie testvérek által a tizenkilencedik század végén felfedezett piezoelektromos hatáson alapul. Szerinte, amikor áramot szolgáltatnak a zümmögőnek, az deformálódni kezd. Ebben az esetben egy fémlemez ütései vannak, ami a kívánt frekvenciájú „zajt” produkálja.


Emlékeztetni kell arra is, hogy kétféle zümmögő létezik: aktív és passzív. Működési elvük ugyanaz, de az aktívban nincs mód a hangfrekvencia megváltoztatására, bár maga a hang erősebb és a csatlakoztatás is könnyebb. Erről bővebben alább.


Zümmögő modul az Arduino számára

Szerkezetileg a modul számos változatban van végrehajtva. A leginkább ajánlott az arduino-hoz való csatlakozáshoz egy kész modul, beépített hevederrel. Az ilyen modulok könnyen megvásárolhatók az online áruházakból.

A hagyományos elektromágneses hangátalakítókkal összehasonlítva a piezo zümmögő egyszerűbb kialakítású, ami gazdaságosan megvalósíthatóvá teszi. A vett hang frekvenciáját a felhasználó állítja be a szoftverben (az alábbiakban egy vázlat példát mutatunk be).

Hol vásárolhat Arduino csikorgót

Hagyományos áttekintésünk az Aliexpress ajánlatairól

Hangos piezo hangszóró - 3-24 Voltos hangjelző, alkalmas Arduino -hoz A legegyszerűbb passzív piezo-kibocsátók 12MM * 8,5MM 3-12V, 5 db-os készlet
Piezodynamics modul az Arduino -val való munkavégzéshez szükséges hevederrel Tweeterek csatlakozókkal a számítógép alaplapjához való csatlakoztatáshoz 10 aktív hangszóró - piezo hangjelzők

Különbségek az aktív és a passzív hangjelző között

A fő különbség az aktív és a passzív zümmögő között az, hogy az aktív zümmögő önmagában ad hangot. Ehhez a felhasználónak egyszerűen be- vagy kikapcsolnia kell, más szóval feszültséget kell adni az érintkezőkre, vagy áramtalanítani kell. A passzív zümmögő viszont olyan jelforrást igényel, amely beállítja a hangjel paramétereit. Az Arduino tábla ilyen forrásként működhet. Az aktív zümmögő hangosabban sípol, mint a versenytársa. Az aktív zümmögő által kibocsátott hang frekvenciája 2,5 kHz +/- 300 Hz. A zümmögő tápfeszültsége 3,5 és 5 V között változik.

Az aktív piezoelektromos emitter is előnyösebb, mivel a vázlatban nem kell további kódrészletet létrehoznia a munkafolyamatot befolyásoló késleltetéssel. Továbbá annak meghatározásához, hogy melyik elem van a felhasználó előtt, megmérheti a két vezeték közötti ellenállást. A magasabb értékek aktív arduino zümmögést jeleznek.

A magassugárzók geometriai alakjukban semmiben sem különböznek egymástól, és nem lehet az elemet egyik vagy másik típushoz rendelni e jellemző szerint. A zümmögő vizuálisan aktívként azonosítható, ha ellenállás és erősítő van a táblán. A passzív hangjelzőnek csak egy kis piezoelektromos eleme van a táblán.

Zümmögő csatlakozások Arduino -hoz

A piezoelektromos modul csatlakoztatása az Arduino -hoz meglehetősen egyszerűnek tűnik. Az áramfogyasztás kicsi, így egyszerűen csatlakoztathatja közvetlenül a kívánt csaphoz.


A hangjelző csatlakoztatása az Arduino -hoz (12. port)

A piezoelektromos elem csatlakoztatásának elektromos diagramja a kísérő modulok nélkül a következő.

Néhány zümmögőházon lyukat találhat a tábla csavarral történő rögzítéséhez.

Az arduino zümmernek két kimenete van. Ügyeljen a polaritásukra. A sötét vezetéket a földhöz kell csatlakoztatni, a piros vezetéket a digitális PWM csaphoz. A programban egy tű "bemenetként" van konfigurálva. Az Arduino figyeli a feszültségingadozást a csapon, amelyet a gomb, az ellenállás és az érzékelők biztosítanak.


Arudino nyikorgó névjegyekkel

A "bemenet" feszültségét különböző értékekkel látják el, a rendszer egyértelműen csak két állapotot rögzít - a fent említett 1 -et és 0 -t (logikai nulla és egy). A logikai egység 2,3-5 V feszültségre fog utalni. A "kimeneti" mód az, amikor az Arduino logikai nullát / egyet alkalmaz a kimenetre. Ha a logikai nulla módot választjuk, akkor a feszültség értéke olyan kicsi, hogy nem elegendő a LED meggyújtása.


Az Arduino és a magassugárzó bekötési rajza

Kérjük, vegye figyelembe, hogy a bemenetek meglehetősen érzékenyek a különféle külső zajokra, ezért a piezo magassugárzó lábát ellenálláson keresztül kell csatlakoztatni a kimenethez. Ez magas feszültségszintet eredményez a száron.

Példa piezodinamikus hangszóró vázlatára

Az arduino táblához csatlakoztatott zümmögő "újraélesztéséhez" szüksége lesz szoftver Arduino IDE, amit lehet.

A zümmögő megszólalásának egyik legegyszerűbb módja az "analóg írás" funkció használata. De jobb, ha a beépített funkciókat használja. A "tone ()" funkció felelős a hangjelzés aktiválásáért; zárójelben a felhasználónak jeleznie kell a hangfrekvencia és a bemeneti szám paramétereit, valamint az időt. A hang elnémításához használja a "noTone ()" funkciót.

Példa vázlat a tone () és a noTone () függvénnyel

// A tű, amelyhez a piezo hangszóró csatlakozik. int piezoPin = 3; void setup () () void loop () (/ * A függvény három argumentumot tartalmaz 1) Pin szám 2) Frekvencia hertzben, amely meghatározza a hangmagasságot 3) Időtartam ezredmásodpercben. * / hang (piezoPin, 1000, 500); // A hang 500 ms után leáll, a program nem áll le! / * Opció beállított időtartam nélkül * / hang (piezoPin, 2000); // A hangzás indításának késleltetése (500); nem egy (); // Hagyd abba a hangzást)

Egy példa kapcsolási rajz így néz ki:


A hangjelző csatlakoztatása az Arduino 3 tűs csatlakozójához

A tone () funkció használatakor a következő korlátozások érvényesek.

Nem használhatja a PWM -et egyszerre a 3 -as és a 11 -es tűn (ugyanazt a belső időzítőt használják), és nem indíthat egyszerre két dallamot két tónus () paranccsal - egyszerre csak egy lesz lejátszva. .

Az aktív zümmögő vázlata rendkívül egyszerű. az 1 értéket arra a portra állítjuk, amelyhez a zümmögő csatlakozik.

Zümmögő vázlat opció hang nélkül ()

A tone () függvény nélküli változat egyik példavázlata az alábbi képen látható. Ez a kód beállítja a hang bekapcsolási gyakoriságát két másodpercenként.


Ahhoz, hogy a készülék megfelelően működjön, be kell állítani a PIN -kódot, és "kimenetként" kell megadni. Az analogWrite függvény a PIN-kódot és a szintet veszi argumentumként, ami értékét 0-ról 255-re változtatja. Ez azért van, mert az Arduino PWM csapjai 8 bites DAC-val (digitális-analóg konverter) rendelkeznek. Ennek a paraméternek a megváltoztatásával a felhasználó csekély mértékben megváltoztatja a zümmögő hangerejét. A teljes leállításhoz impregnálja a "0" értéket a portban. Azt kell mondani, hogy az "analóg írás" funkció használatával a felhasználó nem tudja megváltoztatni a hang kulcsát. A piezo -emitter 980 Hz frekvenciát kap. Ez az érték egybeesik az Arduino és analóg kártyák PWM csapjainak gyakoriságával.

Példák zümmögő dallamokra

Annak érdekében, hogy egy új projekttel változatosabbá tegyék a munkát, adjunk hozzá egy "szórakoztató" elemet, a felhasználók arra az ötletre jutottak, hogy egy bizonyos hangfrekvenciát állítsanak be, és összhangba hozzák néhány híres dalból és filmből származó kompozícióval. Az ilyen dallamokhoz különféle vázlatok találhatók az interneten. Mondjunk példát piezo dallamra a legendás Nokia mobiltelefonok egyik legismertebb "nokia tune" számához. A pitches.h fájlt saját maga készítheti el, ha kimásolja annak tartalmát a cikk hivatalos honlapján leírtak szerint.


Íráskor saját dallamok jól jön a hangok gyakoriságának és a szabványos jelölésben használt intervallumok időtartamának ismerete.

Arduino magassugárzó hangjainak gyakorisága

Következtetés

Ebben a cikkben megvizsgáltuk a zümmögő használatát Arduino projektek: passzív és aktív zümmögőkkel rendezve, kiemelt néhány elméleti kérdést a piezoelektromos elem felépítésével kapcsolatban. Megtanultuk, hogyan lehet piezo szondát csatlakoztatni egy arduino -hoz, és hogyan kell vázlatot programozni az aktív, passzív modulokkal való együttműködésre. Mint látható, a zümmögőkkel való munkavégzésnek nincs semmi különösebben nehéz dolga, és könnyedén beépíthet audio -képességeket a projektbe. Sőt, a szokásos hangjelzések mellett egész zeneműveket is létrehozhat.

Meglehetősen egyszerűbb lesz az eszköz használata, ha hangzást valósítunk meg, és hangjelzőt csatlakoztatunk a táblához. Kicsit módosítottuk az elemek elrendezését, ezért frissítünk több #define irányelvet, és kifejezetten csatlakoztatjuk a zümmögőt az arduino PWM kimenethez. (Teljes kód, mint általában a cikk végén)

#define buzzer 11 // Hangszóró érintkező

Ennek eredményeként a zümmögő csatlakoztatási diagramja így fog kinézni

Miért a PWM kimenetet választottuk? Ha 5v -t alkalmaz a hangszóróra, akkor egyszer sípol, és ennyi, vagy inkább gyakorlatilag nem is hallható. A hang az analóg jel, és a PWM kimenet felesleges fejfájás nélkül képes lesz az impulzusok szimulálására


A PWM jel aktiválásához használhatjuk az analogWrite (kimenet, érték) parancsot; , ahol csak két érv van - az első a kimeneti szám, a második pedig 0 és 255 közötti érték, amely befolyásolja a PWM jel működési ciklusának mértékét. Kísérleteztem, és megtaláltam az optimális 20 -as működési ciklust normál hangszóróhanghoz. Ennek megfelelően a működési ciklus 0 - kapcsolja ki teljesen a hangot.

AnalogWrite (zümmögő, 20); // Kapcsolja be a hangot a PWM kimeneten analogWrite (buzzer, 0); // Kapcsolja ki a hangot a PWM kimeneten

Emlékeztetni kell arra, hogy a létrehozás során nem szabad késleltetést használni hang hatások, így ismét a millis () vezérlő időváltozójához fogunk kötődni.


Próbáljuk meg a kódot ábrán ábrázolni. Egy gomb megnyomásával aktiváljuk a hangszórót - majd bizonyos körülmények között kikapcsoljuk, vagy ciklusokat hajtunk végre.

Bevezetünk egy hibajelzőt, amelyet alkalmazni fogunk, ha megnyomjuk a reset gombot, a jelszót helytelenül adtuk meg, és egy egyszerű 3 másodpercet, amikor a felhasználó hirtelen abbahagyta a jelszó megadását

Bool keyError; // Jelszóhiba jelző

Bemutatunk egy változót is, amelyet összehasonlítunk a vezérlő idejével. millis ().

Uint32_t hangjelzés; // Változtatható késleltetési idő a zümmernek egy gomb vagy művelet megnyomása után

A ciklusban () folyamatosan ellenőrizni fogjuk minden funkciónkat.

Key_beep_off (); // A hangjelző némítása_beep_ok (); // Zümmögő hang a zár kinyitásakor key_beep_error (); // Zümmögő hiba hangja

Kulcshurokban key_scan (), ha a sajtót rögzítették, akkor elindítjuk a hangjelzést és visszaállítjuk az időváltozót.

Hangjelzés = millis (); // A zümmögés időváltozójának beállítása a vezérlő idejére analogWrite (zümmögő, 20);

Ha ez csak egy megnyomott billentyű, művelet nélkül, akkor nagyon rövid hangra van szükségünk. Honnan tudjuk, hogy egy kattintás nem hajtott végre műveletet? Ellenőrizzük a zárt zár állapotát és az időváltozót 150 ms -on belül. Ha a zár állapota zárva van, akkor 150 ms után kapcsolja ki a hangot. Így rövid hangot kapunk, ha bármelyik gombot megnyomja.

Void key_beep_off () // Kapcsolja ki a zümmögőt, ha a zár 150 ms után is zárva marad (if (millis () - beep> 150 && lockType == 1 && digitalRead (lock) == LOW || millis () - pitty> 200 && lockType == 0 && digitalRead (zár) == HIGH) (analogWrite (zümmögő, 0); // Kapcsolja ki a hangot a PWM kimeneten))

Most egy hiba hangja. Javaslom, hogy kettőt tegyünk a megértés érdekében. rövid sípolás, általában ez a hang érthető a felhasználó számára. Itt minden nagyon egyszerű. A hibajelzőt kell használnunk keyError... Míg értéke 1, a feltételeket 150 ms időintervallummal teljesítjük, a végén pedig egyszerűen visszaállítjuk. Csak 3 if -t csinálunk, mindegyikben kötődünk az időhöz. 1) Kapcsolja be a hangszórót -> 2) kapcsolja ki -> 3) kapcsolja be. Ezután eltávolítjuk a zászlót keyError == 0.

Érvénytelen key_beep_error () // Billentyűzet hiba funkció - dupla hangjelzés (if (keyError == 1) (if (millis () - sípolás> 0 && millis () - sípolás)< 150) // Интервал времени от 0 до 150мс - звук есть { analogWrite(buzzer, 20); // Включаем звук на ШИМ выходе } if (millis() - beep >150 && millis () - hangjelzés< 300) // Интервал времени от 150 до 3000мс - звука нет { analogWrite(buzzer, 0); // Выключаем звук на ШИМ выходе } if (millis() - beep >300 && millis () - hangjelzés< 450) // Интервал времени от 300 до 450мс - звук есть { analogWrite(buzzer, 20); // Включаем звук на ШИМ выходе } if (millis() - beep >450) // 450 ms után (analogWrite (zümmögő, 0); // Kapcsolja ki a hangot a PWM kimeneti kulcsonError = 0; // Reset the open error flag)))

Ezután fel kell emelnünk a zászlót a kód egyes részein keyError == 1és állítsa vissza a hangjelző változót. Ezt a kódot be kell illesztenünk a # kulcs feldolgozásába, akkor is végre kell hajtani, ha a jelszó helytelenül van megadva, és vissza kell állítani, ha 3 másodpercig tétlen.

Hangjelzés = millis (); // Állítsa be a zümmögés időváltozóját a vezérlő time keyError = 1; // Aktiválja a zümmögő hibajelzőt

Most elemezzük a hangszóró hangját a zár kinyitásakor. Annak érdekében, hogy a felhasználó megértse, hogy a zár még nyitva van (ez különösen fontos mágneses zár esetén), rövid hangjelzést adunk. A sípolási ciklusnak folytatódnia kell, amíg a zár nyitva van, ehhez megvolt az openTime változó. Azok. leolvashatjuk a zár állapotát, és sípolunk sípolás közben< openTime. Далее мы организуем цикл включения и выключения динамика, по схожему принципу, как в коде ошибки, но он у нас будет повторять, пока открыт замок. Чтобы цикл повторно запустился, в конце нам нужно обновить переменную beep.

Érvénytelen key_beep_ok () (if (millis () - hangjelzés< openTime && lockType == 1 && digitalRead(lock) == HIGH || millis() - beep < openTime && lockType == 0 && digitalRead(lock) == LOW) { if (millis() - beep >0 && millis () - hangjelzés< 120) // Задаём время от 0 до 120мс - зуммер активен { analogWrite(buzzer, 30); // Включаем звук на ШИМ выходе } if (millis() - beep >120 && millis () - hangjelzés< 300) // Задаём время от 120 до 300 мс - зуммер не активен { analogWrite(buzzer, 0); // Выключаем звук на ШИМ выходе } if (millis() - beep >300) 300 ms felett visszaállítjuk a zümmögés időváltozóját, hogy a ciklus újra kezdődjön, amíg a zár nyitási ideje érvényes (sípolás = millis (); // Állítsa be a zümmögés időváltozóját a vezérlő idejére)))

Elegendő cikksorozaton mentünk keresztül a hozzáférési rendszerünk felépítéséről, ezért mindent hardveresen összeszerelünk, és teszteljük a kód működését.


Rövid videót készítettem, ahol ellenőrizni fogjuk készülékünk fő funkcióit.

Ebben a cikkben elmagyarázzuk, mi a zümmögő, annak hatóköre és hogyan kell csatlakoztatni.

Boozer, zümmögő, piezoelektromos kibocsátó, hangjelző vagy valami más? - ennek a kis csikorgó fertőzésnek rengeteg neve van, ami azt jelzi, hogy valami nem túl jó történt. Milyen gyakran gyűlöltem ezt az undok csikorgó zümmögést. Azt hiszem, nem vagyok egyedül ezzel a vágyammal. Biztosan hallott egy rendkívül kellemetlen kellemes hangot, amelyet a rendszer tévesen adott (vagy nem) az áruház bejáratánál / kijáratánál. Egyetért azzal, hogy ez egy rendkívül kellemetlen hang. Egy további cikkben mindegyiket zümmerként fogom emlegetni, ahogy ezt a nevet szoktam.

A Buzzer egy olyan eszköz, amely lehetővé teszi egy bizonyos frekvenciájú hang létrehozását. Általában a frekvenciatartomány 1 - 10 kHz tartományban van, és ha hangos zümmögővel találkozik, akkor jellegzetes hang hallható: "piiiiiiip".

Ő a legtöbb egyszerű módon jól és messze hallott nyikorgást. Ez utóbbi hangjelző különösen jól működik, mivel a szokásos zümmögők hoznak létre hang hullámok, 30 cm-nél 85-90db csillapítási együtthatóval. Ennek eredményeképpen egy kis hangjelző elegendő egy kis hangárhoz.

Én személy szerint ezt a példányt kaptam (modell sl1i-12fsp):

Vele töltöttem az összes zümmögő tesztemet. Kiderült, hogy még a sikoltozó gyerekek tömegében is jól hallható, hiszen a jel magas frekvenciát tartalmaz, ami emberi hangban nem elég. Ez lehetővé teszi, hogy szinte mindig megmondja, működik -e vagy sem. Ha nincs gyerektömege, de van működő ventilátora / motorja vagy valami hasonló, akkor ne habozzon, nagyon jól fogja hallani.

Zümmögő csatlakozás.

Az áramkörhöz való csatlakoztatás elemként vagy diódaként történik. A készüléket "+" és "-" jelzi. Csatlakoztatjuk őket 3-20 voltos tápfeszültséghez, és örülünk a kapott hangnak. A zümmögő enyhe tehetetlenséggel rendelkezik, és az áramellátás kikapcsolása után egy ideig szólni fog. Ezért nem lehet hangot szimulálni rajta, de riasztójelként kiderül, hogy szüksége van rá.

Általában bipoláris tranzisztoros erősítővel vezérlik közös kibocsátó... Ez lehetővé teszi, hogy egyenletes polifonikus hangot adjon ki az MC -ből (ARDUINO / SMT32 / MSP430). De szem előtt kell tartani, hogy vannak zümmerek beépített generátorral. Szaggatottan nyikorognak, bizonyos gyakorisággal. Ez lehetővé teszi különböző zümmerek használatát, amelyek különböző eseményeket jeleznek. Többe kerülnek, de ha mikrovezérlő nélkül épít valamit, akkor ez nagyszerű trükk a fülével.

A zümmögő hatókörei.

Javaslom a jelentkezést ezt a sémát a következő irányokban:

1) biztonsági rendszerek

2) érzékelők, amelyek bármilyen hatást jeleznek.

3) háztartási készülékek (például mikrohullámú sütőkben, ahol a munka befejezéséről a csengő ad jelzést).

4) játékok.

5) minden olyan eszközben, ahol hangos értesítésre van szükség.

Személyes használati tapasztalat.

Láttam különböző kialakítású és jellemzőjű zümmögőket. Mindig nagyon stabilan sikoltoztak, és gyakorlatilag nem igényeltek drága audió erősítőt. Sok fejlesztő nagyon szereti őket, de számos nehézséget azonosítottam a velük való munka során:

1) Rendkívül undorító hang gyakorlás közben. Természetesen, ha ennek a résznek a gyakorisága néhány naponta megtörténik, akkor semmi más, de a tesztek során folyamatosan sípol, ami elkerülhetetlenül befolyásolja a fogékonyságát és a munkakedvét.

2) Megfelelő energiafogyasztás a hordható elektronika számára. Arra biztosan nem érdemes fogadni, hogy ilyet visz magával.

3) Elég tehetetlenség. Egy időben sok időt töltöttem egy midi billentyűzet elkészítésével egy olcsó zümmögő alapján. Minden erőfeszítésem után a jó hangvisszaadás nem működött, de a régi SEGA zenéjét helyreállították, aminek ügyfelem rendkívül örült.