Mündəricat:

Vibrotaktil Sensor Əvəzetmə və Artırma Cihazı (SSAD): 4 Addım
Vibrotaktil Sensor Əvəzetmə və Artırma Cihazı (SSAD): 4 Addım

Video: Vibrotaktil Sensor Əvəzetmə və Artırma Cihazı (SSAD): 4 Addım

Video: Vibrotaktil Sensor Əvəzetmə və Artırma Cihazı (SSAD): 4 Addım
Video: Making Robots Smarter II: Extended Tactile Sensing 2024, Noyabr
Anonim
Vibrotaktil Sensor Əvəzetmə və Artırma Cihazı (SSAD)
Vibrotaktil Sensor Əvəzetmə və Artırma Cihazı (SSAD)
Vibrotaktil Sensor Əvəzetmə və Artırma Cihazı (SSAD)
Vibrotaktil Sensor Əvəzetmə və Artırma Cihazı (SSAD)

Bu layihə Hissi Əvəzetmə və Artırma sahəsindəki araşdırmaları asanlaşdırmağı hədəfləyir. MSc dissertasiyamda vibrotactile SSAD prototiplərinin qurulmasının fərqli yollarını araşdırmaq imkanım var idi. Hissi Əvəzetmə və Artırma təkcə kompüter alimlərini deyil, idrak elmi kimi digər sahələrdən olan tədqiqatçıları da narahat edən bir mövzu olduğundan, addım-addım təlimat elektronika və kompüter elmləri üzrə mütəxəssis olmayanlara bu prototipi özləri üçün yığmağa imkan verməlidir. tədqiqat məqsədləri.

Tam olaraq bir növ marka/məhsul üçün reklam etmək fikrində deyiləm. Bu layihə heç bir şirkət tərəfindən maliyyələşdirilməyib. İstifadə etdiyim material texniki xüsusiyyətlərə və rahatlığa görə seçildi (sürət/çatdırılma qiyməti, mövcudluq və s.). Bu Təlimat kitabında qeyd olunan bütün məhsullar üçün eyni dərəcədə uyğun alternativlər mövcuddur.

Mövcud Instructable, 4 mühərrikə və analoq sensora qədər əsas SSAD prototipinin necə qurulacağına dair addım-addım təlimatları ehtiva edir.

