İçindekiler:

Myoware Kas Sensörüne Tepki Veren Neopiksel Led Şerit: 6 Adım
Myoware Kas Sensörüne Tepki Veren Neopiksel Led Şerit: 6 Adım

Video: Myoware Kas Sensörüne Tepki Veren Neopiksel Led Şerit: 6 Adım

Video: Myoware Kas Sensörüne Tepki Veren Neopiksel Led Şerit: 6 Adım
Video: Bu nasıl sansür 💀💀 #chainsawman #power #denji #anime #chinacensorship #milk #süt #sansür 2024, Temmuz
Anonim
Myoware Kas Sensörüne Tepki Veren Neopiksel Led Şerit
Myoware Kas Sensörüne Tepki Veren Neopiksel Led Şerit

Amaç, Arduino yardımıyla bir kas sensörü kurmak ve gelen verileri Adafruit IO ile işleyip bir tetikleyici ile çıktı almak, böylece ışığın bir dakika boyunca beyazdan kırmızıya dönmesidir.

Kas Sensörü Nedir Kas Sensörü bir kasın elektriksel aktivitesini ölçer ve bir mikro denetleyici tarafından kolayca okunabilen bir analog çıkış sinyali üretir. Elektromiyografi (EMG), bir sinirin kası uyarmasına yanıt olarak kas tepkisini veya elektriksel aktiviteyi ölçer. Test, nöromüsküler anormallikleri tespit etmeye yardımcı olmak için kullanılır. Test sırasında, deriden kas içine bir veya daha fazla küçük iğne (elektrot olarak da adlandırılır) sokulur.

Bu proje için ihtiyacınız olan: -MyoWare kas sensörü -EMG elektrotları -NodeMCU (esp8266) -Silikon kaplama teli -USB mikro kablo -Neopiksel led şerit

İhtiyacınız olacak kütüphaneler: -Adafruit io Arduino (en az sürüm 2.3.0) -Adafruit Neopixel (sürüm 1.2.5) -Adafruit MQTT kütüphanesi (1.0.3) -Arduino HttpClients (0.4.0)Eğer yoksa kütüphaneler henüz kuruldu. Ardından Sketch> Library'yi dahil et> Kitaplıkları Yönet'e gidin… arama alanına [kurmak istediğiniz kitaplık adı] yazın.

Adım 1: Myoware Kas Sensörünü Bağlama (özellikle Daha Önce Onunla Çalışmamış Olan Kişiler için)

Daha önce bir Myoware Kas Sensörü ile çalışmadıysanız, öncelikle bu sensörün Arduino'daki Seri monitöre nasıl bağlandığını ve okunabilir olduğunu anlamakta fayda var. Bu işlem, daha önce açıklanan birçok kılavuzda bulunan standart bir prosedürdür. Adafruit platformu, bunun birkaç adımda nasıl çalıştığının net bir açıklamasına sahiptir:

learn.adafruit.com/getting-started-with-my…

Kontrol edin Tüm bu adımlar yapılırsa, kaslarınızı gerdiğinizde değerlerin değiştiğini seri monitörünüzde göreceksiniz. Yumruk yapıp kasınızı sıktığınızda değerler artmalı, kasınızı gevşettiğinizde bu değerler tekrar düşmeli.

ÖnemliBu adım yalnızca sensörü ayarlamak içindir. Kullandığınız kod, kılavuzun geri kalanı için gerekli değildir. Yalnızca sensörün kendisini yerleştirme şekliniz, sonraki adımlar için aynı kalır.

Adım 2: Adafruit IO Kurulumu

Adafruit IO Kurulumu
Adafruit IO Kurulumu
Adafruit IO Kurulumu
Adafruit IO Kurulumu
Adafruit IO Kurulumu
Adafruit IO Kurulumu

İlk adım, Adafruit IO'da oturum açmak veya bir hesap oluşturmaktır, Adafruit IO'ya göz atın. Adafruit IO, internet üzerinden bağlanabileceğiniz bir bulut platformudur. Adafruit IO, verileri veri bağlantıları ile kullanışlı hale getirir.

Hesabınızdayken:

Analog Feed'i oluşturunSonraki, Analog adlı bir feed oluşturmanız gerekecek. Adafruit IO'da yayın oluşturmaya başlamak için yardıma ihtiyacınız varsa, Adafruit IO Feed Basics kılavuzuna bakın (fotoğraf 1 ve 2'deki gibi).

Gösterge Bloğu ve BlokSonraki Çizgi grafiğini ekleyerek, yeni bir gösterge panosu oluşturun ve adlandırmasını istediğiniz şekilde adlandırın (yeni bir pano oluşturmak için fotoğraf 3, 4 ve 5'te gösterilmiştir). Veri kaynağı olarak Analog beslemeyi seçtiğinizden emin olun.

Kontrol panelindeyken, sağ üst köşedeki mavi artıya tıklayarak yeni bir Gösterge bloğu ekleyin. Bloğu istediğiniz gibi adlandırın (fotoğraf 6 ve 7'de gösterilmiştir) ve ona maksimum 1024 ve minimum 0 değeri (kas sensörünün değerleri) verin.

Aynısını Çizgi grafiği bloğuyla (fotoğraf 8) yukarıdaki Gauge bloğuyla tekrarlayın.

Kontrol Yukarıdakilerin hepsini yaptıysanız, son fotoğraftaki gibi bir ekrana sahip olmalısınız.

Adım 3: Arduino Girişi

Arduino Girişi
Arduino Girişi
Arduino Girişi
Arduino Girişi
Arduino Girişi
Arduino Girişi
Arduino Girişi
Arduino Girişi

1. adımda MyoWare Muscle sensörünü doğru şekilde kablolama kurulumunu yaptınız. Bu adımda, Adafruit IO panosunun 2. adımına bağlanmasıyla birlikte gelen Arduino koduna gireceğiz. Bu adımın sonunda, kurmuş olduğunuz iki Blokta Myoware Muscle sensörünün giriş değerlerini göreceksiniz.

Arduino kurulumu

Giriş bölümünde yukarıda belirtilen tüm kitaplıkların kurulu olduğundan emin olun.

Örnek bir eskiz üzerinde çalışacağız. Öyleyse Dosya> Örnek> Adafruit IO Arduino> adafruitio_08_analog_in'i açın (fotoğraf 1). Neden bu eskiz? çünkü ilk önce bu kılavuzun giriş kısmını ayarlıyoruz. MyoWare Muscle sensörü, analog çıkışı kullanır. Analog konusuna daha fazla dalmak istiyorsanız.

Arduino Network Config Ağ ayarlarını yapılandırmak için çizimdeki config.h sekmesine tıklayın. IO_USERNAME tanımında Adafruit IO kullanıcı adınızı ve IO_KEY tanımında Adafruit IO anahtarınızı ayarlamanız gerekecek. Kullanıcı adınızı ve anahtarınızı Arduino IO'nuzdaki ekranın sağ üst köşesinde bulabilirsiniz (örnek fotoğraf 2'de)

#define IO_USERNAME "kullanıcı adınız"

#define IO_KEY "sizin_anahtarınız"

WiFi Config WiFi varsayılan olarak config.h'de etkinleştirilmiştir, bu nedenle desteklenen WiFi kartlarından birini kullanıyorsanız, config.h sekmesinde yalnızca WIFI_SSID ve WIFI_PASS seçeneklerini değiştirmeniz gerekecektir.

#WIFI_SSID "sizin_sid"nizi tanımlayın

Arduino Kodu Eğer yukarıdaki ayarlarda değişiklik yaptıysanız, asıl kod olan adafruit_08_analog_in'e geçebiliriz. Bu örnekteki varsayılan pin, AO'da statet'tir. 2. adımda kas sensörünüzü tahtaya yerleştirdiğiniz için bu doğru pimdir.

Bu örnekte fotosel sensör kullanılmaktadır, çünkü biz kas sensörü kullandığımız için bu ismi değiştireceğiz. Bunu yapmanız önemli değil, sadece anlamsal olarak daha düzenli hale getirecek. PHOTOCELL_PIN'i MUSCLESENSOR_PIN olarak değiştirin, bunu çizimin iki yerinde yapın.

/**************************** Örnek Burada Başlıyor ************************* *********/

// analog pin 0 #define PHOTOCELL_PIN A0

Son kod satırında bir gecikme var. Bu gecikme 1 saniye, biz 2 saniye olarak ayarlayacağız yani 2000. Adafruit IO'da veri limitli bir lisans olduğu için bunu yapıyoruz, iki saniyenin altında bu çizim o veri limitini aşıyor ve GARANTİ UYARISI verecek.. Ne demek hiçbir değer gelmiyor. Bunu iki saniyeye ayarlamak bunu engelliyor.

// bir saniye bekle (1000 milisaniye == 1 saniye) gecikme(2000);

Çalışması için taslakta değiştirmeniz gereken şey buydu. Tüm kodun nasıl çalıştığını tam olarak bilmek istiyorsanız. Her kod bloğunun açıklamasıyla birlikte Learn Adafruit'te bulabilirsiniz.

Çizimi panonuza yükleyin ve Arduino Seri Monitörünü açın. Panonuz şimdi Adafruit IO'ya bağlanmalıdır.

artık kolunuzu sıkabilirsiniz ve Adafruit IO'ya gönderilen değişen değerleri görmelisiniz (fotoğraf 3'teki gibi). Seri monitörde herhangi bir değer görmüyorsanız, Seri monitörde Baud hızını 115200 olarak ayarlayıp ayarlamadığınızı kontrol edin.

Adafruit IO PanosuAdafruit IO'daki panonuzu kontrol edin ve MyoWare Muscle Sensor değerlerindeki değişikliklere yanıt veren gösterge ve çizgi grafiğini görmelisiniz.

Adım 4: Adafruit IO Tetik Kurulumu

Adafruit IO Tetik Kurulumu
Adafruit IO Tetik Kurulumu
Adafruit IO Tetik Kurulumu
Adafruit IO Tetik Kurulumu

Şimdiye kadar MyoWare Muscle sensöründen Adafruit IO çalışmasına giriş yapabildik. Şimdi bu bilgileri okumaya başlayacağız. 5 kat sonra Muscle sensörünün X üzerinde bir değer algılandıktan sonra Neopiksel led şerit tarafından bir işlem gerçekleştirilir.

Bu bölüm benim için Adafruit IO geçmişini nasıl okuyabileceğimi araştırmam gereken bir yerdi. Daha önce Feeds ve Dashboards ile çalışmıştım, bu yüzden oluşturulan feed ve dashboard'un Arduino'da bunu okuyabileceğini ve burada bir action oluşturabileceğini düşündüm. Şimdiye kadar başarılı olamadım. Çok fazla araştırma ve Adafruit IO'dan sonra, Adafruit IO'daki Trigger işleviyle bir eylemin tetiklenebileceğini keşfettim. Tetikleyiciler hakkında daha fazla bilgi edinin.

Fazladan bir FeedBir Tetikleme yapmadan önce, çıktı almak için Arduino'da adlandırabilmemiz için başka bir besleme oluşturmalıyız. AlertTriggered adıyla bir yayın oluşturun.

Bir Tetikleyici Oluşturun Feed ve Dashboard is Trigger başlıklarının yanında, buraya gidin. Yeni bir tetikleyici oluşturun. Bir Reaktif Tetikleyici mi yoksa Zamanlı Tetikleyici mi oluşturmak istediğiniz sorulacaktır, Reaktif Tetikleyici'yi seçin ve oluştur'a tıklayın. Bunun nedeni, yalnızca bir şey olduğunda bir şeyi tetiklemek istemenizdir (fotoğraf 1).

Bir takım şeylerin ayarlanması gerekir (Sonraki adımlar fotoğraf 2'de de gösterilmiştir).-İlk If'de analog beslemeyi seçin, böylece giriş buradan alınacaktır.

-Büyük mü seçiyorsunuz, çünkü değer böyle bir sayıyı aştığında bir şeyi tetiklemek istiyorsunuz.

-Karşılaştırma değeri, tetiği etkinleştirmek için istediğiniz sayıyı girebilirsiniz. Bu durumda 600 yaptım.

-Arduino ile 600'ü aştığında bir geri bildirim almak zorunda kalacaksınız: bu nedenle, ardından Mesaj yayınla'yı seçin:.

-Bundan sonra AlertTriggered oluşturulan ikinci Feed'inizi seçebilirsiniz.

Son olarak oluştur'a tıklayın.

Adım 5: Neopiksel Çıkışı

Neopiksel Çıkışı
Neopiksel Çıkışı

Son adım çıktıyı oluşturmaktır. AlertTriggered beslemesini (önceki adımda oluşturduğunuz) çağırarak düzenlediğiniz Arduino çiziminde yapılır.

Çıkış üretebilmek için önce Neopixel led şeridini NodeMCU'nuzun 3v'sindeki NodeMCU.- + 5v (sol) kablosuna bağlamalısınız.)- LED'in D5'teki (veya başka bir D bağlantı noktasındaki) merkez kablosu DIN

CodeI, tüm taslağı dönüşümlü olarak bu adıma bir dosya olarak dahil ettim (bu adımın altında bulunabilir). Bu, son birkaç adımda üzerinde çalıştığınız eskiz ile aynıdır, ancak şimdi son Çizim, çıktıyı oluşturmak için yapmanız gereken adımlara dahil edilmiştir. adafruitio_musclesensor_neopixel dosyası. Bu, daha önce verilerinizle ayarladığınız config.h ile çalışır. Neler olduğunu görebilmeniz için tüm kod blokları yorumlara dahil edilmiştir.

Hangi çıktı verileri kodlandı Bu kodda, AlertTriggered (önceki adımda 600'den büyük bir değer üzerinde beyan ettiğimiz şey) 5 defadan fazla tetiklendiğinde bir tetikleyici oluşturdum. Bu, tetiklendiğinde Neopixel led şeridinin beyazdan kırmızıya ayarlandığı anlamına gelir. Bu bir dakika için olacak ve daha sonra kırmızı durum kaybolacak ve tekrar beyaz duruma çevrilecektir.

Seri Monitör Bir programcı olarak sizin için daha anlaşılır kılmak için, son kod seti Seri Monitör içindir. Değerlerin ne olduğu ve ne zaman sahip olduğunuz uyarı seviyesini tetikler. Uyarı durumu açıkken saniye eklenmesiyle birlikte, 60 saniye sonra tekrar Uyarı durumuna geçinceye kadar. Bu kısım bu nedenle isteğe bağlıdır.

// alarm durumu Serial.println("Geçilen Saniye:"); Serial.println(saniyeGeçti); } else { saniyePassed = 0; }

Kontrol Adımları tamamladıysanız veya adafruitio_musclesensor_neopixel dosyasını kendi config.h ile aldıysanız, onu NodeMCU'nuza yükleyebilirsiniz. Bittiyse, Seri Monitörünüzde aşağıdakine benzer bir şey görmelisiniz:

Adafruit IO'ya bağlanılıyor…

Adafruit IO bağlandı. Gönderiliyor -> 23 Gönderiliyor -> 78

Fotoğraf 1, Uyarı modundayken Seri Monitördür.

Çalışmıyor mu? Aşağıdakileri kontrol edin- config.h'nin doğru şekilde dahil edilip edilmediğini kontrol edin- Doğru Adafruit IO Kullanıcı Adı ve Anahtarını girdiniz mi- Doğru SSID'ye bir Wifi şifresi girdiniz mi- MyoWare'in kablolarını yerleştirdiniz mi? Sağdan ve Neopixel Led Strip'ten Kas Sensörü

Veya önceki adımları kontrol edin.

6. Adım: Sonuçlar

Yaşasın bitirdin! Son ürünü eylem halinde göstermek ve görmek için bir video ekledim.

Önerilen: