Mündəricat:
- Addım 1: Nə lazımdır
- Addım 2: Sənədləşmə
- Addım 3: Ultrasonik Sensor Dəstəyi hazırlayın
- Addım 4: Hər şeyi Prototipləşdirmə lövhəsinə quraşdırın
- Addım 5: Son Əlaqələrin Qurulması
- Addım 6: Proqramın açılması
- Addım 7: C Kodunu Anlamaq
- Addım 8: Java Kodunu Anlamaq
- Addım 9: Nəticə
Video: Layihə 3: SonarDuino: 9 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Əziz hobbiçilər, Bu layihədə obyektlərin aşkarlanması üçün 360 dərəcə radar sisteminə malik olma imkanlarını araşdıracağıq. Bu modulun ayrıca qurulması lokomotiv robotunuzun ətrafının sərhədlərini aşkar etməsinə imkan verəcək. Qaranlıqda da naviqasiya vasitəsi kimi xidmət edə bilər, ancaq kifayət qədər yavaş gəzəndə; s
Addım 1: Nə lazımdır
Bu quruluşu hazırlamaq üçün aşağıdakıları almalısınız:
Arduino Nano: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAosw0YZZp: rk: 2: pf: 0
Prototipləşdirmə lövhələri: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item4cg8a70 ~ Zbl232: rk: 13: pf: 0
Servo Motors: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Control-Car-Boat/142931003420?hash=item21475a081c:rk: 16: pf: 0 və var
Ultrasonik Sensorlar: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=it27 ~ IAAOSw-xbD5Fp: rk: 2: pf: 0
Addım 2: Sənədləşmə
Bəzilərinizin bunu bildiyini bildiyiniz üçün, bu layihə Dejan tərəfindən "Mexatronikaya Necə" adlı @ aşağıdakı linkdən "Arduino Radar Layihəsi" adlı başqa bir açıq mənbə layihəsindən ilham almışdır: https://howtomechatronics.com/projects/arduino -radar layihəsi/
Sənəd tələb edən başqa bir məqam, aşağıdakı iki kitabxananı inkişaf mühitinizə yükləməkdir:
Adafruit-GFX-Kitabxanası:
Adafruit_SSD1306:
Deyilənə görə, C kodunu həqiqətən anlamaq üçün yuxarıdakı hər iki kitabxananın bəzi sənədlərini etməlisiniz. Bundan başqa, kodumda istifadə etdiyim funksiyaların nə etdiklərini izah edən adları var.
Addım 3: Ultrasonik Sensor Dəstəyi hazırlayın
İstənilən karton parçasını götürün və ilk şəkildə göstərildiyi kimi sensora bağlı olan birləşdirici kabellərin ölçüsünə görə kəsin. Bundan sonra, sonuncu qatlayın və servo motor dəstəyinə yapışdırın. Bunu etdikdən sonra, son şəkilə uyğun olaraq iki ultrasəs sensoru yapışdırın. Diqqət yetirin ki, sensorların başlığı kabellərin sensorun qarşısında kənara çıxmasına imkan verəcək şəkildə lehimlənməlidir. Bu, 360 dərəcə fırlanma tətbiq edildikdə sensor kabellərinin bir -birinə qarışmamasına imkan verəcək.
Addım 4: Hər şeyi Prototipləşdirmə lövhəsinə quraşdırın
Bu addımda əvvəlki addımda hazırlanan başlığı müvafiq servo motoruna quraşdıraraq başlayacaqsınız. Servo motor diqqətlə öyrəşdikdən sonra hər şeyi bir prototip lövhəsinə birləşdirəcəksiniz. Arduino Nano'ya lehimlə başlayacaqsınız, sonra servonun yanındakı yerə yapışdıraraq. Nəhayət, lövhənin digər kənarındakı kiçik OLED ekranı lehimləyəcəksiniz.
Addım 5: Son Əlaqələrin Qurulması
Bu addım, bu layihənin hardware tərəfini sona çatdıracaq. Bütün lazımi əlaqələri qurmaq üçün təqdim olunan sxemlərə əməl etməlisiniz.
Addım 6: Proqramın açılması
Yükləməyiniz lazım olan iki kod var
Arduino (C):
Qenerasiya (java):
Kodu işləyərkən seçim etmək üçün iki seçiminiz olacaq:
Seçim 1: OLED Ekranından istifadə etmək üçün C kodunda MODE dəyişənini 0 olaraq təyin etməlisiniz.
Seçim 2: Monitorunuzdan istifadə edərək bunun üçün C kodunda MODE dəyişənini 1 olaraq təyin etməlisiniz. Əlavə olaraq, Processing development mühitini yükləməli və quraşdırmalısınız və bu linkdən radar fontunu yükləməlisiniz: https:// github.com/lastralab/ArduinoRadar/blob/ma…
Və bu faylı emal kod sənədinizə əlavə edin ki, java kodunuz çağırıldıqda fontu tanıysın.
Addım 7: C Kodunu Anlamaq
Kod əsasən iki 'for' döngəsindən ibarətdir. Biri irəli ötürmə ilə, digəri isə geriyə ötürmə ilə əlaqələndirilir. Hər ikisinin içərisində radarın xətlərini ekrana çəkəcək draw_scanner () əsas funksiyasına dəfələrlə deyilir. Birdən çox konfiqurasiyanı sınaqdan keçirdikdən sonra belə nəticəyə gəldim ki, onları silmək üçün t+1 vaxtında qara rəngli eyni radar xətləri ilə t vaxtındakı ağ radar xətlərinin üzərinə yazmalıyıq. Əks təqdirdə, yeni piksel ızgarasına basmadan əvvəl "clearDisplay ()" funksiyasından istifadə edərək ekranı hər dəfə təmizlədiyiniz zaman titrəmə baş verə bilər. 7 xəttlə məşğul olduğum müddətdə- dizayn məqsədləri üçün- hər bir elementin, əgər varsa, radarın mərkəzi ilə müəyyən edilmiş obyektə qədər olan radiusda dayandığı 7 elementdən ibarət tamsayı silsiləsini saxlamağa və ötürməyə davam etməliydim. Bunu nəzərə alaraq, kodun qalan hissəsini başa düşmək üçün düz olmalıdır.
Addım 8: Java Kodunu Anlamaq
İşlənərkən, yalnız COM adlı seriyalı portlarla işləyən serialEvent () funksiyası çağırışını aşmalı oldum. Mac üzərində işləyərkən serial portlarım fərqli bir ad aldı. Deyilənə görə, bu funksiyanı "draw ()" işlənməsində əsas funksiyaya daxil etdim. Qalan hər şeyə gəldikdə, inqilabın tam dizaynına cavab vermək üçün tətbiqi yenilədim. Nəhayət, son məhsulun fərqli ekran qətnamələrinə uyğun olması üçün bütün çəkilmiş şəkilləri və mətnləri ekranın genişliyinə görə yenilədim. Şəxsən həm 1000X1000, həm də 500X500 qətnamə üçün sınadım və yaxşı işləyir:).
Addım 9: Nəticə
Bu iş, hər biri 120 baxış bucağını əhatə edən 3 Ultrasonik sensora və ya hətta 4 sensora (90 dərəcə*4) -> daha sürətli 360 dərəcəyə malik ola bilər. tarama
Radarın diapazonunu 40 sm -dən 60 sm -ə və hətta 80 sm -ə qədər artıra bilərsiniz. PulseIn funksiyasını şəxsən sınaqdan keçirmişəm və TIMEOUT dəyişənini 40 sm -ə uyğun olaraq düzəltmişəm. Bu dəyişən nəbzin göndərilmə uzunluğu və nəbzin əks olunduğu cismin səthi də daxil olmaqla bir çox faktordan asılıdır.
Nəhayət, daha əvvəl də qeyd edildiyi kimi, növbəti addım ətraf perimetri taramaq üçün lokomotiv robotu ilə radarDuinonun birləşdirilməsidir.
Tövsiyə:
Yan Layihə: Su Təmizliyi Test Cihazı: 5 addım
Yan Layihə: Su Təmizliyi Test Cihazı: Bu layihə, Xanım Berbawy ilə Mühəndislik Prinsipləri dərsimdə tədris proqramımın bir hissəsi idi. Hər birimizə 50 dollarlıq bir büdcə ayırdı, məqbul bir layihə təklifi hazırladıq ki, əldə edilə bilsin, amma qabiliyyətlərimizə meydan oxusun
Həftə sonu üçün əyləncəli bir layihə, FishCam !: 4 addım
Həftə sonu üçün əyləncəli bir layihə, FishCam !: Bir neçə ay əvvəl pilotsuz uçuş aparatımı qəzaya uğradım və edə biləcəyim yeganə ağlabatan şey onu ayırmaqdır. Məlum oldu ki, əlimdən gələni edə biləcəyim bir çox layihə ideyası var idi. Mən heç bir şey əldə edə bilmədim, ancaq ranchamıza gedəndə bir fikrim oldu. Kamerada W
Layihə Mood Lampası: 11 Addım
Layihə Mood Lampası: Bu dərslik ilə sikkə hüceyrə batareyası, timsah klipləri və bir LED işığı istifadə edən bir əhval lampası düzəltmək üçün sadə bir dövrə dizayn edəcəksiniz
Heartbeat Game-Layihə: 4 addım
Heartbeat Game-Layihə: Hamımızın bildiyimiz kimi bu gün 20 Maydır. Bu artıq ənənəvi Çin Sevgililər Günü halına gəldi
USB ilə işləyən brülör! Bu Layihə Plastik / Ağac / Kağızdan Yanar (Əyləncəli Layihə Çox İncə Taxta Olmalıdır): 3 Addım
USB ilə işləyən brülör! Bu Layihə Plastik / Ağac / Kağızdan Yandırıla bilər (əyləncəli Layihə Çox İncə Taxta Olmalıdır): BU USB İSTİFADƏ ETMƏYİN !!!! Bütün şərhlərdən kompüterinizə zərər verə biləcəyini öyrəndim. mənim kompüterim yaxşıdır 600ma 5v telefon şarj cihazı istifadə edin. Bunu istifadə etdim və yaxşı işləyir və elektrik enerjisini dayandırmaq üçün təhlükəsizlik fişindən istifadə etsəniz heç bir şey zədələnə bilməz