- Vibrationssensormodul SW-420
- Komponenter, der kræves
- Arduino Vibrationssensor kredsløbsdiagram
- Arduino Uno vibrationssensorprogrammering
- Test af Arduino Vibration Sensor Circuit
Der er flere kritiske maskiner eller dyre udstyr, der lider under skader på grund af vibrationer. I et sådant tilfælde kræves en vibrationssensor for at finde ud af, om maskinen eller udstyret producerer vibrationer eller ej. At identificere det objekt, der kontinuerligt vibrerer, er ikke et besværligt job, hvis den rigtige sensor bruges til at registrere vibrationerne. Der er flere typer vibrationssensorertilgængelig på markedet, som kan registrere vibrationer ved at registrere acceleration eller hastighed og kunne give et fremragende resultat. Sådanne sensorer er dog for dyre, hvor accelerometeret bruges. Accelerometer er meget følsomt og kan bruges til at skabe jordskælvdetektor kredsløb. Men der er kun få dedikerede og billige sensorer er også tilgængelige til kun at detektere vibrationer, en sådan vibrationssensor er SW-420, som vi vil interface med Arduino Uno.
Så i dette projekt er et grundlæggende vibrationssensormodul grænseflade med den populære Arduino UNO, og når vibrationssensoren registrerer vibrationer eller ryk, begynder en LED at blinke.
Vibrationssensormodul SW-420
Dette er et SW-420 vibrationsmodul, som kan arbejde fra 3,3 V til 5 V. Sensoren bruger LM393-komparator til at registrere vibration over et tærskelpunkt og levere digitale data, Logisk lav eller Logisk høj, 0 eller 1. Under normal drift giver sensoren Logisk lav, og når vibrationen detekteres, giver sensoren Logik høj. Der er tre eksterne enheder til rådighed i modulet, to lysdioder, en til strømtilstand og en anden til sensorens output. Derudover er der et potentiometer til rådighed, som yderligere kan bruges til at kontrollere vibrationens tærskelpunkt. I dette projekt bruger vi 5V til at drive modulet.
Vi brugte den samme sensor i Anti-Theft Alert System ved hjælp af ATmega8 Microcontroller. Også en vippesensor kan bruges til at registrere pludselig ulykke.
Komponenter, der kræves
- Arduino UNO
- SW-420 Vibrationssensormodul
- 5 mm LED (enhver farve)
- Jumper Wires (Hookup Wires)
- USB-kabel til upload af program
Arduino Vibrationssensor kredsløbsdiagram
Diagrammet til grænsefladen mellem vibrationssensor og Arduino uno er vist nedenfor.
LED'en er tilsluttet i D13-stiften. Modulet får strøm ved hjælp af den tilgængelige 5V-pin i Arduino. Jorden og 5V-stiften bruges til at tænde Arduino, mens A5-stiften bruges til at hente data fra vibrationssensoren.
Kredsløbet er konstrueret, hvor SW-420-modulet og LED'en er forbundet med Arduino Uno.
Arduino Uno vibrationssensorprogrammering
Programmering af Arduino UNO til interface vibrationssensor kræver ikke meget indsats, da kun inputpinden skal overvåges for at komme til konklusion. Den komplette kode og arbejdsvideo er vedhæftet i slutningen.
Oprindeligt er headerfiler inkluderet. Arduino-headeren er inkluderet, da denne tutorial blev skrevet i Eclipse IDE med Arduino-udvidelse. Denne skitse fungerer også for Arduino IDE, og mens du bruger denne skitse i Arduino IDE, er det ikke nødvendigt at medtage header.
#omfatte
Her er to makroer defineret til ON og OFF.
#define ON 1 #define OFF 0
Nedenstående erklæring bruges til at integrere lysdioderne og vibrationssensoren. Vibrationssensoren er tilsluttet pin A5. Den indbyggede LED bruges også, som er direkte forbundet i kortet til pin 13. 5 mm LED er også forbundet til pin 13.
/ * * Stiftbeskrivelse * / int vibration_Sensor = A5; int LED = 13;
To heltal erklæres, hvor sensorerne præsenterer output, og tidligere output vil blive gemt, hvilket yderligere bruges til at detektere, om vibrationen sker eller ej.
/ * * Beskrivelse af programflow * / int nuværende_betingelse = 0; int previous_condition = 0;
Den samme stift, der er erklæret som den perifere forbindelse, stifternes retning er konfigureret. Sensorstiften som input og LED-stiften som output.
/ * * Opsætning af pin-tilstand * / tomrumsopsætning () { pinMode (vibration_Sensor, INPUT); pinMode (LED, OUTPUT); }
En funktion er skrevet for at blinke LED to gange. Forsinkelsen kan konfigureres ved at chaging forsinkelsesværdien.
ugyldigt led_blink (ugyldigt) { digitalWrite (LED, ON); forsinkelse (250); digitalWrite (LED, OFF); forsinkelse (250); digitalWrite (LED, ON); forsinkelse (250); digitalWrite (LED, OFF); forsinkelse (250); }
I loop-funktionen sammenlignes nuværende og tidligere tilstand. Hvis disse to ikke er ens, begynder lysdioderne at blinke, indtil begge er ens. Ved start holder de to variabler 0, og ledet forbliver slukket under programstart. Når der er noget virbraion, bliver variablen present_condition 1 og ledet begynder at blinke. Og igen, når vibrationer stopper, bliver begge variabler 0 og LED holder op med at blinke.
ugyldig sløjfe () { previous_condition = nuværende_condition; nuværende tilstand = digitalRead (A5); // Læsning af digitale data fra A5 Pin i Arduino. hvis (tidligere_tilstand! = nuværende_tilstand) { led_blink (); } andet { digitalWrite (LED, OFF); } }
Dette afslutter programmeringen af arduino UNO med vibrationssensor. Det sidste trin vil være at teste hele opsætningen.
Test af Arduino Vibration Sensor Circuit
Kredsløbet kræver ikke yderligere brødbræt. Det kan simpelthen testes ved hjælp af Arduino UNO Board. LED'en overvåges, når vibrationssensoren rammes, eller hvis den ændrer sin tilstand. Lysdioden blinker forbundet til pin 13 i Arduino UNO, når der er nogle vibrationer. Hvis vibrationssensoren ikke fungerer, skal du kontrollere forbindelsen og strømmen. Undgå løs forbindelse mellem sensor og mikrocontroller.
Så dette er, hvordan en vibrationssensor kan interfaces med Arduino UNO. Hvis du er i tvivl eller forslag, kan du nå os via forum, eller du kan også kommentere nedenfor.