Mündəricat:

Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi: 7 Adım (Şəkillərlə)
Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi: 7 Adım (Şəkillərlə)

Video: Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi: 7 Adım (Şəkillərlə)

Video: Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi: 7 Adım (Şəkillərlə)
Video: Xərçəng xəstəliyinin 5 ƏSAS ƏLAMƏTİ - DİQQƏTLİ OLUN 2024, Noyabr
Anonim
Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi
Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi
Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi
Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi

Bu təlimatda, əvvəlcə genişləndirilmiş bir düymə ilə bir vibrasiya motorunu idarə etmək üçün Arduino Uno -dan necə istifadə edəcəyinizi sizə göstərəcəyik. Düymələrdəki dərslərin çoxu fiziki çörək taxtasındakı düyməni əhatə edir, halbuki bu dərslikdə düymə keçid kabelləri vasitəsilə çörək taxtasına qoşulmaq üçün dəyişdirilmişdir. Bu düymə motorun gücünü və titrəmə modelini idarə etməyə imkan verəcək. Bunun ardınca, bu qurğudan istifadə edən geyilə bilən texnologiyanın mümkün bir prototipini göstərəcəyik. Bu geyilə bilən düymə, ucuna bərkidilmiş, basılmış xüsusi düyməyə əsaslanaraq istifadəçiyə bənzərsiz vibrasiya rəyləri vermək üçün proqramlaşdırılmış barmaq ucları olan bir əlcəkdir.

Addım 1: Vibrasiya Motorunun Qurulması Düyməsinə Lazım olan Komponentlər

Vibrasiya Motorunun Qurulması Düyməsinə Lazım olan Komponentlər
Vibrasiya Motorunun Qurulması Düyməsinə Lazım olan Komponentlər
  • Arduino Uno
  • Çörək lövhəsi
  • Sikkə Vibratör Titrəmə Motoru
  • Grove düyməsi
  • Kişidən kişiyə keçid telləri (x10)
  • Jumper Tel 4 Pin
  • Haptic Motor Sürücü
  • Kişidən Qadına Kenar Bağlayıcı
  • Lehimleme dəmir

Addım 2: Düymədən Vibrasiya Motorunun Qurulmasına dair sxemlər

Düyməni Vibrasiya Motoru Qurmaq üçün Şemalar
Düyməni Vibrasiya Motoru Qurmaq üçün Şemalar

Əvvəlki diaqram Fritzing.org ilə yaradılmışdır.

Addım 3: Düymənin Vibrasiya Motoru Qurulmasına Ayarlanması

Addım 1: kənar konnektorunu vibrasiya motor sürücüsünə lehimləyin. Sikkə vibratörünün tellərini vibrasiya motor sürücüsünün terminallarına lehimləyin.

Addım 2: 4 pinli keçid kabelini düymənin qırılmasına qoşun.

Addım 3: Atlama tellərindən birini istifadə edərək, Arduino üzərindəki GRD pinini çörək taxtasındakı bir sıraya bağlayın.

Addım 4: Başqa bir tullanan tel istifadə edərək, Arduino üzərindəki Volt 3.3 pinini çörək lövhəsindəki fərqli bir sıraya bağlayın.

Addım 5: İndi vibrasiya motor sürücüsünü Arduinoya bağlayacağıq. Üçüncü bir keçid teli istifadə edərək, vibrasiya motor sürücüsündəki GND pinini, Arduinodan GRD pimi ilə çörək lövhəsindəki eyni sıraya bağlayın. Titrəmə motor sürücüsündəki VCC (volt) üçün başqa bir tel ilə, çörək taxtasının volt sırasına qədər eyni şeyi edin.

Addım 6: Titrəmə motor sürücüsündəki SDA pinini birbaşa Arduino üzərindəki SDA pininə bağlamaq üçün başqa bir tel istifadə edin. Yenə hər ikisindəki SCL pinləri ilə eyni şeyi edin. Alternativ olaraq, 5 -ci addıma bənzər bir yanaşma edin və Arduino üzərindəki SDA və SCL sancaqlarını keçid telləri vasitəsilə çörək lövhəsindəki öz sıralarına qoşun. Daha sonra çörək taxtasında SDA pininin motor sürücüsündəki SDA pininə bağlı olduğu cərgədən bir tel çəkin. Çörək lövhəsindəki SCL sırası üçün motor sürücüsündəki SCL pininə qədər eyni şeyi edin.

