- Modul senzorja vibracij SW-420
- Potrebne komponente
- Shema vezja senzorja vibracij Arduino
- Programiranje senzorjev vibracij Arduino Uno
- Testiranje vezja senzorja vibracij Arduino
Obstaja več kritičnih strojev ali drage opreme, ki se poškodujejo zaradi vibracij. V takem primeru mora senzor vibracij ugotoviti, ali stroj ali oprema proizvaja vibracije ali ne. Prepoznavanje predmeta, ki neprestano vibrira, ni zapleteno delo, če se za zaznavanje vibracij uporablja ustrezen senzor. Obstaja več vrst senzorjev vibracijna voljo na trgu, ki lahko zazna vibracije, ki zaznavajo pospešek ali hitrost, in lahko zagotovi odlične rezultate. Vendar so takšni senzorji predragi tam, kjer se uporablja merilnik pospeška. Merilec pospeška je zelo občutljiv in se lahko uporablja za izdelavo vezja detektorja potresa. Obstaja pa tudi nekaj namenskih in poceni senzorjev, ki zaznavajo samo vibracije, en tak senzor vibracij je SW-420, ki ga bomo povezali z Arduino Uno.
Tako je v tem projektu osnovni modul senzorja vibracij povezan s priljubljenim Arduino UNO in vsakič, ko senzor vibracij zazna kakršne koli vibracije ali sunke, začne LED utripati.
Modul senzorja vibracij SW-420
To je vibracijski modul SW-420, ki lahko deluje od 3,3 V do 5 V. Senzor uporablja primerjalnik LM393 za zaznavanje vibracij čez mejno točko in zagotavlja digitalne podatke, Logic Low ali Logic High, 0 ali 1. Med običajnim delovanjem senzor zagotavlja Logic Low in ko zazna vibracije, senzor zagotavlja Logic High. V modulu so na voljo tri zunanje naprave, dve LED, ena za stanje napajanja in druga za izhod senzorja. Poleg tega je na voljo potenciometer, ki se lahko nadalje uporablja za nadzor mejne točke vibracij. V tem projektu bomo za napajanje modula uporabili 5V.
Isti senzor smo uporabili v sistemu za zaščito pred krajo z mikrokrmilnikom ATmega8. Za zaznavanje nenadne nesreče lahko uporabite tudi senzor nagiba.
Potrebne komponente
- Arduino UNO
- SW-420 modul senzorja vibracij
- 5 mm LED (poljubna barva)
- Jumper žice (priključne žice)
- USB kabel za nalaganje programa
Shema vezja senzorja vibracij Arduino
Shema povezave senzorja vibracij z Arduino uno je podana spodaj.
LED je priključen na zatič D13. Modul se napaja z razpoložljivim 5V zatičem v Arduinu. Ground in 5V zatič se uporabljata za napajanje Arduina, medtem ko se zatič A5 uporablja za pridobivanje podatkov s senzorja vibracij.
Vezje je izdelano tam, kjer sta modul SW-420 in LED povezana z Arduino Uno.
Programiranje senzorjev vibracij Arduino Uno
Programiranje Arduino UNO za vmesnik senzorja vibracij ne zahteva veliko napora, saj je za zaključek treba nadzorovati le vhodni zatič. Na koncu sta priložena celotna koda in delovni video.
Sprva so vključene datoteke glave. Glava arduino je vključena, ker je bila ta vadnica napisana v Eclipse IDE z razširitvijo Arduino. Ta skica bo delovala tudi za Arduino IDE in med uporabo te skice v Arduino IDE ni treba vključiti glave.
#include
Tu sta opredeljena dva makra za VKLOP in IZKLOP.
#define ON 1 #define OFF 0
Spodnja izjava se uporablja za integracijo LED in senzorja vibracij. Senzor vibracij je priključen na zatič A5. Uporablja se tudi vgrajena LED, ki je v plošči neposredno priključena na zatič 13. Na zatič 13 je priključena tudi 5 mm LED.
/ * * Opis zatiča * / int vibration_Sensor = A5; int LED = 13;
Deklarirana sta dve celi števili, kjer se shranijo sedanji in prejšnji izhodni senzorji, ki bodo nadalje uporabljeni za zaznavanje, ali se vibracije dogajajo ali ne.
/ * * Potek programa Opis * / int present_condition = 0; int prejšnji_pogoj = 0;
Konfiguriran je isti zatič, ki je razglašen za zunanjo povezavo, smer zatičev. Zatič senzorja kot vhod in zatič LED kot izhod.
/ * * Nastavitev načina pin * / void setup () { pinMode (vibration_Sensor, INPUT); pinMode (LED, IZHOD); }
Ena funkcija je napisana tako, da dvakrat utripa led. Zamudo lahko nastavite s spreminjanjem vrednosti zakasnitve.
void led_blink (void) { digitalWrite (LED, ON); zamuda (250); digitalWrite (LED, IZKLOP); zamuda (250); digitalWrite (LED, VKLOP); zamuda (250); digitalWrite (LED, IZKLOP); zamuda (250); }
V funkciji zanke se primerja sedanje in prejšnje stanje. Če ti dve nista enaki, začneta LED utripati, dokler obe ne postaneta enaki. Pri zagonu imata dve spremenljivki 0 in led med začetkom programa ostane izključen. Ko je nekaj virbraiona, spremenljivka current_condition postane 1 in led začne utripati. In ko se vibracije ustavijo, spremenljivke postanejo 0 in LED neha utripati.
void loop () { prejšnji_pogoj = sedanji_pogoj; sedanji_pogoj = digitalRead (A5); // Branje digitalnih podatkov z A5 Pin Arduino. če (prejšnji_pogoj! = sedanji_pogoj) { led_blink (); } else { digitalWrite (LED, IZKLOP); } }
S tem se programiranje arduino UNO konča s senzorjem vibracij. Zadnji korak bo preizkus celotne namestitve.
Testiranje vezja senzorja vibracij Arduino
Vezje ne zahteva dodatne plošče. Preprosto ga je mogoče preizkusiti z uporabo plošče Arduino UNO. LED se nadzoruje, ko je vibrirni senzor zadet ali če spremeni svoje stanje. Pri nekaterih vibracijah bo led utripal, povezan s pinom 13 Arduino UNO. Če senzor vibracij ne deluje, preverite povezavo in moč. Izogibajte se ohlapni povezavi med senzorjem in mikrokrmilnikom.
Tako je mogoče senzor vibracij povezati z Arduino UNO. Če imate kakršen koli dvom ali predlog, nas lahko kontaktirate prek foruma ali pa komentirate spodaj.