- Vibracijos jutiklio modulis SW-420
- Būtini komponentai
- „Arduino“ vibracijos jutiklio grandinės schema
- „Arduino Uno“ vibracijos jutiklio programavimas
- „Arduino“ vibracijos jutiklio grandinės testavimas
Yra keletas kritinių mašinų ar brangių įrenginių, kurie patiria žalą dėl vibracijos. Tokiu atveju norint nustatyti, ar mašina ar įranga sukelia vibraciją, reikalingas vibracijos jutiklis. Nuolat vibruojančio objekto identifikavimas nėra keblus darbas, jei vibracijai nustatyti naudojamas tinkamas jutiklis. Yra keletas vibracijos jutiklių tipųrinkoje, kuri gali nustatyti vibraciją jutdama pagreitį ar greitį ir galėtų suteikti puikų rezultatą. Tačiau tokie jutikliai yra per brangūs ten, kur naudojamas akselerometras. Akselerometras yra labai jautrus ir gali būti naudojamas žemės drebėjimo detektoriaus grandinei sukurti. Tačiau yra nedaug specialių ir pigių jutiklių, galinčių aptikti tik vibracijas. Vienas iš tokių vibracijos jutiklių yra SW-420, kurį mes sąveikausime su „Arduino Uno“.
Taigi šiame projekte pagrindinis vibracijos jutiklio modulis yra susietas su populiariu „Arduino UNO“ ir kai vibracijos jutiklis aptiks vibraciją ar trūkčiojimą, šviesos diodas pradės mirksėti.
Vibracijos jutiklio modulis SW-420
Tai SW-420 vibracijos modulis, galintis veikti nuo 3,3 V iki 5 V. Jutiklis naudoja LM393 komparatorių, kad aptiktų vibraciją per slenkstinį tašką ir pateiktų skaitmeninius duomenis, „Logic Low“ arba „Logic High“, 0 arba 1. Normalaus darbo metu jutiklis teikia „Logic Low“, o aptikus vibraciją, jutiklis teikia „Logic High“. Modulyje yra trys periferiniai įrenginiai, du šviesos diodai, vienas skirtas maitinimo būsenai, kitas jutiklio išėjimui. Be to, yra potenciometras, kuris gali būti toliau naudojamas vibracijos slenksčio taškui valdyti. Šiame projekte modulio maitinimui naudosime 5 V įtampą.
Mes naudojome tą patį jutiklį apsaugos nuo vagystės perspėjimo sistemoje, naudodami mikrovaldiklį ATmega8. Taip pat pasvirimo jutiklis gali būti naudojamas staigiai avarijai aptikti.
Būtini komponentai
- „Arduino UNO“
- SW-420 vibracijos jutiklio modulis
- 5 mm LED (bet kokios spalvos)
- „Jumper“ laidai (prijungimo laidai)
- USB laidas programos įkėlimui
„Arduino“ vibracijos jutiklio grandinės schema
Žemiau pateikiama vibracijos jutiklio sąsajos su „Arduino uno “ schema.
Šviesos diodas yra prijungtas prie D13 kaiščio. Modulis maitinamas naudojant „Arduino“ turimą 5 V kontaktą. Žemė ir 5 V kaištis naudojami „Arduino“ įjungti, o A5 kaištis naudojamas duomenims gauti iš vibracijos jutiklio.
Grandinė sukonstruota ten, kur SW-420 modulis ir LED yra prijungti prie „Arduino Uno“.
„Arduino Uno“ vibracijos jutiklio programavimas
„Arduino UNO“ programavimas sąsajos vibracijos jutikliui nereikalauja daug pastangų, nes norint padaryti išvadą reikia stebėti tik įvesties kaištį. Visą kodą ir darbo vaizdo pridedami pabaigoje.
Iš pradžių įtraukiami antraštės failai. „Arduino“ antraštė yra įtraukta, nes ši pamoka buvo parašyta „Eclipse IDE“ su „Arduino“ plėtiniu. Šis eskizas taip pat veiks „Arduino IDE“ ir, naudojant šį eskizą „Arduino IDE“, antraštės įtraukti nereikia.
# įtraukti
Čia yra du įjungimo ir išjungimo makrokomandas.
#define ON 1 #define OFF 0
Žemiau pateiktas teiginys naudojamas integruoti šviesos diodus ir vibracijos jutiklį. Vibracijos jutiklis prijungtas prie kaiščio A5. Taip pat naudojamas įmontuotas šviesos diodas, kuris plokšte tiesiogiai sujungtas su kaiščiu 13. 5 mm šviesos diodas taip pat prijungtas prie kaiščio 13.
/ * * Kaiščio aprašymas * / int vibration_Sensor = A5; int LED = 13;
Yra du sveiki skaičiai, kur jutikliai pateikia išvestį ir ankstesnę išvestį, kuri bus toliau naudojama norint nustatyti, ar vyksta vibracija, ar ne.
/ * * Programos eigos aprašymas * / int present_condition = 0; int ankstesnis_sąlyga = 0;
Konfigūruojama ta pati kaištis, kuri deklaruojama kaip periferinė jungtis, kaiščių kryptis. Jutiklio kaištis kaip įvestis ir LED kaištis kaip išėjimas.
/ * * PIN režimo sąranka * / void sąranka () { pinMode (vibration_Sensor, INPUT); pinMode (LED, OUTPUT); }
Parašyta viena funkcija, kad du kartus mirksėtų lempa. Vėlavimą galima sukonfigūruoti suskirstant vėlavimo vertę.
void led_blink (void) { digitalWrite (LED, ON); vėlavimas (250); digitalWrite (LED, OFF); vėlavimas (250); digitalWrite (LED, ON); vėlavimas (250); digitalWrite (LED, OFF); vėlavimas (250); }
Pagal ciklo funkciją lyginama esama ir ankstesnė būsena. Jei šie du nėra vienodi, šviesos diodai pradeda mirksėti, kol abu nesutampa. Paleidžiant du kintamieji turi 0, o paleidžiant programą, indikatorius lieka išjungtas. Kai yra tam tikras virbraionas, present_condition kintamasis tampa 1, o lemputė pradeda mirksėti. Ir vėl, kai vibracija sustos, abu rodikliai tampa 0, o šviesos diodas nustoja mirksėti.
void loop () { ankstesnis_sąlyga = esamas_sąlyga; dabartinė sąlyga = digitalRead (A5); // Skaitmeninių duomenų skaitymas iš „Arduino“ A5 kaiščio. jei (ankstesnė sąlyga! = esama sąlyga) { led_blink (); } else { digitalWrite (LED, OFF); } }
Tai baigia programuoti „arduino UNO“ su vibracijos jutikliu. Paskutinis žingsnis bus visos sąrankos testavimas.
„Arduino“ vibracijos jutiklio grandinės testavimas
Grandinei nereikia papildomos lentos. Tai galima paprasčiausiai išbandyti naudojant „Arduino UNO Board“. Šviesos diodas yra stebimas, kai pataikomas vibracijos jutiklis arba jei jis keičia savo būseną. Šviesos lemputė mirksi sujungta su „Arduino UNO“ 13 kaiščiu, kai yra vibracijų. Jei vibracijos jutiklis neveikia, patikrinkite jungtį ir maitinimą. Venkite laisvo ryšio tarp jutiklio ir mikrovaldiklio.
Taigi vibracijos jutiklį galima susieti su „Arduino UNO“. Jei turite kokių nors abejonių ar pasiūlymų, galite susisiekti su mumis per forumą arba taip pat galite pakomentuoti toliau.