
Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14


Hurmatli havaskor hamkasbim, Ushbu loyihada biz ob'ektni aniqlash uchun 360 darajali radar tizimiga ega bo'lish imkoniyatini o'rganamiz. Ushbu modulni alohida o'rnatish sizning harakatlantiruvchi robotingizga o'z atrofining chegaralarini aniqlash imkonini beradi. U shuningdek, qorong'uda navigatsiya vositasi bo'lib xizmat qilishi mumkin, lekin faqat sekin yurganingizda; p
1 -qadam: Sizga nima kerak

Bunday qurilishni amalga oshirish uchun sizga quyidagilar kerak bo'ladi:
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
Prototip taxtalari: 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 va 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
2 -qadam: Hujjatlar
Sizlardan ba'zilaringiz bilganingizdek, bu loyiha Dejan tomonidan "Mexatronikaga qanday o'tish kerak" dan olingan "Arduino Radar loyihasi" deb nomlangan boshqa ochiq manbali loyihadan ilhomlangan: https://howtomechatronics.com/projects/arduino -yo'l loyihasi/
Hujjatlarni talab qiladigan yana bir nuqta - quyidagi ikkita kutubxonani ishlab chiqish muhitiga yuklab olish.
Adafruit-GFX-kutubxonasi:
Adafruit_SSD1306:
Bu aytilganidek, C kodini chindan ham tushunish uchun yuqoridagi kutubxonalarning ikkalasini ham hujjatlashtirish kerak bo'ladi. Bundan tashqari, mening kodimda ishlatgan funktsiyalarda ular nima qilayotgani haqida ma'lumot beradigan ismlar bor.
3 -qadam: Ultrasonik sensorni qo'llab -quvvatlang



Har qanday kartonni oling va birinchi rasmda ko'rsatilgandek sensorga ulangan ulash kabellarining o'lchamiga qarab kesib oling. Shundan so'ng, uni oxirigacha katlayın va servo motor tayanchiga yopishtiring. Bu bajarilgandan so'ng, oxirgi rasmga muvofiq ikkita ultratovushli sensorni yopishtiring. E'tibor bering, datchiklar sarlavhasi datchik oldida kabellar tashqariga chiqib ketadigan tarzda lehimlanishi kerak. Bu 360 graduslik burilish amalga oshirilganda sensor kabellari bir -biriga xalaqit bermasligiga imkon beradi.
4 -qadam: Hammasini prototip taxtasiga joylashtiring



Bu bosqichda siz avvalgi bosqichda tayyorlangan sarlavhani tegishli servo dvigatelga o'rnatishdan boshlaysiz. Servo dvigatel ehtiyotkorlik bilan o'rganilgach, siz hamma narsani prototip taxtasiga o'rnatasiz. Siz Arduino Nano -ni lehimlashdan boshlaysiz, keyin servoni uning yoniga yopishtirishdan. Nihoyat, siz OLED -displeyni taxtaning boshqa chetiga lehimlaysiz.
5 -qadam: Yakuniy ulanishlarni o'rnatish



Ushbu qadam ushbu loyihaning apparat tomonini yakunlaydi. Barcha kerakli ulanishlarni o'rnatish uchun siz taqdim etilgan sxemalarga amal qilishingiz kerak bo'ladi.
6 -qadam: Dasturni yuklash

Siz yuklashingiz kerak bo'lgan ikkita kod mavjud
Arduino (C):
Qayta ishlash (java):
Kodni ishga tushirganda, siz ikkita variantni tanlashingiz kerak bo'ladi:
Variant 1: OLED displeyidan foydalanib, siz C kodidagi MODE o'zgaruvchisini 0 ga o'rnatishingiz kerak bo'ladi.
2 -variant: Monitoringizdan foydalanib, siz C kodidagi MODE o'zgaruvchisini 1 ga o'rnatishingiz kerak bo'ladi. Bundan tashqari, siz Processing development muhitini yuklab olishingiz va o'rnatishingiz va ushbu havoladan radar shriftini yuklab olishingiz kerak bo'ladi: https:// github.com/lastralab/ArduinoRadar/blob/ma…
Va bu faylni ishlov berish kod fayliga qo'shing, shunda java kodingiz chaqirilganda shriftni taniydi.
7 -qadam: C kodini tushunish

