Mündəricat:

Lazer sensoru və səs əmrlərindən istifadə edərək avtomatik tutma: 5 addım (şəkillərlə)
Lazer sensoru və səs əmrlərindən istifadə edərək avtomatik tutma: 5 addım (şəkillərlə)

Video: Lazer sensoru və səs əmrlərindən istifadə edərək avtomatik tutma: 5 addım (şəkillərlə)

Video: Lazer sensoru və səs əmrlərindən istifadə edərək avtomatik tutma: 5 addım (şəkillərlə)
Video: Lesson 77: Using VL53L0X 200cm Laser Distance Sensor | Arduino Step By Step Course 2024, Dekabr
Anonim
Image
Image
Parçaların siyahısı
Parçaların siyahısı

Bizə sadə və təbii görünən obyektləri tutmaq əslində mürəkkəb bir işdir. İnsan tutmaq istədiyi obyektdən olan məsafəni təyin etmək üçün görmə hissindən istifadə edir. Əl tutulan obyektin yaxınlığında olduqda avtomatik olaraq açılır və sonra cismi yaxşı tutmaq üçün tez bağlanır. Bu proyektdə bu texnikanı sadələşdirilmiş bir şəkildə istifadə etdim, amma kamera əvəzinə nəzarət üçün obyektin tutucudan uzaqlığını və səs əmrlərini qiymətləndirmək üçün lazer sensoru istifadə etdim.

Addım 1: hissələrin siyahısı

Parçaların siyahısı
Parçaların siyahısı

Bu kiçik layihədə aşağıda sadalanan hissələrdən yalnız bir neçəsinə ehtiyacınız olacaq. Bir nəzarətçi olaraq Arduino mega 2560 istifadə etdim, ancaq UNO və ya başqa bir Arduino istifadə edə bilərsiniz. Məsafə sensoru olaraq yaxşı dəqiqliyə (təxminən bir neçə milimetr) və 2 metrə qədər olan VL53L0X lazer sensoru istifadə etdim. Bu layihədə hər hansı bir tutucu və servo test etmək üçün istifadə edə bilərsiniz, ancaq ayrı bir enerji mənbəyindən istifadə etməlisiniz, məsələn: 5V enerji təchizatı və ya LiPo batareyası (7.4V və ya 11.1V) gərginliyi azaldan bir konvertor vasitəsilə. 5V -ə qədər.

Bu layihədə lazım olan hissələr:

  • VL53L0X Lazer ToF Sensoru x1
  • Rəqəmsal Servo x1
  • Arduino mega 2560 x1
  • Robot metal tutucu x1
  • Çörək paneli x1
  • Toxunma düyməsi x1
  • Bluetooth HC-06
  • Rezistor 10k x1
  • Enerji təchizatı 5V/2A

Genişləndirilmiş versiya:

  1. CJMCU-219 Cari Monitor Sensor Modulu x1
  2. WS2812 RGB LED Sürücü İnkişaf Lövhəsi x1

Addım 2: Elektron hissələrin qoşulması

Elektron hissələrin bağlanması
Elektron hissələrin bağlanması
Elektron hissələrin bağlanması
Elektron hissələrin bağlanması
Elektron hissələrin bağlanması
Elektron hissələrin bağlanması

Birinci rəqəm bütün lazımi əlaqələri göstərir. Aşağıdakı fotoşəkillərdə fərdi modulların bağlanmasının növbəti addımlarını görə bilərsiniz. Başlanğıcda, düymə Arduino -nun 2 -ci pininə, sonra servo 3 -ə və nəhayət I2C avtobusu (SDA, SCL) vasitəsilə VL53L0X lazer məsafə sensoru ilə əlaqələndirildi.

Elektron modulların əlaqələri aşağıdakılardır:

VL53L0X Lazer Sensoru -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5V
  • GND - GND

Servo -> Arduino Mega 2560

Siqnal (narıncı tel) - 3

Servo -> 5V/2A Güc Təchizatı

  • GND (qəhvəyi tel) - GND
  • VCC (qırmızı tel) - 5V

Düymə -> Arduino Mega 2560

  • Pin 1 - 3.3 və ya 5V
  • Pin 2 - 2 (və 10k rezistor vasitəsilə yerə)

