Mündəricat:
- Addım 1: Vibrasiya Motorunun Qurulması Düyməsinə Lazım olan Komponentlər
- Addım 2: Düymədən Vibrasiya Motorunun Qurulmasına dair sxemlər
- Addım 3: Düymənin Vibrasiya Motoru Qurulmasına Ayarlanması
- Addım 4: Kod
- Addım 5: Vibrasiya Motorunun Quraşdırılması Düyməsinin Videoları
- Addım 6: Genişləndirilə bilən Əlcək Prototipi
- Addım 7: Unikal Titrəmə Çıxışlı Çoxlu Düymələr üçün Kod
Video: Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi: 7 Adım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
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
- 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
Ə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 |
#daxil edin |
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ı
Addım 6: 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 |
#daxil edin |
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ə:
ATtiny85 Geyinilə bilən Titrəmə Aktivliyi İzləmə İzləmə və Proqramlaşdırma Arduino Uno ilə ATtiny85: 4 addım (şəkillərlə)
ATtiny85 Geyinilə bilən Titrəmə Aktivliyi İzləmə Saatı və Proqramlaşdırılması Arduino Uno ilə ATtiny85: Geyinilə bilən fəaliyyət izləmə saatı necə edilir? Bu, durğunluq algıladıqda titrəmək üçün hazırlanmış geyilə bilən bir gadgetdır. Vaxtınızın çoxunu mənim kimi kompüterdə keçirirsinizmi? Özünüz də bilmədən saatlarla oturursunuz? Sonra bu cihaz f
Yaddaş funksiyası olan uzaqdan idarə olunan ev tətbiqi: 4 addım
Yaddaş funksiyası olan uzaqdan idarə olunan ev tətbiqi: bu sxemdən istifadə edərək, uzaqdan idarəetmə vasitəsi ilə 4 röleyi idarə edə bilərik və eeprom funksiyasından istifadə edərək, hətta enerji itkisi zamanı da rölelərin son vəziyyətini xatırlayacağıq
Arduino Led Matrix Əlaqəsi: 9 Adım (Şəkillərlə)
Qaynaqla Arduino Led Matrix Əlaqəsi: Bir LED matrisi və ya LED displeyi, həm sənaye, həm də kommersiya məlumatlarının göstərilməsi üçün, həm də hobbi insan-maşın interfeysləri üçün faydalı olan böyük, aşağı qətnaməli nöqtə-matrisli ekran formasıdır. Katoları olan 2-D diod matrisindən ibarətdir
İdarə olunan titrəmə gərginliyi robotu: 7 addım (şəkillərlə birlikdə)
İdarə edilə bilən Titrəmə Tensegrity Robotu: Gərginlik quruluşu uzanan kordlardan və sərt dayaqlardan ibarətdir. Düşdükdə və ya sıxanda əyilə və sıxıla bilər və sonra yenidən formaya girə bilər. Həm də yüksək dərəcədə uyğunluğa malikdir, yəni ətrafdakı insanlara və ya avadanlıqlara zərər verməyəcək
Yalnız bir DC Motoru olan 12V -dən 220V -ə qədər olan ən sadə çevirici: 3 addım (şəkillərlə)
12V -dən 220V -a qədər bir DC Motoru olan ən sadə İnverter: Salam! Bu təlimatda evdə sadə bir çevirici hazırlamağı öyrənəcəksiniz. Dəyişdirmə işlərindən yalnız DC Motor məsuldur