Addım 7: İndi düyməni vibrasiya motor sürücüsünə və Arduinoya bağlayaraq bitirəcəyik. Düymənin kəsilməsinə bağlı olan 4 pinli tullanan teldən GRD -ni çörək lövhəsindəki digər GRD telləri ilə eyni sıraya bağlamaq üçün başqa bir keçid teli istifadə edin. Eyni şeyi bir daha voltla edin (VCC).

Adım 8: SIG -dən düymənin kəsilməsindəki son yazını Arduino -dakı bir pinə bağlayın (kodumuz üçün 7 -ci pindən istifadə etdik).

Addım 9: Arduino'yu qoşun və kodu yükləyin və işlədiyini izləyin!

Addım 4: Kod

Düymə-Titrəmə-Motor.c

/ * Kod https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 uyğunlaşdırılmışdır */
#daxil edin// SparkFun Haptic Motor Sürücü Kitabxanası
#daxil edin// I2C kitabxanası
SFE_HMD_DRV2605L HMD; // Haptik motor sürücüsü obyekti yaradın
int düyməsi = 7; // düymə üçün giriş pinini 7 seçin
int düyməsi_val = 0; // pin vəziyyətini oxumaq üçün dəyişən
voidsetup ()
{
/ * Haptik Motor Sürücü Obyektini işə salın */
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Daxili tətik giriş rejimi - Çalmağı tetiklemek üçün GO () funksiyasından istifadə etməlisiniz.
HMD. MotorSelect (0x36); // ERM mühərriki, 4x Əyləc, Orta döngə qazancı, 1.365x geri EMF qazancı
HMD. Kitabxana (2); // ERM mühərrikləri üçün 1-5 və 7, LRA mühərrikləri üçün 6
}
boşluq ()
{
/ * Vibrasiya motorunu işə salın */
HMD.go ();
button_val = digitalRead (düymə);
əgər (button_val == HIGH) {
/* Bu düyməni basıldığını qeyd etmək üçün çıxış edir, debugginh üçün istifadə edin*/
Serial.println ("Düymə basıldı.");
/ * Dalğa formu kitabxanasında 0-122 fərqli dalğa növü var */
HMD. Waveform (0, 69);}
başqa {
/ * Əgər düyməyə basılmazsa, vibrasiya motorunu dayandırın */
HMD.stop ();
}
}

GitHub tərəfindən ❤ ilə ev sahibliyi edilən rawButton-Vibration-Motor.c-ə baxın

Addım 5: Vibrasiya Motorunun Quraşdırılması Düyməsinin Videoları

Image
Image

Addım 6: Genişləndirilə bilən Əlcək Prototipi

Genişləndirilə bilən Əlcək Prototipi
Genişləndirilə bilən Əlcək Prototipi
Genişləndirilə bilən Əlcək Prototipi
Genişləndirilə bilən Əlcək Prototipi

Düymənin titrəmə mühərrikinə mümkün tətbiqlərindən biri yuxarıda göstərilən əlcəkdir. Genişləndirilə bilən "barmaq ucları" etmək üçün şprislər kimi ucuz əldə edilə bilən materialları dəyişdirdik. Grove düymələrini velcro istifadə edərək dəyişdirilmiş şprislərin sonuna bağladıq, əlcəyin barmaq uclarında deliklər kəsdik və hər bir şprisi deliklərə yerləşdirdik. Düymələrin 4 pinli tullanan telləri şprislərdən keçir və kifayət qədər uzunluqdadır ki, şprisləri tam uzunluğuna qədər uzada bilərsiniz. Arduino və çörək taxtası əlcəyin üstünə velcro vasitəsi ilə bərkidilir ki, bu da düymələrin tellərinin hər bir barmaq ucundakı kiçik bir yarıq vasitəsilə asanlıqla bağlanmasına imkan verir. Motor sürücüsü, titrəmə motorunu əlcəyin içərisinə yapışdırmaq üçün əlcəyin alt tərəfinə açılışla bağlanır. İstifadəçi əlcəyi taxanda vibrasiya motoru istifadəçinin biləyinin altına oturur. İstifadəçi bir səthə toxunduqda və düymələrdən birini basdıqda, motor vasitəsilə unikal geribildirim vibrasiyası verilir.