Bluetooth (HC -06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5V
  • GND - GND

Addım 3: Arduino Mega Kodu

Arduino mega kodu
Arduino mega kodu

GitHub -da mövcud olan aşağıdakı nümunə Arduino proqramlarını hazırladım:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

"VL53L0X_gripper_control" adlı ilk proqram, VL53L0X lazer sensoru tərəfindən aşkar edilmiş bir obyektin avtomatik tutulması vəzifəsini yerinə yetirir. Nümunə proqramı tərtib etməzdən və yükləməzdən əvvəl yuxarıda göstərildiyi kimi hədəf platforma olaraq "Arduino Mega 2560" ı seçdiyinizə əmin olun (Arduino IDE -> Alətlər -> Kart -> Arduino Mega və ya Mega 2560). Arduino proqramı, əsas döngəni yoxlayır - "void loop ()" lazer sensorundan yeni oxunuşun gəlib -gəlmədiyini (funksiyası readRangeContinuousMillimeters ()). "Məsafə_mm" sensorundan oxunan məsafə "THRESHOLD_CLOSING_DISTANCE_FAR" dəyərindən böyük və ya "THRESHOLD_CLOSING_DISTANCE_NEAR" -dan az olarsa, servo bağlanmağa başlayır. Digər hallarda açılmağa başlayır. Proqramın növbəti hissəsində, "digitalRead (gripperOpenButtonPin)" funksiyasında düymənin vəziyyəti daim nəzarətdə saxlanılır və basıldıqda tutucu obyektin yaxınlığı səbəbindən bağlanmasına baxmayaraq açılacaq (məsafə_mm THRESHOLD_CLOSING_DISTANCE_NEAR -dan azdır).

İkinci proqram "Voice_VL53L0X_gripper_control", səs əmrlərindən istifadə edərək tutucunu idarə etməyə imkan verir. Səs əmrləri Google Play -dən Arduino tətbiqi üçün BT Voice Control tərəfindən işlənir və daha sonra Bluetooth vasitəsilə Arduinoya göndərilir. Arduino proqramı əsas döngədə yoxlayır - yeni əmrin (xarakterin) Android tətbiqindən bluetooth vasitəsilə göndərilib -göndərilmədiyini "void loop ()". Bluetooth seriyasından gələn hər hansı bir xarakter varsa, proqram "#" səsli təlimatın sonuna çatana qədər serial məlumatlarını oxuyur. Sonra "void processInput ()" funksiyasının icrasına başlayır və səs əmrindən asılı olaraq xüsusi bir idarəetmə funksiyası adlanır.

Addım 4: Avtomatik tutma testi

Avtomatik tutma testi
Avtomatik tutma testi
Avtomatik tutma testi
Avtomatik tutma testi

"Addım 1" dən alınan video, əvvəlki "Arduino Mega Kod" bölməsindəki proqrama əsaslanan robot tutucusunun testlərini göstərir. Bu video, obyekt yaxın olduqda avtomatik olaraq necə açıldığını və tutucunun əlçatmaz olduğu təqdirdə bu obyekti tutduğunu göstərir. Burada istifadə olunan lazer məsafə sensoru ilə əlaqəli rəylər, şüşəni irəli və geriyə hərəkət etdirdiyim zaman videonun digər hissəsində aydın görünür ki, bu da sürətli reaksiyaya və tutucu idarəetmənin dəyişməsinə səbəb olur.

Addım 5: Səs Aktivləşdirilmiş Avtomatik Tutuş

Image
Image
Epilog Challenge 9
Epilog Challenge 9

Bu layihənin inkişafındakı növbəti addımda buna səsli nəzarət əlavə etdim. Səs əmri sayəsində tutucunun bağlanmasını, açılmasını və sürətini idarə edə bilirəm. Bu vəziyyətdə səs nəzarəti, obyekti tutan tutucunu açarkən çox faydalıdır. Düyməni əvəz edir və mobil robotun üstünə qoyulan tutucunu asanlıqla idarə etməyə imkan verir.

Bu layihəni bəyənirsinizsə, səs verməyi və şərhdə bu layihənin daha da təkmilləşdirilməsi olaraq nəyi görmək istədiyinizi yazmağı unutmayın:) Robototexnika ilə bağlı digər layihələrimə baxın, sadəcə ziyarət edin:

  • facebook
  • youtube
  • mənim veb saytım

Tövsiyə: