- SW-420 rezgésérzékelő modul
- Szükséges alkatrészek
- Arduino rezgésérzékelő áramkör diagramja
- Arduino Uno rezgésérzékelő programozása
- Az Arduino rezgésérzékelő áramkör tesztelése
Számos kritikus gép vagy drága berendezés létezik, amelyek a rezgések miatt károsodnak. Ilyen esetben rezgésérzékelőre van szükség annak megállapításához, hogy a gép vagy berendezés rezgéseket produkál-e vagy sem. A folyamatosan rezgő tárgy azonosítása nem bonyolult feladat, ha a megfelelő érzékelőt használják a rezgés érzékelésére. Többféle rezgésérzékelő létezikelérhető a piacon, amely gyorsulást vagy sebességet érzékelve képes detektálni a rezgést, és kiváló eredményt hozhat. Az ilyen érzékelők azonban túl drágák, ha gyorsulásmérőt használnak. A gyorsulásmérő nagyon érzékeny és felhasználható földrengés-érzékelő áramkör előállítására. De kevés dedikált és olcsó érzékelő áll rendelkezésre csak a rezgések észlelésére, az egyik ilyen rezgésérzékelő az SW-420, amelyet az Arduino Uno-val fogunk összekapcsolni.
Tehát ebben a projektben egy alapvető rezgésérzékelő modul kapcsolódik a népszerű Arduino UNO-hoz, és amikor a rezgésérzékelő rezgést vagy rángást észlel, a LED villogni kezd.
SW-420 rezgésérzékelő modul
Ez egy SW-420 rezgésmodul, amely 3,3 V-tól 5 V-ig működhet. Az érzékelő az LM393 komparátorral érzékeli a rezgést egy küszöbpont felett, és digitális adatokat szolgáltat: Logic Low vagy Logic High, 0 vagy 1. Normál működés esetén az érzékelő Logic Low szolgáltat, és amikor a rezgést észleli, az érzékelő Logic High értéket nyújt. A modulban három periféria áll rendelkezésre, két LED, az egyik a Power állapotra, a másik pedig az érzékelő kimenetére. Ezenkívül rendelkezésre áll egy potenciométer, amely tovább használható a rezgés küszöbpontjának szabályozására. Ebben a projektben 5 V-ot fogunk használni a modul táplálásához.
Ugyanezt az érzékelőt használtuk a lopásgátló riasztórendszerben az ATmega8 mikrovezérlő használatával. Dőlésérzékelővel is fel lehet használni a hirtelen balesetek felderítését.
Szükséges alkatrészek
- Arduino UNO
- SW-420 rezgésérzékelő modul
- 5 mm-es LED (bármilyen színű)
- Jumper huzalok (összekapcsoló vezetékek)
- USB kábel a program feltöltéséhez
Arduino rezgésérzékelő áramkör diagramja
A rezgésérzékelő és az Arduino uno összekapcsolásának vázlata az alábbiakban látható.
A LED a D13 tűben csatlakozik. A modult az Arduino elérhető 5 V-os tűje használja. A földet és az 5 V-os tűt használják az Arduino bekapcsolására, míg az A5-ös tűvel az adatokat a rezgésérzékelőből szerzik be.
Az áramkör úgy van kialakítva, hogy az SW-420 modul és a LED az Arduino Uno-val legyen összekötve.
Arduino Uno rezgésérzékelő programozása
Az Arduino UNO interfész rezgésérzékelőre történő programozása nem igényel nagy erőfeszítést, mivel a következtetéshez csak a bemeneti tűt kell figyelni. A teljes kódot és a működő videót a végén csatoltuk.
Kezdetben a fejlécfájlok is szerepelnek benne. Az arduino fejléc benne van, mivel ez az oktatóanyag Eclipse IDE-ben íródott Arduino kiterjesztéssel. Ez a vázlat az Arduino IDE esetében is működni fog, és miközben ezt a vázlatot használja az Arduino IDE alkalmazásban, nincs szükség fejléc beillesztésére.
#include
Itt két makrót határozunk meg BE és KI állapotra.
#define ON 1 #define OFF 0
Az alábbi utasítás a LED-ek és a rezgésérzékelő integrálására szolgál. A rezgésérzékelő az A5 tűhöz csatlakozik. A beépített LED-et is használják, amely közvetlenül csatlakozik a táblán a 13 csaphoz. Az 5 mm-es LED szintén a 13 csaphoz van csatlakoztatva.
/ * * Csap leírás * / int vibration_Sensor = A5; int LED = 13;
Két egész számot adunk meg, ahol az érzékelők jelenítik meg a kimenetet és az előző kimenetet tárolják, amelyeket tovább fognak használni annak detektálására, hogy a vibráció történik-e vagy sem.
/ * * Programfolyamat Leírás * / int present_condition = 0; int előző_feltétel = 0;
Ugyanaz a tű, amelyet a perifériás csatlakozásként jelentenek be, a csapok iránya konfigurálva van. Az érzékelő tüske bemenetként és a LED tüske kimenetként.
/ * * Pin mód beállítása * / void setup () { pinMode (rezgés_érzékelő, INPUT); pinMode (LED, OUTPUT); }
Az egyik függvény azt írja, hogy kétszer villogjon a led. A késleltetés konfigurálható a késleltetési érték feltörésével.
void led_blink (void) { digitalWrite (LED, BE); késés (250); digitalWrite (LED, KI); késés (250); digitalWrite (LED, BE); késés (250); digitalWrite (LED, KI); késés (250); }
A ciklusfüggvényben összehasonlítjuk a jelenlegi és a korábbi állapotot. Ha ez a kettő nem azonos, akkor a ledek villogni kezdenek, amíg mindkettő meg nem egyezik. Indításkor a két változó 0-t tart, és a led nem világít a program indításakor. Ha van némi virbraion, a present_condition változó 1 lesz és a led villogni kezd. És amikor a rezgés leáll, mindkét változó 0-ra vált, és a LED nem villog.
void loop () { előző_feltétel = jelenlegi_feltétel; jelen_feltétel = digitalRead (A5); // Digitális adatok olvasása az Arduino A5 tűjéről. if (előző_feltétel! = jelenlegi_feltétel) { led_blink (); } else { digitalWrite (LED, KI); } }
Ezzel befejeződik az arduino UNO rezgésérzékelővel történő programozása. Az utolsó lépés a teljes beállítás tesztelése lesz.
Az Arduino rezgésérzékelő áramkör tesztelése
Az áramkör nem igényel további panelt. Egyszerűen tesztelhető az Arduino UNO Board segítségével. A ledet figyeljük, ha a rezgésérzékelőt eltaláljuk, vagy ha megváltoztatja az állapotát. A led villog az Arduino UNO 13. érintkezőjéhez csatlakoztatva, ha van némi rezgés. Ha a rezgésérzékelő nem működik, ellenőrizze a csatlakozást és az áramellátást. Kerülje az érzékelő és a mikrovezérlő közötti laza kapcsolatot.
Tehát így lehet egy rezgésérzékelőt összekapcsolni az Arduino UNO-val. Ha bármilyen kétsége van vagy javaslata van, akkor a fórumon keresztül eljuthat hozzánk, vagy az alábbiakban is megjegyzést tehet.