- Modul snímače vibrací SW-420
- Požadované komponenty
- Schéma zapojení snímače vibrací Arduino
- Programování snímače vibrací Arduino Uno
- Testování obvodu snímače vibrací Arduino
Existuje několik kritických strojů nebo drahých zařízení, která jsou poškozena v důsledku vibrací. V takovém případě je zapotřebí snímač vibrací, aby se zjistilo, zda stroj nebo zařízení produkuje vibrace či nikoli. Identifikace objektu, který neustále vibruje, není složitá práce, pokud je k detekci vibrací použit správný senzor. Existuje několik typů snímačů vibracídostupné na trhu, které dokážou detekovat vibrace snímající zrychlení nebo rychlost a mohou poskytnout vynikající výsledek. Tyto senzory jsou však při použití akcelerometru příliš drahé. Akcelerometr je velmi citlivý a lze jej použít k vytvoření obvodu detektoru zemětřesení. Existuje však několik vyhrazených a levných snímačů, které jsou k dispozici pouze k detekci vibrací, jedním z těchto snímačů vibrací je SW-420, který budeme propojovat s Arduino Uno.
V tomto projektu je tedy základní modul snímače vibrací propojen s populárním Arduino UNO a kdykoli snímač vibrací detekuje jakékoli vibrace nebo trhnutí, začne blikat LED.
Modul snímače vibrací SW-420
Jedná se o vibrační modul SW-420, který může pracovat od 3,3 V do 5 V. Senzor používá komparátor LM393 k detekci vibrací nad prahovým bodem a poskytuje digitální data, Logic Low nebo Logic High, 0 nebo 1. Během normálního provozu snímač poskytuje Logic Low a když jsou detekovány vibrace, snímač poskytuje Logic High. V modulu jsou k dispozici tři periferie, dvě LED diody, jedna pro stav napájení a druhá pro výstup snímače. Kromě toho je k dispozici potenciometr, kterým lze dále ovládat prahový bod vibrací. V tomto projektu použijeme k napájení modulu 5V.
Stejný senzor jsme použili v systému varování před krádeží pomocí mikrokontroléru ATmega8. K detekci náhlé nehody lze použít také snímač náklonu.
Požadované komponenty
- Arduino UNO
- Modul snímače vibrací SW-420
- 5 mm LED (libovolná barva)
- Jumper Wires (Hookup Wires)
- Kabel USB pro nahrávání programu
Schéma zapojení snímače vibrací Arduino
Schéma propojení snímače vibrací s Arduino uno je uvedeno níže.
LED je připojena v kolíku D13. Modul je napájen pomocí dostupného 5V pinu v Arduinu. Zem a 5V kolík se používají k napájení Arduina, zatímco kolík A5 se používá k získávání dat z vibračního snímače.
Obvod je konstruován tam, kde jsou modul SW-420 a LED propojeny s Arduino Uno.
Programování snímače vibrací Arduino Uno
Programování Arduino UNO na snímač vibrací rozhraní nevyžaduje velké úsilí, protože k závěru je třeba sledovat pouze vstupní kolík. Kompletní kód a pracovní videa jsou připojeny ke konci.
Zpočátku jsou zahrnuty soubory záhlaví. Záhlaví Arduino je zahrnuto, protože tento výukový program byl napsán v Eclipse IDE s rozšířením Arduino. Tento náčrt bude fungovat i pro Arduino IDE a při používání tohoto náčrtu v Arduino IDE není třeba uvádět záhlaví.
#zahrnout
Zde jsou definována dvě makra pro ZAPNUTO a VYPNUTO.
#define ON 1 #define OFF 0
Níže uvedené prohlášení se používá pro integraci LED diod a snímače vibrací. Snímač vibrací je připojen ke kolíku A5. Používá se také vestavěná LED, která je přímo připojena v desce ke kolíku 13. 5 mm LED je také připojena ke kolíku 13.
/ * * Popis kolíku * / int vibration_Sensor = A5; int LED = 13;
Jsou deklarována dvě celá čísla, kde budou uloženy aktuální výstup snímačů a předchozí výstup, který bude dále použit k detekci, zda vibrace probíhají nebo ne.
/ * * Průběh programu Popis * / int present_condition = 0; int previous_condition = 0;
Stejný kolík, který je deklarován jako periferní připojení, je nakonfigurován směr kolíků. Pin senzoru jako vstup a pin LED jako výstup.
/ * * Nastavení režimu Pin * / void setup () { pinMode (vibration_Sensor, INPUT); pinMode (LED, VÝSTUP); }
Jedna funkce je zapsána tak, aby dvakrát blikla LED. Zpoždění lze konfigurovat změnou hodnoty zpoždění.
void led_blink (void) { digitalWrite (LED, ON); zpoždění (250); digitalWrite (LED, VYPNUTO); zpoždění (250); digitalWrite (LED, svítí); zpoždění (250); digitalWrite (LED, VYPNUTO); zpoždění (250); }
Ve funkci smyčky je porovnána současná a předchozí podmínka. Pokud tyto dva nejsou stejné, kontrolky začnou blikat, dokud nebudou obě stejné. Při spouštění obě proměnné drží 0 a LED zůstává vypnutá během spuštění programu. Když je nějaký virbraion, proměnná present_condition se změní na 1 a led začne blikat. A znovu, když vibrace ustanou, se oba dostupné hodnoty změní na 0 a LED přestane blikat.
void loop () { previous_condition = present_condition; present_condition = digitalRead (A5); // Čtení digitálních dat z pinu A5 Arduina. if (previous_condition! = present_condition) { led_blink (); } else { digitalWrite (LED, VYPNUTO); } }
Tím je programování arduino UNO s vibračním senzorem ukončeno. Posledním krokem bude testování celého nastavení.
Testování obvodu snímače vibrací Arduino
Okruh nevyžaduje další prkénko. Lze jej jednoduše otestovat pomocí desky Arduino UNO. Kontrolka je monitorována, když je zasažen snímač vibrací nebo pokud změní svůj stav. Když dojde k vibracím, LED dioda bude blikat připojená ke kolíku 13 Arduino UNO. Pokud snímač vibrací nefunguje, zkontrolujte připojení a napájení. Zabraňte uvolnění spojení mezi senzorem a mikrokontrolérem.
Takto lze propojit snímač vibrací s Arduino UNO. Máte-li jakékoli pochybnosti nebo návrhy, můžete nás kontaktovat prostřednictvím fóra nebo můžete také komentovat níže.