Bu Təlimata əlavə olaraq üç uzantı yaratdım: Birincisi, bu SSAD prototipi ilə dörddən çox mühərrikin necə istifadə ediləcəyinə dair təlimatları dərc etdim (https://www.instructables.com/id/Using-More-Than-4…). İkincisi, bu prototipi necə geyinəcək (https://www.instructables.com/id/Making-the-SSAD-W…) və ERM mühərriklərinin qapalı fırlanan kütləsi olmadan necə örtülməsi ilə bağlı bir nümunə hazırladım (https:/ /www.instructables.com/id/Covering-Rotating…). Bundan əlavə, analoq sensorlardan başqa (bu halda yaxınlıq sensorlar) prototipə necə inteqrasiya olunacağına dair bir nümunə də dərc olunur (https://www.instructables.com/id/Including-a-Proxi…).

"Həssas Əvəzetmə və Artırma" nədir?

Hissi Əvəzetmə ilə bir hiss üsulu (məsələn, görmə) tərəfindən toplanan məlumatlar başqa bir mənada (məsələn, səs) qəbul edilə bilər. İnsanlara duyğu itkisini və ya pozulmasını aradan qaldırmağa kömək edən perspektivli invaziv olmayan bir texnikadır.

Duyğusal stimul, yəni tərcümə edildikdə, insanlar tərəfindən ümumiyyətlə qəbul edilmirsə (məsələn, UV işığı), bu yanaşmaya Sensor Artırma deyilir.

Bu prototipi qurmaq üçün hansı bacarıqlara ehtiyac var?

Əsasən, aşağıda göstərilən təlimatları izləmək üçün heç bir inkişaf etmiş proqramlaşdırma bacarığına ehtiyac yoxdur. Ancaq lehimləmə işinə yeni başlamısınızsa, bu texnika ilə tanış olmaq üçün əlavə vaxt ayırın. Daha əvvəl proqramlaşdırmamış olsanız, proqramlaşdırma sahəsində daha təcrübəli birinin köməyinə ehtiyac ola bilər.

Bahalı və ya asanlıqla əldə edilə bilməyən maşın və ya alətlər varmı?

Bir lehimləmə dəmiri istisna olmaqla, heç bir maşın və ya alət, İnternetdə və ya növbəti ev mağazasında asanlıqla satın ala bilməyəcəyiniz bu prototipin qurulması üçün lazım deyil. Bu SSAD sürətli prototipləşdirməyə imkan vermək üçün hazırlanmışdır, yəni tez bir zamanda təkrarlanmalı və fikirlərin ucuz bir şəkildə araşdırılmasına imkan verməlidir.

Təchizat

Əsas komponentlər (4 mühərrik üçün təxminən 65 funt, lehimləmə avadanlığı istisna olmaqla)

  • Arduino Uno (məsələn, https://store.arduino.cc/arduino-uno-rev3, 20 funt)
  • Adafruit Motorshield v2.3 (məsələn, https://www.adafruit.com/product/1438, 20 £) və kişi yığma başlıqları (ümumiyyətlə mühərrik alarkən daxil edilir)
  • Silindrik ERM mühərrikləri (məsələn, https://www.adafruit.com/product/1438, 5, 50 £/motor)
  • Lehimləmə dəmiri və lehim teli
  • Tellər

İsteğe bağlı (uzantılara baxın)

Açılmayan fırlanan kütləsi olan ERM mühərriki alınarsa:

  • Vinil boru
  • İncə yumşaq lövhə
  • 3D printer (Arduino korpusu üçün)

4 -dən çox mühərrikdən istifadə etmək istəyirsinizsə (8 -dən çox eyni vaxtda):

  • Adafruit Motorshield v2.3 və kişi yığma başlıqları
  • Qadın yığma başlıqları (məsələn,
  • 6 -dan çox mühərrik üçün Arduino Mega (məsələn,

Addım 1: Lehimləmə

Lehimləmə
Lehimləmə

Sancaqları mühərrikə lehimləyin

Adafruit, başlıqları mühərrikə necə lehimləmək barədə çox əhatəli bir dərs təqdim edir (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Birincisi, yığma başlıqlarını Arduino Uno üzərindəki pinlərə qoyun,
  2. Sonra, sancaqların qısa tərəfi çıxmaq üçün qalxanı üstünə qoyun.
  3. Bundan sonra, bütün sancaqları qalxana lehimləyin və lehimin pimin ətrafında axdığından və vulkan şəklini əmələ gətirdiyindən əmin olun (https://cdn.sparkfun.com/assets/c/d/ ünvanından qəbul edilmiş şəkilə baxın) a/a/9/523b1189…).

Lehimləməyə yeni başlamısınızsa, https://learn.sparkfun.com/tutorials/how-to-solder… kimi daha çox dərslərlə özünüzə kömək edin.

Uzun telləri mühərrikə lehimləyin

Mühərriklərin çoxu çox qısa və nazik tellər olmadan gəldiyindən, onları daha uzun və daha möhkəm tellərə lehimləyərək uzatmaq məntiqlidir. Budur bunu necə edə biləcəyiniz:

  1. Plastikləri tellərin ucundan çıxarın və şəkildəki kimi açıq telləri boyunca bir -biri ilə təmasda olacaq şəkildə yerləşdirin.
  2. Hər iki telin ipinə toxunaraq və lehimin üstündən keçməsinə icazə verərək onları birlikdə lehimləyin.

Addım 2: Kabel çəkmə

Kablolama
Kablolama
  1. Arduinonun üstündəki mühərrik yığın.
  2. Mühərrikləri mühərrik qapağına daxil edin.
  3. Arduino -ya analoq sensorlar bağlayın (görüntüdə bu işıq sensorları ilə aparılır, lakin eyni dövrə digər analoq sensorlar üçün eyni görünür).

Addım 3: Kodlaşdırma

Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma

1. Yükləyin

Aşağıda əlavə olunan zip qovluğunu (SSAD_analogueInputs.zip) yükləyin. Açın.

Arduino IDE -ni yükləyin (https://www.arduino.cc/en/main/software).

Arduino IDE ilə açılmamış qovluqdakı Arduino faylını (SSAD_analogueInputs.ino) açın.

2. Kitabxanaları quraşdırın

Verilən kodu işə salmaq üçün bəzi kitabxanalar quraşdırmalısınız. Beləliklə, bu məqalənin sonunda əlavə olunan Arduino faylı Arduino IDE -nin içərisində açıqdırsa, aşağıdakıları edin:

  1. Basın: Alətlər → Kitabxanaları İdarə Edin…
  2. Axtarış sahəsində "Adafruit Motor Shield V2 Kitabxanası" nı axtarın
  3. Quraşdırma düyməsini basaraq quraşdırın

Həmin kitabxanaları yüklədikdən sonra, verilən kodlara #include ifadələri işləməlidir. "Doğrula" düyməsini tıklayaraq yoxlayın (sol üstdəki işarəni seçin). Bütün kitabxanaların işlədiyini bilirsiniz, əgər proqramın altındakı "Tamamlandı tərtib edildi" mesajını alsanız. Əks təqdirdə, qırmızı bir çubuq görünür və səhv etdiyiniz barədə bir mesaj alacaqsınız.

3. Kodu dəyişdirin

Aşağıdakı təlimatları izləyərək kodu istifadə vəziyyətinizə görə dəyişdirin:

Mühərriklərin işə salınması və onların Sensor Çıxışları

Əvvəlcə mühərriklərin hansı sancaqlar istifadə etdiyini və motorların hansı diapazonda işlədiyini bildirin. Məsələn, M4 -ə bağlı olan və 25 və 175 (sürət) aralığında işləyən bir motor belə elan olunur (MAIN şərhinin altında):

Motor motoru1 = Motor (4, 25, 175);

3V -ə qədər olan kiçik titrəmə mühərrikləri ilə işləyərkən, mühərrik 4.5VDC ilə 13.5VDC arasında işləyən mühərriklər üçün hazırlandığından ehtiyatla istifadə edilməlidir. 3V mühərriklərə zərər verməmək üçün, qalxanın Volt çıxışını maksimum 3V (tam 2.95V) ilə məhdudlaşdırdım. Maksimum 255 sürətin Voltda nə qədər olduğunu ölçərək bunu 4.3V olduğunu bir multimetrlə ölçərək etdim. Buna görə də, mühərriklərə təxminən 3V olan 175 -dən yüksək bir sürət verməmişəm.

Hər bir motor bir SensoryOutput ilə bağlanacaq.

Bir SensoryOutput bir və ya bir çox duyğu stimulundan ibarətdir. Məsələn, bir mühərrik ya tək bir sensora, ya da çox fərqli fərqli mövqedə olan sensorlara görə titrəyə bilər.

Buna görə də hər bir motor üçün əvvəlcə bir SensoryOutput elan edilməlidir. Mötərizədə olan ədədlər, sensorun (qrupun) qəbul edə biləcəyi minimum və maksimum dəyərdir. Analoq sensorlar üçün bu əsasən 0 və 1023 -dir:

SensoryOutput output1 = SensoryOutput (0, 1023);

Döngü () funksiyasında hər bir motor daha sonra bir çıxış dəyərinə təyin edilir. Burada hər bir motor üçün aşağıdakı ifadəni yazın və "output1" əvəzinə SensoryOutput dəyərinin ona bağlı olması lazımdır. Başqa bir ad istifadə edirsinizsə, bu sətirdəki bütün "output1" adlarını da dəyişdirməyi unutmayın.

motor1.drive (output1.getValue (), output1.getMin (), output1.getMax ());

İstəyirsinizsə, eyni SensoryOutput (məsələn, çıxış1) birdən çox mühərrik (məsələn motor1 və motor2) verə bilərsiniz.

Bundan əlavə, bir motora birdən çox sensorun dəyərlərini verə bilərsiniz (növbəti hissəyə baxın).

Sensorların təyin edilməsi

Setup () funksiyasında hansı sensorların hansı motor titrəyişinin bir hissəsi olacağı bildirilməlidir (SensoryOutput). Arduino Pin A0 ilə əlaqəli olan sensorun motor1 və buna görə də çıxış1 ilə vibrasiyaya çevrilməli olduğunu necə təyin etdiyinizə bir nümunə:

çıxış 1. daxil edin (A0);

Bir motor titrəyişində birdən çox sensor çıxışı birləşdirilməlidirsə, çıxışa başqa analoq giriş pinini əlavə edə bilərsiniz:

çıxış 1. daxil edin (A1);

Əks təqdirdə, növbəti çıxışa davam edin:

output2.include (A1);

Birdən çox sensoru birləşdirir

Yuxarıda qeyd edildiyi kimi, birdən çox sensor girişi (məsələn, A0, A1 və A2) bir mühərrikə ötürülə bilər. Təmin etdiyim kod, daxil edilmiş bütün sensorlar tərəfindən oxunan dəyərlərin ortalamasını hesablayır. Beləliklə, bu istifadə vəziyyətiniz üçün kifayətdirsə və məsələn, aşağı vibrasiyanı aşağı hissedici girişlə birbaşa əlaqələndirmək istəyirsinizsə, işiniz bitdi və bunları düşünmək lazım deyil:

Bununla birlikdə, bir və ya birdən çox xam hiss girişi ilə nə etmək istədiyinizə dair başqa fikirləriniz varsa, SensoryOutput sinifindəki int getValue () funksiyasındakı dəyişikliklərə görə edə bilərsiniz:

int getValue () {

finalOutput = 0; // TODO, duyğu dəyərləri ilə istədiyinizi edin // burada bir çox dəyərlər birləşdirilərsə (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } finalOutput / curArrayLength qaytar; }

4. Kodu Arduino Prototipinizə yükləyin

Arduino Prototipini (Adım 2 -dən) kompüterinizə qoşun.

Alətlər → Liman → Arduino/Genuino Uno'nun mötərizədə yazıldığı Limanı seçin

Alətlər → Kart → Arduino/Genuino Uno düyməsini basın

İndi mühərriklər analoq sensorların girişlərinə görə işləməlidir. İstəyirsinizsə, Arduinonu kompüterinizdən ayırıb 9V batareya kimi başqa bir enerji mənbəyinə qoşa bilərsiniz.

Addım 4: Mümkün Uzantılar

Mümkün uzantılar
Mümkün uzantılar
Mümkün uzantılar
Mümkün uzantılar
Mümkün uzantılar
Mümkün uzantılar

Yeni qurduğunuz prototip yalnız analoq girişlərə imkan verir və dörd mühərriki idarə edə bilir. Üstəlik, hələ geyilə bilməz. Bu xüsusiyyətləri genişləndirmək istəyirsinizsə, aşağıdakı təlimatlara baxın:

  • ERM Motorlarının Dönən Kütlələrini əhatə edir:
  • SSAD-ı Geyinə bilən etmək:
  • 4-dən çox mühərrikdən istifadə-Çoxlu mühərriklərin yığılması:
  • SSAD girişi olaraq ultrasəs yaxınlıq sensoru istifadə:

Tövsiyə: