- Vibrācijas sensora modulis SW-420
- Nepieciešamās sastāvdaļas
- Arduino vibrācijas sensora shēmas shēma
- Arduino Uno vibrācijas sensoru programmēšana
- Arduino vibrācijas sensora shēmas pārbaude
Ir vairākas kritiskas mašīnas vai dārgas iekārtas, kurām vibrāciju dēļ rodas bojājumi. Šādā gadījumā ir nepieciešams vibrācijas sensors, lai uzzinātu, vai mašīna vai aprīkojums rada vibrācijas. Nepārtraukti vibrējoša objekta identificēšana nav grūts darbs, ja vibrācijas noteikšanai tiek izmantots atbilstošs sensors. Ir vairāki vibrācijas sensoru veidikas var noteikt vibrāciju, uztverot paātrinājumu vai ātrumu, un varētu nodrošināt izcilu rezultātu. Tomēr šādi sensori ir pārāk dārgi, ja tiek izmantots akselerometrs. Akselerometrs ir ļoti jutīgs, un to var izmantot, lai izveidotu zemestrīces detektora shēmu. Bet, lai noteiktu tikai vibrācijas, ir pieejami arī daži īpaši lēti sensori. Viens šāds vibrācijas sensors ir SW-420, kuru mēs saskarsimies ar Arduino Uno.
Tātad šajā projektā pamata vibrācijas sensora modulis ir saskarnē ar populāro Arduino UNO, un ikreiz, kad vibrācijas sensors konstatē vibrāciju vai paraut, LED sāks mirgot.
Vibrācijas sensora modulis SW-420
Šis ir SW-420 vibrācijas modulis, kas var darboties no 3,3 V līdz 5 V. Sensors izmanto LM393 salīdzinātāju, lai noteiktu vibrāciju virs sliekšņa un nodrošinātu digitālos datus, Logic Low vai Logic High, 0 vai 1. Normālas darbības laikā sensors nodrošina Logic Low un, kad vibrācija tiek atklāta, sensors nodrošina Logic High. Modulī ir pieejamas trīs perifērijas ierīces, divas gaismas diodes, viena barošanas stāvoklim un otra sensora izejai. Turklāt ir pieejams potenciometrs, ko var tālāk izmantot, lai kontrolētu vibrācijas sliekšņa punktu. Šajā projektā moduļa darbināšanai izmantosim 5V.
Mēs izmantojām to pašu sensoru pretaizdzīšanas trauksmes sistēmā, izmantojot ATmega8 mikrokontrolleru. Pēkšņas avārijas noteikšanai var izmantot arī slīpuma sensoru.
Nepieciešamās sastāvdaļas
- Arduino UNO
- SW-420 vibrācijas sensora modulis
- 5 mm LED (jebkura krāsa)
- Džemperu vadi (pievienošanas vadi)
- USB kabelis programmas augšupielādei
Arduino vibrācijas sensora shēmas shēma
Vibrācijas sensora saskarnes ar Arduino uno shēma ir dota zemāk.
Gaismas diode ir pievienota D13 tapā. Modulis tiek darbināts, izmantojot Arduino pieejamo 5 V kontaktu. Zemi un 5V tapu izmanto, lai darbinātu Arduino, savukārt A5 tapu izmanto, lai iegūtu datus no vibrācijas sensora.
Kontūra ir izveidota tā, ka SW-420 modulis un LED ir savienoti ar Arduino Uno.
Arduino Uno vibrācijas sensoru programmēšana
Arduino UNO programmēšana interfeisa vibrācijas sensoram neprasa daudz pūļu, jo, lai izdarītu secinājumus, jāuzrauga tikai ievades tapa. Pilnīga kods un strādā video ir pievienoti beigās.
Sākumā tiek iekļauti galvenes faili. Arduino galvene ir iekļauta, jo šī apmācība tika uzrakstīta Eclipse IDE ar paplašinājumu Arduino. Šī skice darbosies arī Arduino IDE un, izmantojot šo skici Arduino IDE, nav nepieciešams iekļaut galveni.
# iekļaut
Šeit ir definēti divi makro ieslēgšanai un izslēgšanai.
#define ON 1 #define OFF 0
Šis paziņojums tiek izmantots, lai integrētu gaismas diodes un vibrācijas sensoru. Vibrācijas sensors ir savienots ar tapu A5. Tiek izmantots arī iebūvētais LED, kas ir tieši savienots dēlī ar tapu 13. 5 mm LED ir savienots arī ar tapu 13.
/ * * Tapas apraksts * / int vibration_Sensor = A5; int LED = 13;
Divi veseli skaitļi tiek deklarēti vietā, kur sensori nodrošina izvadi un iepriekšējo izvadi, un tos turpmāk izmantos, lai noteiktu, vai vibrācija notiek vai ne.
/ * * Programmas plūsmas apraksts * / int present_condition = 0; int iepriekšējais_nosacījums = 0;
Konfigurēts tapu virziens, kas ir deklarēts kā perifērijas savienojums. Sensora tapa kā ievade un LED tapa kā izeja.
/ * * Piespraudes režīma iestatīšana * / void setup () { pinMode (vibration_Sensor, INPUT); pinMode (LED, OUTPUT); }
Viena funkcija ir uzrakstīta, lai divreiz mirgot led. Aizkavēšanos var konfigurēt, aizkavējot aizkaves vērtību.
void led_blink (void) { digitalWrite (LED, ON); kavēšanās (250); digitalWrite (LED, OFF); kavēšanās (250); digitalWrite (LED, ON); kavēšanās (250); digitalWrite (LED, OFF); kavēšanās (250); }
Cilpas funkcijā tiek salīdzināts pašreizējais un iepriekšējais stāvoklis. Ja šie divi nav vienādi, gaismas diode sāk mirgot, līdz abi ir vienādi. Sākot, abiem mainīgajiem ir 0, un programmas palaišanas laikā indikators paliek izslēgts. Kad ir kāds jaundzimušais, mainīgais “ present_condition” kļūst par 1 un sāk mirgot. Un atkal, kad vibrācija apstājas, abi mainīgie kļūst par 0 un gaismas diode vairs nemirgo.
void loop () { iepriekšējais_nosacījums = esošais_nosacījums; pašreizējais_nosacījums = digitalRead (A5); // Digitālo datu lasīšana no Arduino A5 tapas. ja (iepriekšējais_nosacījums! = esošais_nosacījums) { led_blink (); } else { digitalWrite (LED, OFF); } }
Arduino UNO tiek pabeigta programmēšana ar vibrācijas sensoru. Pēdējais solis būs visas iestatīšanas pārbaude.
Arduino vibrācijas sensora shēmas pārbaude
Shēmai nav nepieciešami papildu paneļi. To var vienkārši pārbaudīt, izmantojot Arduino UNO padomi. Led tiek uzraudzīts, kad tiek iedarbināts vibrācijas sensors vai ja tas maina savu stāvokli. Led mirgos savienots ar Arduino UNO 13. kontaktu, ja ir dažas vibrācijas. Ja vibrācijas sensors nedarbojas, lūdzu, pārbaudiet savienojumu un strāvu. Izvairieties no vaļīga savienojuma starp sensoru un mikrokontrolleru.
Tātad šādi var sasaistīt vibrācijas sensoru ar Arduino UNO. Ja jums ir kādas šaubas vai ieteikumi, varat sazināties ar mums, izmantojot forumu, vai arī varat komentēt zemāk.