İçindekiler:
- Adım 1: MPU6050'yi Ayarlama ve Kalibre Etme
- Adım 3: Sensörleri Arduino'ya Entegre Etme
- Adım 4: Buluta Veri Gönderme
- Adım 5: Aynı Anda 2 Cihaz Kullanma
- Adım 6: Geliştirmeler, Notlar ve Gelecek Planları
Video: IDC2018IOT Bacak Koşu Takibi: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
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
"yükleniyor="tembel"
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
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
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
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:
Koşmak Bacak Kütlesini Etkiler mi: 13 Adım
Koşmak Bacak Kütlesini Etkiler mi: Koşmak bacak kütlesini/büyüklüğünü etkiler mi?
Pediatrik Yürüteç için Bacak Abdüksiyon Aparatı: 4 Adım
Pediatrik Yürüteç için Bacak Kaçırma Ataşmanı: Bu talimat, oğlumun yürüteci için yürürken "makaslamayı" veya bacak bacak üstüne atmayı önlemeye yardımcı olmak için nasıl bir rehber hazırladığımı size gösterecek. Bir üreticinin 'dayanıklı tıbbi ekipman' eki size yüzlerce dolara mal olacak; bu s
Bacak Muhafazalı Lego Arduino Nano: 4 Adım
Bacak Muhafazalı Lego Arduino Nano: Arduino Nano'm için alta jumper bağlamak için pimleri olan bir muhafazaya ihtiyacım vardı
Kedi Arabası (Arka Bacak Felçli): 5 Adım
Kedi Arabası (Arka Bacak Felci): RIT'deki (Rochester Teknoloji Enstitüsü) multidisipliner ekibimiz felçli kediler için bir araba tasarlamakla görevlendirildi. Amacımız, kedinin hareket kabiliyetini artırırken güvenli, rahat ve düşük maliyetli bir araba yaratmaktı. Biz harcadık
Koli Bandı Kol ve Bacak Ağırlıkları: 3 Adım
Koli Bandı Kol ve Bacak Ağırlıkları: Bu talimat, size aerodinamik koli bandı ağırlıklarının nasıl yapılacağını ve bunları kurşun veya kumla nasıl dolduracağınızı öğretecektir. Bu ağırlıklar kol ve bacak arasında değiştirilebilir. Bu benim ilk talimatım, bu yüzden iyi olun;) Lütfen yorum bırakın