Belə bir əlcəyin arxasındakı düşüncə prosesi, onu taxan birinin adi barmaq uclarının hüdudlarından kənara çıxan şeylərə "toxunmasına" və bu səthlərə toxunduğuna dair rəy almasına icazə verməkdir. Titrəmə geribildirimi, hansı barmağın səthə toxunmasından asılı olaraq dəyişir, belə ki, istifadəçinin titrəmə nümunəsinə əsasən hansı barmağın səthə toxunduğunu söyləməsi mümkündür.

Prototipi daha da irəli aparmağın bir çox yolu var, məsələn barmaqların uzanması və ya toxunulan səthin növündən asılı olaraq geribildirim dəyişikliyi etmək. İdeal olaraq, uzatma barmaqları daha yaxşı teleskop seçimləri üçün 3D çap vasitəsi ilə yaradılacaq. İstifadəçinin toxunduğu səthin nə qədər isti olduğu və ya oxşar məqsədlər üçün nəmlik sensoru haqqında rəy bildirmək üçün düymələr yerinə bir temperatur sensoru istifadə edilə bilər. İstifadəçiyə toxunduğu obyektin nə qədər uzaqda olduğunu bilmək üçün "barmağın" nə qədər uzadıldığını anlamağın bir yolu. Bu prototipi daha da irəli aparmaq üçün mümkün olan bir neçə variantdır.

Bu əlcək, hisslərinizi genişləndirməyin və istifadəçinin hiss edə və anlaya biləcəyi rəy yaratmağın asan bir yolu olaraq ümumi materiallardan hazırlana bilər.

Addım 7: Unikal Titrəmə Çıxışlı Çoxlu Düymələr üçün Kod

mutliple_buttons_to_vibmotor.ino

/ * SparkFun-dan uyğunlaşdırılmış kod https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#daxil edin// SparkFun Haptic Motor Sürücü Kitabxanası
#daxil edin// I2C kitabxanası
SFE_HMD_DRV2605L HMD; // Haptik motor sürücüsü obyekti yaradın
int düyməsi_midd = 7;
int düymə_index = 5; // düymə üçün giriş pinini seçin
int düymə_sıraq = 9;
int düyməsi_pinky = 3;
voidsetup ()
{
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Daxili tətik giriş rejimi - Çalmağı tetiklemek üçün GO () funksiyasından istifadə etməlisiniz.
HMD. MotorSelect (0x36); // ERM mühərriki, 4x Əyləc, Orta döngə qazancı, 1.365x geri EMF qazancı
HMD. Kitabxana (2); // ERM mühərrikləri üçün 1-5 və 7, LRA mühərrikləri üçün 6
}
boşluq ()
{
HMD.go (); // vibrasiya motorunu işə salın
/ * Hansı düymənin basıldığını yoxlayın və dalğa forması 0-122 */
əgər (digitalRead (button_middle) == HIGH) {
Serial.println ("Düymə basıldı.");
HMD. Waveform (0, 112);}
elseif (digitalRead (button_index) == YÜKSƏK) {
HMD. Waveform (0, 20);
}
elseif (digitalRead (button_ring) == YÜKSƏK) {
HMD. Waveform (0, 80);
}
elseif (digitalRead (button_pinky) == YÜKSEK) {
HMD. Waveform (0, 100);
}
/ * Heç bir düyməyə basılmazsa dayandırın */
başqa {
HMD.stop ();
}
}

GitHub tərəfindən ❤ ev sahibliyi ilə rawmutliple_buttons_to_vibmotor.ino görüntüləyin

Tövsiyə: