İçindekiler:
- Adım 1: Gereksinimler
- 2. Adım: Kurulum
- Adım 3: Donanım Kurulumu
- Adım 4: Bellenim Kurulumu
- Adım 5: Ubidots Uygulama Geliştirme
- Adım 6: Pano Yapılandırmaları
Video: Arduino İle Hareket Algılama Sistemi Nasıl Kurulur: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Arduino ile programlanmış ve Ubidots tarafından desteklenen bir Feather HUZZAH kullanarak bir hareket ve varlık üretim sayacı oluşturun.
Akıllı Evlerde ve Akıllı Üretimde etkin fiziksel hareket ve varlık algılama, yaşlı Ortam Destekli Yaşam (AAL) çözümlerinden veya daha büyük bir MES'yi besleyen bir Üretim Sayma Sistemine kadar çeşitli uygulamalarda çok yararlı olabilir. Hareket ve Varlık Algılama için diğer uygulamalar bunlarla sınırlı olmamak üzere şunları içerir:
- Kapı ve kapı otomasyonu
- Boş alanları belirlemek için park sensörleri
- Uzaktan tank seviyesi izleme
- Aydınlatma ve güvenlik için akıllı evler ve tesisler
- Konveyör hatlarında birim tespiti ve sayımı
- Basılı materyallerde işaret algılama
- Karton, plastik ve kağıt eğimlerinde sıvı algılama
- Mesafe algılama
- Kişi sayaçları
Varlık ve hareket için pek çok uygulama olsa da, kapasitif, endüktif, fotoelektrik ve ultrasonik sensörler gibi veri toplamak için eşit sayıda sensör vardır. Maliyetlere, çevresel koşullara ve doğruluk gereksinimlerine bağlı olarak, bir ortam ve uygulama gereksinimleri için en uygun donanım seçilmelidir.
Bu eğitim için gerçek zamanlı bir üretim sayacı oluşturmaya odaklanacağız; uygulama, bir konveyör bant üzerinden geçen her birimi sayacaktır. Arduino IDE'yi bir Feather HUZZAH ESP8266, bir ultrasonik sensör ve Ubidot'ları programlamak için uygulamamızı geliştirmek ve IoT panomuzu görüntülemek için kullanacağız.
Adım 1: Gereksinimler
- ESP8266MB7389-100 ile Tüy HUZZAH
- Ultrasonik sensör
- Arduino IDE 1.8.2 veya üstü
- Ubidots hesabı -veya-STEM Lisansı
2. Adım: Kurulum
- Donanım Kurulumu
- II. Bellenim Kurulumu
- III. Ubidots Uygulama Geliştirme (olaylar, değişkenler ve gösterge tabloları)
Adım 3: Donanım Kurulumu
Ultrasonik Sensör MB7389-100, IPv67 derecesi sayesinde zorlu hava koşullarında geniş aralık ve düşük güç tüketimi gereksinimleri olan Endüstriyel uygulamalar için düşük maliyetli bir seçenektir.
Başlamak için, ultrasonik sensörü Feather HUZZAH ESP8266'ya takmak için aşağıdaki şemayı yansıtın.
NOT: Sensör okuması, analog okumalar veya PWM olarak alınabilir; Aşağıda PWM okumasının kurulumunu açıklayacağız, ek bilgi için lütfen yukarıda gösterilen örneklere bakın.
[İsteğe bağlı olarak] mikro denetleyiciyi ve sensörleri toz, su ve diğer tehdit edici çevresel faktörlerden korumak için de IP67 kasasının içine yerleştirin. Standart kasa, yukarıdaki fotoğraflarda gösterilene benzer.
Adım 4: Bellenim Kurulumu
Öncelikle Arduino IDE'ye Feather Huzzah'ı kurmalı ve kodu derlemelisiniz. Basit bir yanıp sönme testi yaparak bu kurulumu doğrulamayı unutmayın. Feather cihazınızı bağlama hakkında daha fazla bilgi için bu yardımcı donanım kurulum kılavuzuna bakın.
Ubidots IoT Geliştirme Platformuna sensör verilerini göndermek için aşağıdaki kodu kopyalayıp Arduino IDE'ye yapıştırın. Kodda belirtilen yere Wi-Fi ağ adını, şifresini ve Ubidots hesap Simgenizi atamayı unutmayın.
/******************************** Kitaplıklar dahil *************** ****************/#Dahil etmek /****************************** ** Sabitler ve nesneler *******************************//* Ubidots */const char* SSID_NAME = "xxxxxxxx"; // Buraya SSID adconst karakterinizi koyun* SSID_PASS = "xxxxxxxx"; // Buraya passwordconst char* TOKEN = "Assig_your_ubidots_token"; // TOKENconst karakterinizi buraya koyun* DEVICE_LABEL = "hareket kontrolü"; // Cihazınız labelconst char* VARIABLE_LABEL = "mesafe"; // değişkeniniz labelconst char* USER_AGENT = "ESP8266";const char* VERSION = "1.0";const char* HTTPSERVER = "industrial.api.ubidots.com";// Ubidots Business kullanıcıları//const char* HTTPSERVER = " şeyler.ubidots.com"; // Ubidots Educational usersint HTTPPORT = 80;/* Ultrasonik Sensör */const int pwPin1 = 5; // Sensörün bağlı olduğu PWM piniWiFiClient clientUbi;/******************************** Yardımcı Fonksiyonlar *** ******************************//** char @return dataLen türündeki gövde @arg değişkeninin gövdesinin uzunluğunu alır değişkenin uzunluğu*/int dataLen(char* değişkeni) { uint8_t dataLen = 0; for (int i = 0; i mesafe / 25.4 */ kayan mesafe = pulseIn(pwPin1, YÜKSEK); sendToUbidots(DEVICE_LABEL, VARIABLE_LABEL, mesafe); delay(1000);}void sendToUbidots(const char* device_label, const char* değişken_etiket), float sensor_value) { char* body = (char *) malloc(sizeof(char) * 150); char* data = (char *) malloc(sizeof(char) * 300); /* Gönderilecek değerleri saklamak için boşluk * / char str_val[10]; /*---- Sensörlerin değerlerini char tipine dönüştürür -----*/ /* 4 minimum genişlik, 2 hassaslıktır; float değeri str_val*/ dtostrf(üzerine kopyalanır sensor_value, 4, 2, str_val); /* İsteğe gönderilecek gövdeyi oluşturur*/ sprintf(body, "{"%s\":%s}", değişken_etiket, str_val); /* HTTP'yi oluşturur POST olma isteği */ sprintf(data, "POST /api/v1.6/devices/%s", device_label); sprintf(data, "%s HTTP/1.1\r\n", data); sprintf(data, "%sHost:thing.ubidots.com\r\n", veri); sprintf(data, "%sUser-Agent: %s/%s\r\n", data, USER_AGENT, VERSION); sprintf(veri, "%sX-Auth-Token: %s\r\n", data, TOKEN); sprint f(veri, "%sBağlantı: kapat\r\n", veri); sprintf(data, "%sContent-Type: application/json\r\n", veri); sprintf(veri, "%sİçerik Uzunluğu: %d\r\n\r\n", veri, dataLen(gövde)); sprintf(veri, "%s%s\r\n\r\n", veri, gövde); /* İlk bağlantı */ clientUbi.connect(HTTPSERVER, HTTPPORT); /* İstemci bağlantısını doğrulayın */ if (clientUbi.connect(HTTPSERVER, HTTPPORT)) { Serial.println(F("Değişkenlerinizi gönderme: ")); Seri.println(veri); /* HTTP İsteğini Gönder */ clientUbi.print(data); } /* İstemci kullanılabilir durumdayken sunucunun yanıtını okuyun */ while (clientUbi.available()) { char c = clientUbi.read(); Seri.write(c); } /* Boş hafıza */ boş(veri); serbest gövde); /* İstemciyi durdur */ clientUbi.stop();}
ProTip: Arduino IDE'deki seri monitörü açarak cihazınızın doğru şekilde bağlanıp bağlanmadığını kontrol edebilirsiniz.
Ubidots arka uçunuzda bir cihazın oluşturulduğunu, hesabınızı Cihaz Yönetimi -> Cihazlar bölümünde görüntüleyerek doğrulayabilirsiniz.
Cihazınızı tıkladığınızda, sensörün okumalarının saklandığı "mesafe" adlı bir değişken bulacaksınız. Bu ad, Arduino IDE'ye az önce yapıştırdığınız kodda atanmıştır. Otomatik değişkenlerinizi ayarlamak istiyorsanız, lütfen bunu Cihaz kartını düzenleyerek veya uygulamanız için doğru değişken terminolojisine sahip güncellenmiş bir kodu yanıp sönerek yapın.
Feather HUZZAH ESP8266 bağlı ve verileri Ubidots'a rapor ederken, şimdi Ubidots'un özenle tasarlanmış kodsuz uygulama yapılandırmasını kullanarak uygulamayı oluşturma zamanı.
Adım 5: Ubidots Uygulama Geliştirme
Ubidots Olay Yapılandırması
Ubidots'a gönderdiğimiz mevcut okumalar mesafe girdileridir. Bu okumaları istediğimiz çıktıya çevirmek için - sayılan birimler - aşağıdaki adımları izleyerek bir olay oluşturmalıyız:
- Mevcut "hareket kontrolü" cihazının içinde, "kutular" adı verilen ve her yeni birim sayıldığında 1 alacak olan yeni bir varsayılan değişken oluşturun.
- Cihaz Yönetimi -> Etkinlikler'e gidin ve yeni bir etkinlik eklemek için sayfanın sağ üst köşesindeki mavi artı simgesine tıklayın.
- "Eğer tetiklerse" ile başlayan etkinliğinizi yapılandırın:
- Bir değişken seçin: "mesafe"
- Değer: değer (varsayılan)
- Sensör ve yanından geçen kutular arasındaki [beklenen maksimum mesafeye} eşit veya bundan daha az mı* uygulamamız 500 mm gerektirir
- 0 dakika
- Kaydetmek
4. Tetikleyiciler uygulamanızın özelliklerine göre yapılandırıldıktan sonra, koşullu bir eylem eklemek için sağ üst köşedeki turuncu "artı" simgesine tıklayın.
5. Eylem olarak “Değişkeni Ayarla”yı seçin.
6. Ardından, önceden oluşturulmuş varsayılan değişken "kutuları" ve "1" değerini seçin.
7. Değişiklikleri kaydedin. Olay düzgün bir şekilde ayarlanmışsa, sensör ile ünite arasındaki mesafe belirtilen bir eşikten daha uzun olduğunda her defasında bir "1" gönderir, bu da yakınlarda hiçbir nesne olmadığını gösterir - ve az önce geçen yeni bir birimi saymalıdır..
Feather'a özel Cihaz kartında, bir birimin varlığı her algılandığında bir "1"in gönderildiği "kutular" değişkenini bulacaksınız.
Özellikle endüstriyel konveyör bantları ve ünite sayımı için kullanışlı olan bu prototip, farklı ortamlara veya donanımlara uyacak şekilde yalnızca kodlamanızda veya uygulama geliştirmenizde özelleştirilebilir.
8. Algılanan birim sayısını (veya bir nesnenin kaç kez algılandığını) görselleştirin Şimdi, "kutular" değişkenini kullanarak, "kutular" değişkeninden alınan toplam okuma miktarını toplamak için yeni bir yuvarlanan pencere değişkeni oluşturacağız. tanımlı bir spam (dakikalar, saatler, günler, haftalar vb.). Bu geliştirmeyi yürütmek için şu basit adımları izleyin:
Yeni yuvarlanan pencere değişkeninize aşağıdaki kimlik bilgilerini atayın
Bir cihaz seçin: hareket kontrolü (veya verilerinizi gönderdiğiniz cihazın adı)
Bir değişken seçin: kutular
Şunu hesaplayın: toplamı
Her: "1" saat (veya başvuru isteklerinize göre)
Şimdi yeni değişkene, tıpkı "kutu/saat" veya "birim/saat" gibi bir saatte sayılan kutuların (veya hareketlerin) sayısını gösteren bir ad atayın.
Adım 6: Pano Yapılandırmaları
Son olarak, algılanan birimlerin sayısını görüntülemek için bir gösterge panosu oluşturun.
Cihaz Yönetimi -> Panolar'a gidin ve yeni bir widget ekleyin. Bu widget, bugün sayılan kutuların miktarını saate göre görüntüleyecektir.
Sayınızı görselleştirmek için yeni pencere aracınıza aşağıdaki kimlik bilgilerini atayın.
Verilerinizi nasıl görmek istersiniz?: Grafik
Bir widget türü seçin: çizgi grafiği
Bir cihaz ekleyin: hareket kontrolü
Değişken ekle: kutu/saat
Bitiş. Ve bu son gösterge panosu geliştirmesiyle - başvurunuz tamamlandı ve artık verimli ve etkili bir hareket ve varlık algılama sistemine sahipsiniz. İşte sonuçlarımıza son bir bakış.
Önerilen:
WS2812b Led Strip ile Raspberry Pi Üzerinde Hyperion ile OSMC Nasıl Kurulur: 8 Adım
WS2812b Led Strip ile Raspberry Pi Üzerinde Hyperion ile OSMC Nasıl Kurulur: Bazen çok iyi ingilizcem var, bazen hayır…Önce ilk şeyler. Bu benim ilk dersim ve ingilizce benim ana dilim değil, bu yüzden lütfen bana fazla yüklenme. Bu çerçevenin nasıl oluşturulacağı ile ilgili olmayacak, bu kolay. Kurulumla ilgili
DIY Hareket Algılama SMS Alarm Sistemi: 5 Adım (Resimlerle)
Kendin Yap Hareket Algılama SMS Alarm Sistemi: Bu projede, size "HİZMETÇİ ALARMI" gönderen bir alarm sistemi oluşturmak için ucuz bir PIR hareket sensörünü bir TC35 GSM modülü ile birleştireceğim. Biri eşyalarınızı çalmaya çalıştığında SMS. Başlayalım
WiFi Uyarıları ile Kendin Yap Otomatik Bitki Sulama Sistemi Nasıl Kurulur: 15 Adım
WiFi Uyarıları ile Kendin Yap Otomatik Bitki Sulama Sistemi Nasıl Kurulur: Bu bitmiş proje, #WiFi ile kontrol edilen bir DIY otomatik bitki sulama sistemi. Bu proje için Adosia'nın Kendinden Sulamalı Otomatik Bahçe Sistemi Alt Montaj Kitini kullandık. Bu kurulum, solenoid su vanaları ve analog bir toprak mois
Hareket Algılama Alarm Sistemi: 11 Adım (Resimli)
Hareket Algılama Alarm Sistemi: Not! Reaktif Bloklar artık indirilemez. Bir odadaki hareketi algılamak için temel bir USB kamera kullanılabilir. Aşağıdaki adımlarda, SMS gönderen, çalışmaya hazır bir Java uygulamasını programlamak için Reaktif Blokları nasıl kullanabileceğinizi göstereceğiz
Mini HiFi Raf Sistemi (Ses Sistemi) Nasıl Doğru Bağlanır ve Kurulur: 8 Adım (Resimlerle)
Mini HiFi Raf Sistemi (Ses Sistemi) Nasıl Düzgün Bağlanır ve Kurulur: Elektrik mühendisliği hakkında bilgi edinmekten keyif alan biriyim. Ann Richards Genç Kadın Liderler Okulu'nda bir lisedeyim. Mini LG HiFi Raf Sisteminden müziklerinin keyfini çıkarmak isteyen herkese yardımcı olmak için bunu öğretilebilir hale getiriyorum