İçindekiler:

IDC2018IOT Bacak Koşu Takibi: 6 Adım
IDC2018IOT Bacak Koşu Takibi: 6 Adım

Video: IDC2018IOT Bacak Koşu Takibi: 6 Adım

Video: IDC2018IOT Bacak Koşu Takibi: 6 Adım
Video: Ünal turan Azad yılmaz Karşıma çıkın dedi 2024, Temmuz
Anonim
IDC2018IOT Bacak Koşu Takibi
IDC2018IOT Bacak Koşu Takibi

Bu fikri IDC Herzliya'daki "Nesnelerin İnterneti" kursunun bir parçası olarak ortaya çıkardık.

Projenin amacı, NodeMCU, birkaç sensör ve bir sunucu kullanarak koşmayı veya yürümeyi içeren fiziksel aktiviteleri geliştirmektir. Bu projenin sonucu, gelecekte her yerde kullanılacak gerçek bir üretim ürününe dönüştürülebilecek çok kullanışlı bir IoT cihazıdır! Lütfen ne düşündüğünüzü bize bildirin:)

Başlamadan önce, şunlara sahip olduğunuzdan emin olun:

* NodeMCU cihazı.

* 1 Piezoelektrik sensör.

* MPU6050 sensörü.

* Bir büyük matris.

* Elastik ip.

* Firebase hesabı.

İsteğe bağlı:

* Çoklu Piezoelektrik sensör

* çoklayıcı

Adım 1: MPU6050'yi Ayarlama ve Kalibre Etme

Image
Image

"yükleniyor="tembel"

Piezo'yu Ayarlama
Piezo'yu Ayarlama

Talimatlar:

  • Piezoyu 1M dirençle bağlayın (ekli resme bakın).
  • Ekli taslağı yükleyin.
  • Elastik ipi kullanarak cihazı bir ayağa bağlayın.
  • "Seri çiziciyi" açın.
  • Bu adıma eklenen videoyu izleyin.

Adım 3: Sensörleri Arduino'ya Entegre Etme

Image
Image
Sensörleri Arduino'ya Entegre Etme
Sensörleri Arduino'ya Entegre Etme

Sensörlerin nasıl kalibre edileceğini gördük, şimdi her iki sensörü de NodeMCU'ya entegre edeceğiz!

  • Her iki sensörü de cihaza bağlayın, 1+2 adımlarındaki aynı pinleri kullanın.
  • Ekli çizimi yükleyin.
  • 2 sensörlü cihazı bir ayağa bağlayın.
  • "Seri çiziciyi" açın.
  • Ekli videoyu izleyin.

Adım 4: Buluta Veri Gönderme

Buluta Veri Göndermek!
Buluta Veri Göndermek!
Buluta Veri Göndermek!
Buluta Veri Göndermek!
Buluta Veri Göndermek!
Buluta Veri Göndermek!

Bu adımda, cihazımızı buluta bağlayacağız ve bazı harika çizelgeleri görmek için veri göndereceğiz!

MQTT protokolünü kullanacağız ve verileri "Adafruit" adlı ücretsiz bir sunucuya göndereceğiz.

NOT: Adafruit saniyede birkaç kez veri göndermeyi desteklemez, daha yavaş çalışır, bu nedenle veri noktalarının kendilerini değil, veri noktalarımızın ortalamasını göndeririz. Aşağıdaki dönüşümleri kullanarak verileri 2 sensörümüzden ortalama verilere dönüştüreceğiz:

* Adım algılama süresi, dakikadaki adım sayısına dönüştürülecektir. Her adım süresi (millis() - step_timestamp) ile bulunabilir ve daha önce gördüğümüz gibi bir filtre kullanılarak ortalama alınabilir: val = val * 0.7 + new_val * 0.3.

* Adım gücü, ortalama adım gücüne dönüştürülecektir. Her adım için aynı "maks" yöntemini kullanacağız, ancak ortalama = ortalama * 0.6 + yeni_val * 0.4 filtresini kullanarak bir ortalama almak için bir filtre kullanacağız.

Talimatlar:

  • Adafruit'in io.adafruit.com adresindeki web sitesine girin ve bir hesabınızın olduğundan emin olun.
  • Yeni bir gösterge panosu oluşturun, buna "Adım dedektörüm" adını verebilirsiniz.
  • Kontrol panelinin içinde + düğmesine basın ve "çizgi grafik"i seçin ve "steps_per_min" adlı bir özet akışı oluşturun.
  • Kontrol panelinin içinde + düğmesine basın ve "çizgi grafik"i seçin ve "average_step_power" adlı bir besleme oluşturun.
  • Artık alanların her biri için 2 boş grafik görmelisiniz.
  • Ekli çizimi kullanın ve aşağıdaki konfigürasyonu ayarlayın:

