- Tärinäanturimoduuli SW-420
- Tarvittavat komponentit
- Arduino tärinäanturin piirikaavio
- Arduino Uno -värähtelyanturin ohjelmointi
- Arduinon tärinäanturipiirin testaus
On olemassa useita kriittisiä koneita tai kalliita laitteita, jotka kärsivät vahingoista tärinän takia. Tällöin tarvitaan tärinäanturia, jotta voidaan selvittää, aiheuttaako kone tai laite tärinää. Jatkuvasti värisevän kohteen tunnistaminen ei ole hankala työ, jos värähtelyn havaitsemiseksi käytetään asianmukaista anturia. On olemassa useita erilaisia anturitmarkkinoilla, joka pystyy havaitsemaan tärinän tunnistamalla kiihtyvyyden tai nopeuden ja voisi tuottaa erinomaisen tuloksen. Tällaiset anturit ovat kuitenkin liian kalliita kiihtyvyysanturia käytettäessä. Kiihtyvyysmittari on erittäin herkkä, ja sitä voidaan käyttää maanjäristyksen ilmaisinpiirin tekemiseen. Mutta on olemassa vain vähän omistettuja ja halpoja antureita, jotka ovat käytettävissä vain tärinän havaitsemiseen, yksi tällainen tärinäanturi on SW-420, jonka aiomme liittää Arduino Unoon.
Joten tässä projektissa perusvärähtelyanturimoduuli on liitetty suosittuun Arduino UNO: een ja aina, kun tärinäanturi havaitsee tärinän tai ääliön, LED alkaa vilkkua.
Tärinäanturimoduuli SW-420
Tämä on SW-420-värähtelymoduuli, joka voi toimia välillä 3,3 V - 5 V. Anturi käyttää LM393-komparaattoria havaitsemaan tärinän kynnyspisteen yli ja toimittamaan digitaalista dataa, Logic Low tai Logic High, 0 tai 1. Normaalin toiminnan aikana anturi tuottaa Logic Low ja kun tärinä havaitaan, anturi tarjoaa Logic High. Moduulissa on saatavana kolme oheislaitetta, kaksi LEDiä, yksi virtatilaa ja toinen anturin ulostuloa varten. Lisäksi on saatavana potentiometri, jota voidaan edelleen käyttää värähtelyn kynnyspisteen ohjaamiseen. Tässä projektissa käytämme 5 V: n virtaa moduuliin.
Käytimme samaa anturia varkaudenesto hälytysjärjestelmässä ATmega8-mikrokontrolleria käyttäen. Myös kallistusanturia voidaan käyttää äkillisten onnettomuuksien havaitsemiseen.
Tarvittavat komponentit
- Arduino UNO
- SW-420 tärinäanturimoduuli
- 5 mm: n LED (mikä tahansa väri)
- Hyppääjät (liitäntäjohdot)
- USB-kaapeli ohjelman lataamista varten
Arduino tärinäanturin piirikaavio
Kaavio Tärinäanturin liittämisestä Arduino unoon on annettu alla.
LED on kytketty D13-napaan. Moduuli saa virtansa käyttämällä Arduinossa olevaa 5 V: n nastaa. Maadoitusta ja 5 V: n nastaa käytetään Arduinon virran kytkemiseen, kun taas A5-nastaa käytetään tietojen saamiseen tärinäanturista.
Piiri on rakennettu siten, että SW-420-moduuli ja LED on kytketty Arduino Unoon.
Arduino Uno -värähtelyanturin ohjelmointi
Arduino UNO: n ohjelmointi käyttöliittymän tärinäanturille ei vaadi paljon vaivaa, koska vain tulotappia tulisi valvoa johtopäätösten tekemiseksi. Koko koodi ja työskentelee videon kiinnitetään lopussa.
Aluksi otsikkotiedostot sisältyvät. Arduino-otsikko on mukana, koska tämä opetusohjelma on kirjoitettu Eclipse IDE: ssä Arduino-laajennuksella. Tämä luonnos toimii myös Arduino IDE: ssä, ja kun käytät tätä luonnosta Arduino IDE: ssä, otsikkoa ei tarvitse sisällyttää.
#sisältää
Tässä määritetään kaksi makroa PÄÄLLE ja POIS.
#define ON 1 #define OFF 0
Seuraavaa lauseketta käytetään LEDien ja värähtelyanturin integrointiin. Tärinäanturi on kytketty tapiin A5. Käytetään myös sisäänrakennettua LEDiä, joka on kytketty suoraan piirilevyyn tapiin 13. 5mm LED on kytketty myös tapiin 13.
/ * * Tapin kuvaus * / int tärinä_anturi = A5; int LED = 13;
Kaksi kokonaislukua ilmoitetaan paikkaan, jossa anturit esittävät lähdön ja edellisen lähdön tallennetaan, joita käytetään edelleen havaitsemaan tärinää vai ei.
/ * * Ohjelmavirta Kuvaus * / int present_condition = 0; int edellinen ehto = 0;
Sama nasta, joka on ilmoitettu oheisliitännäksi, nastojen suunta on konfiguroitu. Anturitappi tulona ja LED-tappi lähdönä.
/ * * Pin-tilan asetukset * / void-asetukset () { pinMode (tärinä_anturi, INPUT); pinMode (LED, OUTPUT); }
Yksi toiminto on kirjoitettu vilkkumaan lediä kahdesti. Viive voidaan määrittää viipymällä viive-arvo.
void led_blink (void) { digitalWrite (LED, PÄÄLLÄ); viive (250); digitalWrite (LED, OFF); viive (250); digitalWrite (LED, PÄÄLLÄ); viive (250); digitalWrite (LED, OFF); viive (250); }
Loop-toiminnossa verrataan nykyistä ja edellistä ehtoa. Jos nämä kaksi eivät ole samat, ledit alkavat vilkkua, kunnes molemmat ovat samat. Käynnistyksessä molemmat muuttujat pitävät 0 ja led pysyy pois päältä ohjelman käynnistämisen aikana. Kun on jokin virbraion, present_condition muuttuja tulee 1 ja johti alkavat vilkkua. Ja kun värähtelyt pysähtyvät, molemmista muuttujista tulee 0 ja LED lakkaa vilkkumasta.
void loop () { edellinen_ehto = nykyinen_ehto; present_condition = digitalRead (A5); // Digitaalisten tietojen lukeminen Arduinon A5-nastasta. if (edellinen ehto ! = nykyinen ehto) { led_blink (); } else { digitalWrite (LED, OFF); } }
Tämä viimeistelee arduino UNO: n ohjelmoinnin tärinäanturilla. Viimeinen vaihe on koko asennuksen testaaminen.
Arduinon tärinäanturipiirin testaus
Piiri ei vaadi lisäleipälevyä. Se voidaan yksinkertaisesti testata Arduino UNO Boardilla. Lediä valvotaan, kun tärinäanturi osuu tai jos se muuttaa tilaansa. Led vilkkuu kytkettynä Arduino UNO: n nastaan 13, kun tärinää esiintyy. Jos tärinäanturi ei toimi, tarkista liitäntä ja virta. Vältä löysää yhteyttä anturin ja mikro-ohjaimen välillä.
Joten tärinäanturi voidaan liittää Arduino UNO: n kanssa. Jos sinulla on epäilyksiä tai ehdotuksia, voit ottaa yhteyttä meihin foorumin kautta tai voit myös kommentoida alla.