- Modul snímača vibrácií SW-420
- Súčasti sú povinné
- Schéma zapojenia senzora vibrácií Arduino
- Programovanie vibračného senzora Arduino Uno
- Testovanie obvodu snímača vibrácií Arduino
Existuje niekoľko kritických strojov alebo drahých zariadení, ktoré sú poškodené v dôsledku vibrácií. V takom prípade je potrebný vibračný snímač na zistenie, či stroj alebo zariadenie produkuje vibrácie alebo nie. Identifikácia objektu, ktorý neustále vibruje, nie je zložitá práca, ak sa na detekciu vibrácií použije správny senzor. Existuje niekoľko typov snímačov vibráciídostupné na trhu, ktoré dokážu detekovať vibrácie pomocou snímania zrýchlenia alebo rýchlosti a môžu poskytnúť vynikajúci výsledok. Takéto senzory sú však pri použití akcelerometra príliš drahé. Akcelerometer je veľmi citlivý a dá sa s ním vyrobiť obvod detektora zemetrasenia. Existuje ale len málo vyhradených a lacných senzorov, ktoré sú schopné detekovať iba vibrácie, jedným z týchto senzorov je SW-420, ktorý prepojíme s rozhraním Arduino Uno.
V tomto projekte je teda základný modul senzora vibrácií prepojený s populárnym Arduino UNO a vždy, keď senzor vibrácií zaznamená akékoľvek vibrácie alebo trhnutie, začne blikať LED.
Modul snímača vibrácií SW-420
Jedná sa o vibračný modul SW-420, ktorý dokáže pracovať od 3,3 V do 5 V. Snímač používa komparátor LM393 na detekciu vibrácií presahujúcich prahový bod a na poskytovanie digitálnych údajov, Logic Low alebo Logic High, 0 alebo 1. Počas normálnej prevádzky poskytuje snímač Logic Low a keď sú detekované vibrácie, snímač poskytuje Logic High. V module sú k dispozícii tri periférie, dve LED, jedna pre stav napájania a druhá pre výstup snímača. Dodatočne je k dispozícii potenciometer, ktorým sa dá ďalej ovládať medzný bod vibrácií. V tomto projekte použijeme na napájanie modulu 5V.
Rovnaký snímač sme použili v systéme Anti-Theft Alert System pomocou mikrokontroléra ATmega8. Na detekciu náhlej nehody možno použiť aj snímač náklonu.
Súčasti sú povinné
- Arduino UNO
- Modul snímača vibrácií SW-420
- 5 mm LED (ľubovoľná farba)
- Jumper Wires (Hookup Wires)
- Kábel USB na nahrávanie programu
Schéma zapojenia senzora vibrácií Arduino
Schéma prepojenia senzora vibrácií s Arduino uno je uvedená nižšie.
LED je pripojená v kolíku D13. Modul je napájaný pomocou dostupného 5V pinu v Arduine. Zem a kolík 5V sa používajú na napájanie Arduina, zatiaľ čo kolík A5 sa používa na získanie údajov z vibračného senzora.
Obvod je skonštruovaný tak, že modul SW-420 a LED sú spojené s Arduino Uno.
Programovanie vibračného senzora Arduino Uno
Programovanie Arduino UNO na snímač vibrácií rozhrania nevyžaduje veľké úsilie, pretože na záver by sa mal monitorovať iba vstupný kolík. Kompletné kód a pracovné videá sú pripojené ku koncu.
Spočiatku sú zahrnuté hlavičkové súbory. Hlavička arduino je zahrnutá, pretože tento tutoriál bol napísaný v Eclipse IDE s rozšírením Arduino. Tento náčrt bude fungovať aj pre Arduino IDE a pri použití tohto náčrtu v Arduino IDE nie je potrebné uvádzať hlavičku.
#include
Tu sú definované dve makra pre ZAPNUTÉ a VYPNUTÉ.
#define ON 1 #define OFF 0
Nasledujúce tvrdenie sa používa na integráciu LED diód a senzora vibrácií. Snímač vibrácií je pripojený k vývodu A5. Používa sa tiež zabudovaná LED dióda, ktorá je priamo pripojená v doske k kolíku 13. 5 mm LED je tiež pripojená k kolíku 13.
/ * * Popis kolíka * / int vibration_Sensor = A5; int LED = 13;
Vyhlásia sa dve celé čísla, kde budú uložené súčasné a predchádzajúce výstupy snímačov, ktoré sa ďalej použijú na zistenie, či sa vibrácie vyskytujú alebo nie.
/ * * Priebeh programu Popis * / int present_condition = 0; int previous_condition = 0;
Rovnaký kolík, ktorý je deklarovaný ako periférne pripojenie, má nakonfigurovaný smer kolíkov. Pin snímača ako vstup a pin LED ako výstup.
/ * * Nastavenie režimu PIN * / void setup () { pinMode (vibration_Sensor, INPUT); pinMode (LED, VÝSTUP); }
Jedna funkcia je napísaná tak, aby dvakrát blikla led. Oneskorenie je možné nakonfigurovať nastavením hodnoty oneskorenia.
void led_blink (void) { digitalWrite (LED, ON); oneskorenie (250); digitalWrite (LED, VYPNUTÉ); oneskorenie (250); digitalWrite (LED, svieti); oneskorenie (250); digitalWrite (LED, VYPNUTÉ); oneskorenie (250); }
Vo funkcii slučky sa porovnáva súčasná a predchádzajúca podmienka. Ak tieto dva nie sú rovnaké, kontrolky začnú blikať, kým nebudú rovnaké. Pri spustení majú dve premenné hodnotu 0 a LED dióda zostáva vypnutá počas začiatku programu. Ak dôjde k nejakému virbraionu, premenná present_condition sa zmení na 1 a led začne blikať. Keď sa vibrácie zastavia, hodnota premennej „vaiable“ sa zmení na 0 a LED prestane blikať.
void loop () { previous_condition = present_condition; present_condition = digitalRead (A5); // Čítanie digitálnych údajov z kolíka A5 Arduina. if (previous_condition! = present_condition) { led_blink (); } else { digitalWrite (LED, VYPNUTÉ); } }
Týmto je programovanie arduino UNO s vibračným senzorom ukončené. Posledným krokom bude testovanie celého nastavenia.
Testovanie obvodu snímača vibrácií Arduino
Obvod nevyžaduje ďalšiu dosku. Môže sa jednoducho otestovať pomocou dosky Arduino UNO. LED dióda je monitorovaná pri náraze na snímač vibrácií alebo pri zmene stavu. Keď dôjde k vibráciám, LED dióda bude blikať pripojená k vývodu 13 Arduino UNO. Ak snímač vibrácií nefunguje, skontrolujte pripojenie a napájanie. Zabráňte voľnému spojeniu medzi snímačom a mikrokontrolérom.
Takto je možné prepojiť snímač vibrácií s Arduino UNO. Ak máte pochybnosti alebo návrhy, môžete sa k nám dostať prostredníctvom fóra alebo môžete komentovať nižšie.