Mündəricat:

TrigonoDuino - Sensorsuz məsafəni necə ölçmək olar: 5 addım
TrigonoDuino - Sensorsuz məsafəni necə ölçmək olar: 5 addım

Video: TrigonoDuino - Sensorsuz məsafəni necə ölçmək olar: 5 addım

Video: TrigonoDuino - Sensorsuz məsafəni necə ölçmək olar: 5 addım
Video: Sensors - which one to use 2024, Noyabr
Anonim
TrigonoDuino - Sensor olmadan məsafəni necə ölçmək olar
TrigonoDuino - Sensor olmadan məsafəni necə ölçmək olar
TrigonoDuino - Sensor olmadan məsafəni necə ölçmək olar
TrigonoDuino - Sensor olmadan məsafəni necə ölçmək olar
TrigonoDuino - Sensor olmadan məsafəni necə ölçmək olar
TrigonoDuino - Sensor olmadan məsafəni necə ölçmək olar

Bu layihə kommersiya sensoru olmadan məsafəni ölçmək üçün hazırlanmışdır. Triqonometrik qaydaları konkret bir həll yolu ilə anlamaq üçün bir layihədir. Başqa bir trigonometrik hesablama üçün uyğunlaşdırıla bilər. Cos Sin və başqaları Math.h ilə işləyir.

Lazer şüaları olan bu cür tədbirlərin ilk versiyası prototipidir, hər hansı bir təklif və ya məsləhət qəbul edilə bilər.

Trigonometriya qaydaları ilə məsafəni ölçmək üçün riyazi istifadə edir.

İki lazer diod, SG90 servo motor, bir potansiyometr 10k və Arduino Uno ilə işləyir.

Həssaslıq <1 metr məsafədə +- 2 mm civarındadır, məsafə santimetrdə göstərilir. 1sm = 0, 393701 düym ölçüsündə çevirmək istəyirsinizsə, 2, 54 -ə bölməlisiniz. Daha böyük məsafə ilə dəqiqliyi itirə bilərsiniz, bu səbəbdən A -da kiçik ofset açısı var (90 ° əvəzinə 90.05 ° ola bilər).

İzahat:

Potansiyometr lazer C -ni servo motorda hərəkət etdirir, bu Arduinoya C bucağı verir. Lazer Bir nöqtə düzgün bucaq verir. Lazer (C) nöqtəsini potansiyometrlə iki lazer şüasını üst -üstə qoyun, bu B nöqtəsini verir.

İpuçları: Mükəmməl bir lazer nöqtəsi əldə etmək üçün lazer şüalarını lazer vintli lens ilə tənzimləyin.

Addım 1: Parça siyahısı

Parça siyahısı
Parça siyahısı
Parça siyahısı
Parça siyahısı
Parça siyahısı
Parça siyahısı
Parça siyahısı
Parça siyahısı

Əsas:

-İki lazer:

- Arduino Uno:

-Servo motor:

-10k Potentimetr:

-Dupont Wire:

Alət:

-Lehim Dəmir:

(Məndə var və çox yaxşı lehimləmə dəmiridir, işdə Weller istifadə edirəm, amma özüm üçün istifadə edirəm)

Seçim:

-Rezistorlar:

Addım 2: Kabel Elektronika

Elektrik naqilləri
Elektrik naqilləri
Elektrik naqilləri
Elektrik naqilləri
Elektrik naqilləri
Elektrik naqilləri
Elektrik naqilləri
Elektrik naqilləri

Diod yayıcılarını, 5V qırmızı telə və GND -ni mavi telə qoşun.

Servo Red -i 5V -ə, Qara -GND -yə və Orange -ı Arduino Digital Pin 3 -ə qoşun.

Potentiometr sol pinini Digital Pin 8 -ə, sağ pinini Digital Pin 9 -a və orta pinini Analog Pin A0 -a bağlayın. Sol pin mənim üçün bənövşəyi rəngdədir.

Güc verməzdən əvvəl sxemə baxın. Lazer şüaları ilə diqqətli olun, gözlərinizə zərər verə bilər. Diodların qırmızı telləri ilə arduino arasında rezistorlar əlavə edə bilərsiniz, KY008 modulunda 10k istifadə olunur.

İpucu: Lazer və potensiometr üçün Dupont telləri hazırlamaq üçün lehimləmə dəmiri lazımdır.

Addım 3: Plitəni 3D çap edin

Plitəni 3D çap edin
Plitəni 3D çap edin
Plitəni 3D çap edin
Plitəni 3D çap edin
Plitəni 3D çap edin
Plitəni 3D çap edin
Plitəni 3D çap edin
Plitəni 3D çap edin

Autocad ilə hazırlanmış və STL formatında ixrac edilmişdir.

www.autodesk.fr/products/autocad/overview

Sadələşdirilmiş versiyanı çap etmək sizin üçün daha yaxşıdır, onu düzəltmək üçün SG90 ilə birlikdə vida hədiyyəsini istifadə edin. Servo mərkəzinin dəstəyin sağında olması lazım olduğu şəkillərə bənzəyir.

Vacib:

İkinci hissəni servo motora yapışdırmadan əvvəl servo (0) dərəcəyə qoyun. Lazer göstəricilərini Servo (0) ilə paralel mövqedə yerləşdirin, valı 0 ilə əvəz edin: monServomoteur.write (0);.

Hələ yapışdırmayın, növbəti addımın sonunu gözləyin.

Addım 4: Arduino Kodu

Arduino kodu
Arduino kodu
Arduino kodu
Arduino kodu
Arduino kodu
Arduino kodu

İstifadə etmək üçün kodu tapa bilərsiniz.

Arduino IDE -ni yükləyin və quraşdırın:

Layihəyə Math.h kitabxanasını əlavə etmək tələb olunur.

Üçbucaq A küncündə düzbucaqlıdır, AC -ni 14 sm bilirik və servo motor C bucağını verir, həmçinin AB məsafəsini Tan (B) ilə ölçmək üçün B açısını hesablayırıq, B 2 lazer nöqtəsi arasındakı qovşaqdır. Üçbucağın ümumi bucağı 180 ° -ə bərabərdir, A -da 90 ° -dir.

Məsafənin ölçülməsi A küncündəki lazerin yanında başlayır.

OLED ekranınız yoxdursa, TrigonoDuinoSerial.inodan istifadə edin. Bunu kompüter olmadan istifadə etmək üçün SSD1306 Oled ekranı istifadə etdim.

Nb: Arduino kartından asılı olaraq 4064 -ü 1028 -ə dəyişə bilərsiniz. Mənim üçün Wavgat R3 analoq pin 0 ilə 4064 arasında dəyər qaytardı, digərləri üçün isə 0 ilə 1028.

Düzenle: xəritə funksiyası dəqiqlik üçün uyğun deyil, uzun növ dəyişən əvəzinə ikiqat istifadə üçün yeni kod versiyasında hesablama rejimi dəyişdirildi. "For" Loop, servo motorun daha yaxşı sabit bir dəyəri üçün artdı.

Lazerləri yerlərində quraşdırmaq servo.write -ı 0 olaraq təyin edin və tutan lazer qutusunu servonun ortasına yapışdırın. Lazerlər paralel olmalıdır. Lazer şüalarını eyni hündürlüyə uyğunlaşdırın və göstəricilər lazerlərin özləri ilə eyni məsafədə olmalıdır.

Addım 5: Test Ölçüsü

Test Ölçüsü
Test Ölçüsü
Test Ölçüsü
Test Ölçüsü
Test Ölçüsü
Test Ölçüsü

İndi ölçmə testinə keçin. Lazım gələrsə, AC uzunluğunuzu lazer çantalarının ortasına mərkəzə düzəldin.

Kiçik bir addımla potensiometrini yavaşca çevirin. Lazer fokusunu (vida başı lazerini çevirin) böyük məsafəni dəqiq işarə etmək üçün tənzimləyə bilərsiniz.

Bu cihazla bir neçə metr ölçə bilərsiniz, amma dəqiqlik daha az dəqiq olacaq. 1 metrdən aşağı ölçmə həqiqətən yaxşıdır.

İrəli:

Məsələn, ilk lazerin altına ikinci bir servo qoya bilərsiniz, ancaq daha çox hesablama lazımdır. Trigonometriyanı öyrənən gənc şagirdlər üçün əla bir şey ola bilər, əslində riyaziyyat tətbiq olunur.

Daha yaxşı bir servo mühərrik qoyub dəqiqliyi (məsələn, 15 ° üçün 1 potansiyometr) və məsafə ölçmə aralığını artırmaq üçün bir neçə potansiyometr əlavə edə bilərsiniz.

AC uzunluğunu tez dəyişmək üçün servonun yanal yerdəyişməsini əlavə edə bilər.

Tövsiyə: