- Titreşim Sensörü Modülü SW-420
- Gerekli Bileşenler
- Arduino Titreşim Sensörü Devre Şeması
- Arduino Uno Titreşim Sensörü Programlama
- Arduino Titreşim Sensörü Devresinin Test Edilmesi
Titreşimlerden zarar gören çok sayıda kritik makine veya pahalı ekipman bulunmaktadır. Böyle bir durumda, makine veya ekipmanın titreşim üretip üretmediğini anlamak için bir titreşim sensörü gereklidir. Titreşimi algılamak için uygun sensör kullanılırsa, sürekli olarak titreyen nesneyi tanımlamak zor bir iş değildir. Birkaç tür titreşim sensörü vardırPiyasada, ivmeyi veya hızı algılayarak titreşimi algılayabilen ve mükemmel sonuç sağlayabilen. Bununla birlikte, bu tür sensörler ivmeölçerin kullanıldığı yerlerde çok pahalıdır. İvme ölçer çok hassastır ve Deprem dedektör devresini yapmak için kullanılabilir. Ancak, yalnızca titreşimleri algılamak için birkaç adanmış ve ucuz sensör de mevcuttur, bu tür bir titreşim sensörü Arduino Uno ile arayüz oluşturacağımız SW-420'dir.
Bu yüzden bu projede, temel bir titreşim sensörü modülü popüler Arduino UNO ile arayüzlenir ve titreşim sensörü herhangi bir titreşim veya sarsıntı algıladığında bir LED yanıp sönmeye başlar.
Titreşim Sensörü Modülü SW-420
Bu, 3.3V'den 5V'a kadar çalışabilen bir SW-420 titreşim modülüdür. Sensör, bir eşik noktası üzerindeki titreşimi algılamak ve dijital veri, Logic Low veya Logic High, 0 veya 1 sağlamak için LM393 karşılaştırıcısını kullanır. Normal çalışma sırasında, sensör Logic Low sağlar ve titreşim algılandığında sensör Logic High sağlar. Modülde üç çevre birimi vardır, biri Güç durumu ve diğeri sensör çıkışı için olmak üzere iki LED. Ek olarak, titreşimin eşik noktasını kontrol etmek için kullanılabilecek bir potansiyometre de mevcuttur. Bu projede, modüle güç sağlamak için 5V kullanacağız.
Anti-Theft Alert System'de aynı sensörü ATmega8 Microcontroller kullanarak kullandık. Ayrıca ani kazaları tespit etmek için bir eğim sensörü kullanılabilir.
Gerekli Bileşenler
- Arduino UNO
- SW-420 Titreşim Sensörü Modülü
- 5mm LED (Herhangi Bir Renk)
- Atlama Telleri (Bağlantı Telleri)
- Yükleme Programı için USB Kablosu
Arduino Titreşim Sensörü Devre Şeması
Titreşim sensörünün Arduino uno ile arayüzlenmesi için şema aşağıda verilmiştir.
LED, D13 pinine bağlanır. Modül, Arduino'daki mevcut 5V pin kullanılarak çalıştırılır. Zemin ve 5V pimi Arduino'yu çalıştırmak için kullanılırken, A5 pini titreşim sensöründen verileri almak için kullanılır.
Devre, SW-420 modülü ve LED'in Arduino Uno ile bağlandığı yerde oluşturulur.
Arduino Uno Titreşim Sensörü Programlama
Arduino UNO'yu arayüz titreşim sensörüne programlamak çok fazla çaba gerektirmez, çünkü sonuç çıkarmak için sadece giriş pini izlenmelidir. Tam kod ve çalışma Video sonunda tutturulur.
Başlangıçta Başlık Dosyaları dahil edilmiştir. Arduino başlığı, bu öğretici Arduino uzantısı ile Eclipse IDE'de yazıldığından beri dahil edilmiştir. Bu taslak aynı zamanda Arduino IDE için de çalışacaktır ve bu taslağı Arduino IDE'de kullanırken, başlık eklemeye gerek yoktur.
#Dahil etmek
Burada ON ve OFF için iki makro tanımlanmıştır.
#define AÇIK 1 # tanımla KAPALI 0
Aşağıdaki ifade, LED'leri ve Titreşim Sensörünü entegre etmek için kullanılır. Titreşim sensörü A5 pinine bağlıdır. Dahili LED de kullanılır ve kartın içinde pin 13'e doğrudan bağlanır. 5mm LED de pin 13'e bağlıdır.
/ * * Pin Açıklaması * / int vibration_Sensor = A5; int LED = 13;
Sensörlerin mevcut çıktısı ve önceki çıktının depolanacağı yerde iki tamsayı bildirilir ve bu da titreşimin olup olmadığını tespit etmek için kullanılır.
/ * * Program akışı Açıklaması * / int present_condition = 0; int previous_condition = 0;
Çevresel bağlantı olarak tanımlanan aynı pim, pimlerin yönü yapılandırılır. Giriş olarak sensör pini ve çıkış olarak LED pini.
/ * * Pin modu kurulumu * / void kurulumu () { pinMode (vibration_Sensor, INPUT); pinMode (LED, OUTPUT); }
Ledin iki kez yanıp sönmesi için bir fonksiyon yazılmıştır. Gecikme, gecikme değeri değiştirilerek yapılandırılabilir.
void led_blink (void) { digitalWrite (LED, ON); gecikme (250); digitalWrite (LED, KAPALI); gecikme (250); digitalWrite (LED, AÇIK); gecikme (250); digitalWrite (LED, KAPALI); gecikme (250); }
Döngü fonksiyonunda, şimdiki ve önceki durum karşılaştırılır. Bu ikisi aynı değilse ikisi de aynı olana kadar ledler yanıp sönmeye başlar. Başlangıçta, iki değişken 0'ı tutar ve programın başlangıcında led kapalı kalır. Bir miktar virbraion olduğunda, present_condition değişkeni 1 olur ve led yanıp sönmeye başlar. Ve yine titreşimler durduğunda, hem geçerli değerler 0 olur hem de LED yanıp sönmeyi durdurur.
geçersiz döngü () { previous_condition = present_condition; present_condition = digitalRead (A5); // Arduino'nun A5 Pininden dijital verileri okumak. eğer (önceki_şart! = mevcut_şart) { led_blink (); } else { digitalWrite (LED, OFF); } }
Bu, arduino UNO'nun Titreşim sensörü ile programlanmasını bitirir. Son adım, tüm kurulumu test etmek olacaktır.
Arduino Titreşim Sensörü Devresinin Test Edilmesi
Devre ek devre tahtası gerektirmez. Arduino UNO Board kullanılarak basitçe test edilebilir. Titreşim sensörüne vurulduğunda veya durumunu değiştirdiğinde led izlenir. Bazı titreşimler olduğunda led Arduino UNO'nun Pin 13'üne bağlı olarak yanıp sönecektir. Titreşim sensörü çalışmazsa, lütfen bağlantıyı ve gücü kontrol edin. Sensör ve mikro denetleyici arasında herhangi bir gevşek bağlantıdan kaçının.
Yani bir Titreşim sensörü Arduino UNO ile bu şekilde arayüzlenebilir. Herhangi bir şüpheniz veya öneriniz varsa, bize forum aracılığıyla ulaşabilir veya aşağıya da yorum yapabilirsiniz.