USERNAME = Adafruit kullanıcı adınız.

ANAHTAR = Adafruit anahtarınız

WLAN_SSID = WIFI adı

WLAN_PASS = WIFI geçişi

mpuStepThreshold = 2. adımdaki eşik

Ardından cihazı bir ayağa bağlayabilirsiniz ve çizim sunucuya adım verilerini gönderecektir!

Adım 5: Aynı Anda 2 Cihaz Kullanma

Aynı Anda 2 Cihaz Kullanmak
Aynı Anda 2 Cihaz Kullanmak
Aynı Anda 2 Cihaz Kullanmak
Aynı Anda 2 Cihaz Kullanmak

Bu adımda cihazla aynı anda yürüyen 2 kişiyi simüle edeceğiz!

Adım 4'te açıklandığı gibi aynı veri noktalarına sahip 2 farklı cihaz kullanacağız.

Bu gerçekten çok kolay, 3 basit görev var:

1) 2. cihazdan gelen veriler için ekstra beslemeler oluşturun, "_2" sonrası düzeltme yapmanızı öneririz

2) her iki beslemeden de veri sunmak için gösterge tablosundaki blokları değiştirin.

3) ikinci cihazın çizimindeki beslemelerin adını değiştirin.

4) Sonuçları görün!

NOT:

Adafruit çok hızlı gelen veriye karşı direniyor, verinin sunucuya gönderilme sıklığını ayarlamak gerekebilir. bunu çizimde aşağıdakileri bularak yapın:

// Ücretsiz kullanıcılar için Adafruit sınırını aşmayacak şekilde her 5 saniyede bir gönder. // Premium kullanıyorsanız veya kendi sunucunuz varsa değiştirmekten çekinmeyin. // Her seferinde alternatif bir veri noktası gönderir. if(millis() - lastTimeDataSent > 5000){

Adım 6: Geliştirmeler, Notlar ve Gelecek Planları

Ana zorluk:

Projedeki ana zorluk, NodeMCU'yu fiziksel bir aktivitede test etmekti. Usb kablosunun bağlantısı sık sık kesiliyor ve hızlı hareket etmeye çalışırken pinlerin sökülmesinde sorunlar olabiliyor. Çoğu zaman gerçekten işe yarayan bir kod parçasında hata ayıklıyorduk ve sorun fiziksel alandaydı.

Dizüstü bilgisayarı koşucuya yakın taşıyarak ve her bir kod parçasını birer birer yazarak bu zorluğun üstesinden geldik.

Diğer bir zorluk, farklı bileşenlerin sorunsuz bir şekilde etkileşime girmesini sağlamaktı:

  • İvmeölçerli piezo: Bunu, 3. adımda açıklandığı gibi, sahip olduğumuz yaratıcı bir fikirle çözdük.
  • Sunuculu sensörler: 4. adımda anlatıldığı gibi, değerleri bir sunucuya daha yavaş gönderilebilecek diğer değerlere dönüştürdük.

Sistemin sınırlamaları:

  • Kullanmadan önce kalibrasyona ihtiyacı var.
  • Fiziksel bir aktivitede kolay kırılmayan, daha katı bir ürüne dönüştürülmesi gerekir.
  • Piezoelektrik sensör çok doğru değil.
  • Biraz wifi bağlantısı gerekiyor. (Cep telefonu etkin noktası kullanılarak kolayca çözülür)

Gelecek planları

Artık tamamen çalışan bir bacak izleme cihazımız olduğuna göre, yapılabilecek başka geliştirmeler de var!

Çoklu pizzalar!

  • Piezoları ayağın farklı bölgelerine bağlayın.
  • NodeMCU yalnızca bir analog pini desteklediğinden çoklayıcı kullanın.
  • Etki alanlarını tanımlamak için ayağın ısı haritasını gösterebilir.
  • Yanlış duruş ve vücut dengesi hakkında uyarılar oluşturmak için bu verileri kullanabilir.

Birçok cihaz!

  • Aynı anda 2 cihazı nasıl bağlayacağınızı gösterdik ama 22 piezoyu 22 futbolcuya bağlayabilirsiniz!
  • Veriler, oyuncular hakkında bazı ilginç metrikleri göstermek için oyun sırasında ifşa edilebilir!

Gelişmiş sensörler

Piezo ve ivmeölçer kullandık, ancak çıktıyı zenginleştirecek ve daha fazla veri verecek başka cihazlar da ekleyebilirsiniz:

  • Ayak seslerini algılamak için doğru lazerler.
  • Ayak ve zemin arasındaki mesafeyi ölçün.
  • Farklı oyuncular arasındaki mesafeyi ölçün (Birden fazla cihaz olması durumunda)

Önerilen: