İçindekiler:
- Adım 1: Düğmeden Titreşim Motoru Kurulumu için Gerekli Bileşenler
- Adım 2: Düğmeden Titreşim Motoru Kurulumuna İlişkin Şemalar
- Adım 3: Titreşim Motoru Kurulumu Düğmesinin Kurulumu
- Adım 4: Kod
- Adım 5: Düğmeden Titreşim Motoru Kurulumu Videosu
- Adım 6: Uzatılabilir Eldiven Prototipi
- 7. Adım: Eşsiz Titreşim Çıkışlı Çoklu Düğmeler İçin Kod
Video: Titreşim Geri Beslemeli Uzatılabilir Düğme Uygulaması: 7 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Bu eğitimde, ilk önce size genişletilmiş bir düğme aracılığıyla bir titreşim motorunu kontrol etmek için Arduino Uno'nun nasıl kullanılacağını göstereceğiz. Basmalı düğmelerle ilgili eğitimlerin çoğu, fiziksel devre tahtasındaki düğmeyi içerirken, bu eğitimde düğme, devre tahtasına bunun yerine atlama kabloları ile bağlanacak şekilde değiştirildi. Bu düğme, motorun gücünü ve titreşim düzenini kontrol etmenizi sağlar. Bunu takiben, bu kurulumdan yararlanan giyilebilir bir teknolojinin olası bir prototipini göstereceğiz. Bu giyilebilir cihaz, basılan belirli düğmeye dayalı olarak kullanıcıya benzersiz titreşim geri bildirimi vermek üzere programlanmış, ucuna düğmeler takılı olan uzatılabilir parmak uçlarına sahip bir eldivendir.
Adım 1: Düğmeden Titreşim Motoru Kurulumu için Gerekli Bileşenler
- Arduino Uno'su
- ekmek tahtası
- Para Vibratör Titreşim Motoru
- Koru Düğmesi
- Erkek-Erkek Jumper Telleri (x10)
- Jumper Tel 4 Pin
- Dokunsal Motor Sürücüsü
- Erkek-Dişi Kenar Konektörü
- Havya
Adım 2: Düğmeden Titreşim Motoru Kurulumuna İlişkin Şemalar
Önceki diyagram Fritzing.org ile oluşturulmuştur.
Adım 3: Titreşim Motoru Kurulumu Düğmesinin Kurulumu
Adım 1: Kenar konektörünü titreşim motoru sürücüsüne lehimleyin. Bozuk para vibratörünün tellerini titreşim motoru sürücüsünün terminallerine lehimleyin.
Adım 2: 4 pinli jumper kablosunu düğme çıkışına bağlayın.
Adım 3: Jumper kablolarından birini kullanarak Arduino üzerindeki GRD pinini breadboard üzerindeki bir sıraya bağlayın.
Adım 4: Başka bir jumper kablosu kullanarak Arduino üzerindeki Volt 3.3 pinini breadboard üzerinde farklı bir sıraya bağlayın.
Adım 5: Şimdi titreşim motor sürücüsünü Arduino'ya bağlayacağız. Üçüncü bir atlama teli kullanarak, titreşim motoru sürücüsündeki GND pimini, Arduino'dan gelen GRD pimi ile devre tahtasındaki aynı sıraya bağlayın. Aynısını, titreşim motoru sürücüsündeki VCC (volt) için devre tahtasının volt satırına başka bir tel ile yapın.
Adım 6: Titreşim motoru sürücüsündeki SDA pinini doğrudan Arduino üzerindeki SDA pinine bağlamak için başka bir kablo kullanın. Yine, her ikisinde de SCL pinleri ile aynısını yapın. Alternatif olarak, 5. adıma benzer bir yaklaşım izleyin ve Arduino'daki SDA ve SCL pinlerini jumper kabloları aracılığıyla devre tahtasındaki kendi sıralarına bağlayın. Ardından devre tahtasındaki SDA pininin bağlı olduğu sıradan motor sürücüsündeki SDA pinine bir kablo çekin. Aynı işlemi devre tahtasındaki SCL satırı için motor sürücüsündeki SCL pinine yapın.
Adım 7: Şimdi butonu vibrasyon motoru sürücüsüne ve Arduino'ya bağlayarak bitireceğiz. GRD'yi, buton kopmasına bağlı 4 pinli atlama telinden, devre tahtasındaki diğer GRD telleriyle aynı sıraya bağlamak için başka bir atlama teli kullanın. Aynısını volt ile bir kez daha yapın (VCC).
Adım 8: Düğme koparmadaki SIG'den son bir yazıyı Arduino'daki bir pime bağlayın (kodumuzun amaçları için pim 7'yi kullandık).
Adım 9: Arduino'yu takın ve kodu yükleyin ve çalışmasını izleyin!
Adım 4: Kod
Düğme-Titreşim-Motor.c
/* https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 adresinden uyarlanan kod */ |
#Dahil etmek |
#Dahil etmek |
SFE_HMD_DRV2605L HMD; //dokunsal motor sürücü nesnesi oluştur |
int düğmesi = 7; // buton için giriş pini 7'yi seçin |
int düğme_değeri = 0; // pin durumunu okumak için değişken |
geçersiz kurulum() |
{ |
/* Haptic Motor Driver Object'i başlat */ |
HMD.begin(); |
Seri.başla(9600); |
HMD. Modu(0); // Dahili tetik giriş modu -- Oynatmayı tetiklemek için GO() işlevini kullanmalıdır. |
HMD. MotorSelect(0x36); // ERM motoru, 4x Frenleme, Orta döngü kazancı, 1.365x geri EMF kazancı |
HMD. Library(2); // ERM motorlar için //1-5 & 7, LRA motorlar için 6 |
} |
boşluk döngüsü() |
{ |
/* Titreşim motorunu çalıştır */ |
HMD.go(); |
button_val = digitalRead(button); |
if(button_val== YÜKSEK) { |
/* Bu, düğmeye basıldığını günlüğe kaydetmek için çıktı, hata ayıklama için kullanın*/ |
Serial.println("Düğmeye basıldı."); |
/* Dalga formu kitaplığında 0-122 farklı dalga türü vardır */ |
HMD. Dalga formu(0, 69);} |
Başka{ |
/* Düğmeye basılmazsa titreşim motorunu durdurun */ |
HMD.stop(); |
} |
} |
GitHub tarafından ❤ ile barındırılan rawButton-Vibration-Motor.c'yi görüntüleyin
Adım 5: Düğmeden Titreşim Motoru Kurulumu Videosu
Adım 6: Uzatılabilir Eldiven Prototipi
Düğmenin titreşim motoruna olası bir uygulaması, yukarıda gösterilen eldivendir. Uzatılabilir "parmak uçları" yapmak için şırınga gibi ucuz erişilebilir malzemeleri değiştirdik. Modifiye edilmiş şırıngaların uçlarına cırt cırtlı oluk düğmelerini tutturduk, bir eldivenin parmak uçlarında delikler açtık ve her şırıngayı deliklere yerleştirdik. Düğmelerin 4 pinli atlama telleri şırıngaların içinden geçirilir ve şırıngaları tam boylarına kadar uzatabileceğiniz kadar uzundur. Arduino ve breadboard, cırt cırt ile eldivenin üst kısmına takılır, bu da düğmelerin kablolarının her parmak ucunun tabanındaki küçük bir yarıktan kolayca bağlanmasına izin verir. Motor sürücüsü, vibrasyon motorunu eldivenin iç kısmına yapıştırmak için açıklıktan eldivenin alt tarafına takılır. Kullanıcı eldiveni giydiğinde, titreşim motoru kullanıcının bileğinin alt tarafına oturur. Kullanıcı bir yüzeye dokunduğunda ve düğmelerden birine bastığında, motor aracılığıyla benzersiz bir geri bildirim titreşimi verilir.
Böyle bir eldivenin arkasındaki düşünce süreci, onu giyen birinin normal parmak uçlarının ötesindeki şeylere "dokunmasına" ve bu yüzeylere dokunduğuna dair geri bildirim almasına izin vermek olacaktır. Titreşim geri bildirimi, yüzeye hangi parmağın dokunduğuna bağlı olarak değişir, böylece kullanıcının titreşim modeline göre yüzeye hangi parmağın dokunduğunu söylemesi mümkün olur.
Prototipi daha ileri götürmenin, parmakları daha uzatılabilir hale getirmek veya dokunulan yüzey türüne göre geri bildirim değişikliği yapmak gibi birçok yolu vardır. İdeal olarak, daha iyi teleskop seçenekleri için 3D baskı yoluyla uzatılabilir parmaklar oluşturulabilir. Kullanıcının dokunduğu yüzeyin ne kadar sıcak olduğu konusunda geri bildirim sağlamak için düğmelerin yerine bir sıcaklık sensörü veya benzer amaçlar için bir nem sensörü kullanılabilir. Kullanıcının dokunduğu nesnenin ne kadar uzakta olduğunu bilmesini sağlamak için "parmağın" ne kadar uzatıldığını algılamanın bir yolu uygulanabilir. Bunlar, bu prototipi daha ileriye götürmek için yalnızca birkaç olası seçenek.
Bu eldiven, duyularınızı genişletmenin ve kullanıcının hissedip anlayabileceği geri bildirim oluşturmanın kolay bir yolu olarak yaygın malzemelerden yapılabilir.
7. Adım: Eşsiz Titreşim Çıkışlı Çoklu Düğmeler İçin Kod
mutliple_buttons_to_vibmotor.ino
/* SparkFun'dan Uyarlanan Kod https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */ |
#Dahil etmek |
#Dahil etmek |
SFE_HMD_DRV2605L HMD; //dokunsal motor sürücü nesnesi oluştur |
int button_middle = 7; |
int button_index = 5; // buton için giriş pinini seçin |
int button_ring = 9; |
int button_pinky = 3; |
geçersiz kurulum() |
{ |
HMD.begin(); |
Seri.başla(9600); |
HMD. Modu(0); // Dahili tetik giriş modu -- Oynatmayı tetiklemek için GO() işlevini kullanmalıdır. |
HMD. MotorSelect(0x36); // ERM motoru, 4x Frenleme, Orta döngü kazancı, 1.365x geri EMF kazancı |
HMD. Library(2); // ERM motorlar için //1-5 & 7, LRA motorlar için 6 |
} |
boşluk döngüsü() |
{ |
HMD.go(); // titreşim motorunu çalıştır |
/* Hangi düğmeye basıldığını ve çıkış dalga biçimini 0-122 kontrol edin */ |
if(digitalRead(button_middle)== YÜKSEK) { |
Serial.println("Düğmeye basıldı."); |
HMD. Dalga formu(0, 112);} |
elseif(digitalRead(button_index) == YÜKSEK){ |
HMD. Dalga formu(0, 20); |
} |
elseif(digitalRead(button_ring) == YÜKSEK){ |
HMD. Dalga formu(0, 80); |
} |
elseif(digitalRead(button_pinky) == YÜKSEK){ |
HMD. Dalga biçimi(0, 100); |
} |
/* Hiçbir tuşa basılmazsa dur */ |
Başka{ |
HMD.stop(); |
} |
} |
GitHub tarafından ❤ ile barındırılan rawmutliple_buttons_to_vibmotor.ino'yu görüntüle
Önerilen:
Arduino Araba Geri Geri Park Uyarı Sistemi - Adım Adım: 4 Adım
Arduino Araba Geri Geri Park Uyarı Sistemi | Adım Adım: Bu projede Arduino UNO ve HC-SR04 Ultrasonik Sensör kullanarak basit bir Arduino Araba Geri Park Sensörü Devresi tasarlayacağım. Bu Arduino tabanlı Araba Ters uyarı sistemi, Otonom Navigasyon, Robot Mesafesi ve diğer menzil r
Azalt, Geri Dön, Geri Dönüştür: 6 Adım
Azaltın, Geri Dönün, Geri Dönüştürün: Sosyal etkinlikler, alüminyum kutulardan plastik kaplara kadar tümü geri dönüştürülebilen büyük miktarlarda atık üretir. Daha önce bu geri dönüşümü teşvik edecek programlar yoktu, bu yüzden öğrenciler onları çöpe attı ve çevre üzerinde olumsuz etkiler yarattı
Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı: 7 Adım (Resimlerle)
Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı: Kardiyo egzersizi, özellikle iç mekanda egzersiz yaparken sıkıcıdır. Mevcut birkaç proje, ergometreyi bir oyun konsoluna bağlamak veya hatta VR'de gerçek bir bisiklet yolculuğunu simüle etmek gibi harika şeyler yaparak bunu hafifletmeye çalışıyor. Onlar kadar heyecan verici
Raspberry Pi 3 Canlı Beslemeli Hareket Algılama Kamerası: 6 Adım
Raspberry Pi 3 Canlı Beslemeli Hareket Algılama Kamerası: Giriş Bu projede, kamera kapanı, evcil hayvan/bebek monitörü, güvenlik kamerası ve çok daha fazlası olarak kullanabileceğiniz bir hareket algılama kamerasının nasıl oluşturulacağını öğreneceksiniz. Bu Proje birkaç adımdan oluşmaktadır: Giriş Ayarı
GoPro/SJ4000/Xiaomi Yi/iLook için Uzatılabilir El Tipi Gimbal: 9 Adım (Resimlerle)
GoPro/SJ4000/Xiaomi Yi/iLook için Uzatılabilir El Gimbal: Bu eğitim, GoPro SJ4000/5000/6000 Xiaomi Yi Walkera iLook gibi kameraları monte edebilen uzatılabilir bir el gimbal almak için bir selfie çubuğu ve bir 2D Gimbal'ı nasıl hackleyeceğiniz konusunda size rehberlik edecek. Bir Gimbal, geri kalan bir stabilizasyon mekanizmasıdır