Kod asosan ikkita "for" ko'chadan iborat. Biri oldinga o'tish bilan, ikkinchisi esa orqaga o'tish bilan bog'liq. Ularning ikkalasida ham radar chiziqlarini ekranga tortadigan draw_scanner () asosiy funktsiyasi ko'p marta chaqiriladi. Bir nechta konfiguratsiyani sinab ko'rganimdan so'ng, men shuni aniqladimki, biz t vaqtidagi oq radar chiziqlarini t+1 vaqtida qora rangdagi qora chiziqlar bilan qayta yozishimiz kerak. Agar shunday bo'lmasa, har safar yangi pikselli panjarani bosishdan oldin displeyni "clearDisplay ()" funksiyasi yordamida tozalashda miltillash paydo bo'ladi. Men 7 ta chiziq bilan ishlaganimda- dizayn maqsadlarida- men 7 elementdan iborat butun sonli massivni saqlashni va saqlashni davom ettirishim kerak edi, bu erda har bir element radar markazi orasidagi radiusni, agar mavjud bo'lsa. Shuni yodda tutgan holda, kodning qolgan qismi tushunarli bo'lishi kerak.
8 -qadam: Java kodini tushunish
Ishlov berishda men faqat COM nomli ketma -ket portlar bilan ishlaydigan serialEvent () funktsional chaqiruvini chetlab o'tishga majbur bo'ldim. Men Mac -da ishlayotganimda ketma -ket portlarim boshqa nom bilan atalgan. Aytgancha, men bu funktsiyani "draw ()" ni qayta ishlashning asosiy funktsiyasidan ochdim. Qolgan narsalarga kelsak, men inqilobning to'liq dizayniga mos keladigan ilovani yangiladim. Nihoyat, men chizilgan barcha shakllar va matnlarni ekranning kengligi bo'yicha yangiladim, shunda yakuniy mahsulot har xil ekran o'lchamlariga mos keladi. Men uni 1000X1000 va 500X500 o'lchamlari uchun shaxsan sinab ko'rdim va u yaxshi ishladi:).
9 -qadam: Xulosa
Bu ishni har biri 120 ko'rish burchagini qamrab oluvchi 3 ta ultrasonik datchik yoki hatto 4 ta sensor (90 daraja*4) -> 360 daraja tezroq bo'lishi mumkin. skanerlash.
Shuningdek, siz radarning diapazonini 40 sm dan 60 sm gacha yoki hatto 80 sm gacha kengaytirishingiz mumkin. Men pulseIn funktsiyasini shaxsan sinab ko'rdim va TIMEOUT o'zgaruvchisini 40 sm ga moslashtirdim. Bu o'zgaruvchi ko'p omillarga, shu jumladan puls yuborish uzunligi va puls aks etadigan ob'ekt yuzasiga bog'liq.
Nihoyat, yuqorida aytib o'tilganidek, keyingi qadam atrofdagi perimetrni skanerlash uchun radarDuino -ni harakatlantiruvchi robot bilan birlashtirishdir.
Tavsiya:
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam

To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel: Siz hech qachon mini-loyihaga aylanishingiz kerak degan yomon fikrga keldingizmi? Xo'sh, men AD9833 to'g'ridan -to'g'ri raqamli sintez (DDS) moduli yordamida musiqa yaratishga qaratilgan Arduino Due uchun chizgan eskiz bilan o'ynab yurardim … va bir paytlar men o'yladim
Arduino uchun qadam tezligini boshqarish menyusi: 6 qadam

Arduino uchun qadam tezligini boshqarish menyusi: Bu SpeedStepper kutubxonasi qadam dvigatelining tezligini nazorat qilish uchun AccelStepper kutubxonasining qayta yozilishi. SpeedStepper kutubxonasi sizga belgilangan dvigatel tezligini o'zgartirishga imkon beradi, so'ngra xuddi shu algoritm yordamida yangi belgilangan tezlikka tezlashadi/sekinlashadi
Qanday qilib qadam taymerini yasash mumkin?: 3 qadam (rasmlar bilan)

Qanday qilib qadam taymerini yasash mumkin ?: Men ko'plab sport turlarida yaxshi qatnashardim: yurish, yugurish, velosiped haydash, badminton o'ynash va hokazo. Men tez orada sayohat qilishni yaxshi ko'raman. Xo'sh, qorin qornimga qarang …… Xo'sh, baribir, men mashg'ulotlarni qaytadan boshlashga qaror qildim. Qanday uskunani tayyorlashim kerak?
Arduino UNO bilan qadam motor: 3 qadam

Arduino UNO bilan qadam dvigateli: Bosqichli motorlar - bu alohida bosqichlarda harakatlanadigan shahar motorlari. Ularda "fazalar" deb nomlangan guruhlarga bo'lingan bir nechta rulon bor. Har bir fazani ketma -ket quvvatlantirganda, dvigatel birma -bir aylanadi, zinapoyali dvigatellar juda foydali
Kompyuteringizni qadam dvigateli bilan boshqaring!: 9 qadam (rasmlar bilan)

Kompyuteringizni qadam dvigateli bilan boshqaring!: Oldingi ko'rsatmalarimdan birida men sizga step motorini aylanuvchi kodlovchi sifatida qanday ishlatishni ko'rsatdim. Bu yo'riqnomada keling, undan kompyuterni boshqarish uchun qanday foydalanish kerakligini bilib olaylik. Shunday qilib, ko'p vaqt sarflamasdan, boshlaylik