Mundarija:
- 1 -qadam: Qilish kerak bo'lgan narsalar
- 2 -qadam: tushunchalarni tushunish
- 3 -qadam: Kerakli vositalar
- 4 -qadam: AVR kodlash tushunchalari
- 5 -qadam: Uskuna ulanishlari:
- 6 -qadam: kod
- 7 -qadam: video
Video: Arduino yordamida ultrasonik qochish roboti: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Ushbu qo'llanmada men sizga robotdan qochish uchun qanday to'siq qo'yishni ko'rsataman! Biz Arduino UNO taxtasi va ultratovush sensoridan foydalanamiz. Agar robot kichik servo dvigatel yordamida oldidagi ob'ektni aniqlasa, u eng yaxshi burilish yo'lini topish uchun chap va o'ng maydonni ko'zdan kechiradi. Shuningdek, u LEDni bildirishnomasi, ob'ekt aniqlanganda ohangni eshitadigan signal va robotning funktsiyasini o'zgartirish tugmachasiga (to'xtash/oldinga siljish) ega.
Bunga erishish juda oson!
1 -qadam: Qilish kerak bo'lgan narsalar
Ushbu loyiha uchun sizga kerak bo'ladi:
- Arduino UNO (uni gearbest.com saytidan sotib oling)
- Mini non paneli (uni gearbest.com saytidan sotib oling)
- L298 dvigatel haydovchi moduli (uni gearbest.com saytidan sotib oling)
- G'ildirakli HC-SR04 ultratovush sensori bo'lgan 2x shahar motorlari (uni gearbest.com saytidan sotib oling)
- Mikro servo dvigatel (uni gearbest.com saytidan sotib oling)
- Qizil LED tugmasi 220 Ohm qarshilik 9V batareya ushlagichi (quvvat rozetkasi bilan yoki bo'lmasdan)
- 8 ta bo'shliq (erkak-ayol),
- 8 ta yong'oq va 8 vint, sizga bitta katta (metall) kerak bo'ladi.
qog'oz qisqichi va boncuk, orqa g'ildirakni yasash uchun.
Robot bazasi uchun men Aliexpress -dan Acryllic Chasis -dan foydalandim. Bundan tashqari, siz yog'och yoki metalldan (yoki ikkita elektr plitadan) foydalanishingiz mumkin.
Butun loyihaning narxi taxminan 20 dollar
Asboblar: burg'ulash mashinasi super yopishtiruvchi ekipaj haydovchisi issiq qurolli elim (ixtiyoriy) Quvvat:
Biz robotni yoqish uchun 9V batareyadan foydalanamiz, chunki u kichik va arzon, lekin u unchalik kuchli emas va taxminan bir soatdan keyin bo'sh qoladi. Agar siz qayta zaryadlanuvchi batareyani (min 6V, maksimal 7V) ishlatmoqchi bo'lsangiz, o'ylab ko'ring, u kuchliroq bo'ladi, lekin u 9V batareyadan ham qimmatroq va kattaroq bo'ladi. Bizning YouTube kanalimizga obuna bo'ling.
2 -qadam: tushunchalarni tushunish
Maqsad - robotni oldida turgan to'siqlardan xabardor qilish, shuning uchun u yo'nalishni o'zgartirishi va ulardan qochishi mumkin. Oldingi maqolada biz robotni harakatga keltirdik - endi biz unga bir oz avtonomiya beramiz.
Ultrasonik sensor
HC-SR04-bu ultrasonik to'lqinlar yordamida 4 metrgacha bo'lgan narsalarga masofani o'lchashga qodir sxema. U ping yuboradi (suv osti kemasi kabi) va biror narsani qaytarib yuborish va qabul qilish orasidagi vaqtni (mikrosaniyalarda) o'lchaydi. Bu vaqt to'lqin oldinga va orqaga harakat qilganda 2 ga bo'linadi. Keyin masofani santimetrga (yoki dyuym uchun 74 ga) bo'lish uchun 29 ga bo'ling, chunki tovush har santimetrga 29,4 mks (340 m/s) o'tadi. Sensor ~ 3 mm bardoshlik bilan juda aniq va Arduino bilan oson birlashadi.
AVR mikrokontroler bilan ulangan ultrasonik sensor
Har qanday avtonom robotda to'siqlardan qochish va masofani o'lchash sensori o'rnatilgan bo'lishi kerak. IQ-qabul qilgich yoki kulrang o'lchovli sensor 1sm-10sm oralig'ida to'siqlarni aniqlashda oson ishlaydi. IQ masofali o'lchagichlar (masalan, o'tkirdan), eng yaqin to'siqqa qadar bo'lgan masofani 100 sm gacha o'lchashi mumkin. Biroq, IQ sensorlar quyosh nuri va boshqa yorug'lik manbalaridan ta'sirlanadi. IQ masofali o'lchagichlar kamroq diapazonga ega va u qilgan ishi uchun ham qimmat. Ultrasonik sensorlar (shuningdek, geeklar uchun ultrasonik yaqinlik sensori yoki sonar deb ham ataladi) bu vazifalarni ham oqilona narxda, ham aniq aniqlikda bajaradi. Diametri 3 sm dan 350 sm gacha, ~ 3 mm aniqlikda. Ushbu ultratovushli sensorlardan birini robotimizga bog'lab, u ham to'siqlarni oldini oluvchi, ham masofani o'lchash sensori vazifasini bajarishi mumkin.
"Ultrasonik" tovush tovushli tovush chastotalaridan yuqori bo'lgan har qanday narsani bildiradi va nominalda 20 000 Gts yoki 20 kHz dan yuqori har qanday narsani o'z ichiga oladi! Robototexnika uchun ishlatiladigan arzon ultratovushli sensorlar odatda 40 kHz dan 250 kHz gacha ishlaydi, tibbiy asboblarda esa 10 MGts gacha.
3 -qadam: Kerakli vositalar
- Multimetr
- Non paneli
- Igna pense
- Tel -stripper
- Tel kesuvchi
- Yelimli qurol
Multimetr - bu asosan kuchlanish va qarshilikni o'lchash va kontaktlarning zanglashiga olib kelishini aniqlash uchun ishlatiladigan oddiy qurilma. Kompyuter kodini tuzatishga o'xshab, Multimetr elektron sxemalaringizni "tuzatishga" yordam beradi.
Qurilish materiallari
Mexanik ramka yasash uchun yupqa yog'och va/yoki pleksiglasning tayyor manbai juda foydali. Alyuminiy va po'lat kabi metallar tez -tez mashinasozlik ustaxonasiga kira oladiganlar bilan chegaralanadi, lekin yupqa alyuminiyni qaychi bilan kesish va qo'l bilan bukish mumkin. Mexanik ramkalar hatto plastik idishlar kabi uy -ro'zg'or buyumlaridan ham qurilishi mumkin.
Plastmassa kabi boshqa materiallar (pleksiglasdan tashqari) yoki shisha tolali va uglerodli tola kabi ekzotik materiallar bo'lishi mumkin bo'lsa -da, ular ushbu qo'llanmada ko'rib chiqilmaydi. Bir nechta ishlab chiqaruvchilar, ko'pchilik havaskorlar uchun o'z mexanik qismlarini ishlab chiqarish oson emasligini va modulli mexanik qismlarni yaratganligini ta'kidladilar. Bu borada Lynxmotion etakchi bo'lib, u robotlarning keng assortimentini, shuningdek, shaxsiy robotlarni tayyorlash uchun zarur bo'laklarni taklif etadi.
Qo'l asboblari
Har xil turdagi va o'lchamdagi tornavidalar va qisqichlar (shu jumladan zargarlik asboblari to'plami: dollar do'konlarida sotiladigan kichik tornavidalar) kerak. Burg'ulash (to'g'ri teshiklar uchun burg'ulash moslamasi) afzalroqdir. Qurilish materiallarini (yoki yo'riqchini) kesish uchun qo'l arra ham muhim narsadir. Agar byudjet ruxsat bersa, stol ustidagi kichik arra (200 dollar oralig'ida), albatta, e'tiborga olinadigan vositadir.
Lehimsiz non paneli
Lehimsiz non paneli sizning tartibingizni optimallashtirish va tarkibiy qismlarni osongina ulash imkonini beradi. Lehimsiz non taxtasi bilan bir qatorda, siz lehimsiz non paneli bilan ishlash uchun mo'ljallangan, oldindan kesilgan va egilgan simlardan tashkil topgan, oldindan tuzilgan o'tish simli to'plamni sotib olishingiz kerak. Bu ulanishlarni juda osonlashtiradi.
Kichik tornavida to'plami
Bu kichik tornavidalar elektronika bilan ishlashda kerak. Ularni juda ko'p majburlamang - ularning kattaligi ularni yanada mo'rt qiladi.
Oddiy tornavida to'plami
Barcha ustaxonalarga tekis / Fillips va boshqa tornavida boshlarini o'z ichiga olgan ko'p asbobli yoki asboblar to'plami kerak.
Igna pense
igna pense to'plami kichik qismlar va qismlar bilan ishlashda juda foydali va asboblar qutisiga juda arzon qo'shimcha hisoblanadi. Ular oddiy qisqichlardan farq qiladi, chunki ular kichik joylarga kirib borishi mumkin.
Tel -kesgichlar
Siz har qanday simni kesishni rejalashtiryapsiz, simni olib tashlash sizga ko'p vaqt va kuchingizni tejaydi. Tarmoqni ajratuvchi, to'g'ri ishlatilganda, faqat kabel izolyatsiyasini olib tashlaydi va hech qanday burilish hosil qilmaydi va o'tkazgichlarga zarar etkazmaydi. Tel -striptizatorga boshqa alternativ - bu qaychi, ammo natijasi chalkash bo'lishi mumkin. Qaychi, o'lchagich, qalam, qalam, marker qalam, Exacto pichog'i (yoki boshqa qo'lda kesuvchi asbob) - bu har qanday ofisda zarur narsalar.
4 -qadam: AVR kodlash tushunchalari
Ultrasonik sensorlarga nisbatan tovush tezligini hisoblash
Kichik matematika, lekin qo'rqmang. Bu siz o'ylagandan ko'ra sodda.
Quruq havoda xona haroratida tovush tezligi (~ 20 ° C) = 343 metr/soniya
Ovoz to'lqinining yaqin atrofdagi ob'ektga aylanib o'tishi = 343/2 = 171,5 m/ga teng, chunki arzon ultrasonik sensorning maksimal diapazoni 5 metrdan oshmaydi (qaytish). birliklarni santimetr va mikrosaniyalarga o'zgartiring.
1 Metr = 100 santimetr 1 soniya = 10^6 mikrosaniya = (s/171,5) x (m/100 sm) x ((1x10^6)/s) = (1/171,5) x (1/100) x (1000000/ 1) = 58.30903790087464 us/sm = 58.31 us/sm (hisoblarni osonlashtirish uchun ikki raqamga yaxlitlash)Shunday qilib, pulsning ob'ektga borishi va 1 santimetr orqaga qaytishi uchun 58,31 mikrosaniyani oladi.
AVR soat tsikllari haqida kichik ma'lumot
AVR soat tsikllarini tushunish uchun butunlay boshqacha bo'lim kerak, lekin biz hisob -kitoblarni osonlashtirish uchun qanday ishlashini qisqacha tushunamiz.
Bizning misolimizda, 8-bitli AVR-Atmega328P mikrokontrolleriga ega AVR Draco platasidan foydalanamiz. Oddiy bo'lish uchun biz mikrokontroller sozlamalarini o'zgartirmaymiz. Sug'urta bitlariga tegmagan; Tashqi kristal biriktirilmagan; Bosh og'rig'i yo'q. Zavod sozlamalarida u 8 MGts chastotali ichki kalibrlovchi bilan ishlaydi. Agar siz bularning barchasini tushunmasangiz, bu shuni anglatadiki, mikrokontroller 1 MGts chastotali ichki RC osilatorida ishlaydi va har bir tsikl 1 mikrosaniyani oladi.
1 2 1 MGts = sekundiga 1000000 tsikl Shuning uchun 1s/1000000 = 1/1000000 = 1us
AVR soatlari va masofani o'zgartirish
Biz deyarli shu erdamiz! AVR soat tsikllarini tovush to'lqinlari bosib o'tgan masofaga qanday o'zgartirishni bilganimizda, mantiqni dasturda amalga oshirish oson.
Biz bilamizki, ideal muhitda ultratovush tovush tezligi: 58,31 us/sm
Biz bilamizki, AVR mikrokontrolerining o'lchamlari 1us/soat tsikli (CLK)
Shunday qilib, soat tsikli (CLK) bo'yicha tovushning bosib o'tgan masofasi:
1 2 3 = (58,31 us/ sm) x (1us/ clk) = 58,31 soat tsikli/ sm yoki = 1/ 58,31 sm/ clk
Agar tovush aylanish va orqaga qaytish uchun zarur bo'lgan soat tsikllari soni ma'lum bo'lsa, biz masofani osongina hisoblashimiz mumkin. Masalan, agar datchik qaytish va orqaga qaytish uchun 1000 soat tsiklini talab qilsa, u holda sensordan eng yaqin ob'ektgacha bo'lgan masofa = 1000/58.31 = 17.15 sm (taxminan).
Endi hamma narsa mantiqiymi? Yo'q? Qayta o'qing
Agar siz yuqorida aytib o'tilgan barcha mantiqni aniq bilsangiz, biz uni HR-SR04 arzon ultratovushli sensorini AVR Arduino kartamizga ulash orqali real hayotiy stsenariyda amalga oshiramiz.
5 -qadam: Uskuna ulanishlari:
Arduino Board har qanday tashqi sensorlarni ulashni osonlashtiradi va natijalarni LCD displeyda ko'radi. Ultrasonik diapazonni aniqlash uchun biz arzon HC-SR04 modulidan foydalanamiz. Modulda 4 ta pin bor, ular mikrokontroller platasiga ulanishi mumkin: VCC, TRIG, ECHO va GND.
VCC pinini 5V ga va GND pinini Arduino kartasiga ulang.
TRIG pin va ECHO pinini bortdagi mavjud har qanday pinlarga ulash mumkin. Pimni ishga tushirish uchun kamida 10us "yuqori" signalini yuborish sakkizta 40 kHz chastotali tovush to'lqinlarini yuboradi va aks -pinni baland ko'taradi. Agar ovoz yaqin atrofdagi narsadan sakrab chiqib, qaytsa, u qabul qilgichni qabul qiladi va aks -sado "past" tortiladi.
Ultrasonik sensorli modullarning boshqa variantlari ham faqat 3 ta pin bilan mavjud. Ish printsipi hali ham bir xil, ammo tetik va echo pinlarining funksionalligi bitta pinda birlashtirilgan.
Ulanganidan so'ng, Trigger va Echo Pins dasturiy ta'minot orqali sozlanishi mumkin. Bu misolni soddalashtirish uchun, biz bu misolda hech qanday uzilish pinlarini ishlatmaymiz. Belgilangan uzilish pimlarini ishlatmaslik, shuningdek, modulni bortdagi mavjud pinlarga ulash erkinligini beradi.
6 -qadam: kod
Quyidagi kod oldingi maqoladagi H-Bridge yordamida shahar motorini boshqarishning "ultratovushli" kengaytmasini o'z ichiga oladi. Robot oldida turgan to'siqni aniqlaganida, u orqaga buriladi (tasodifiy daraja) va oldinga siljishni davom ettiradi. Bu funksiya bir vaqtning o'zida to'siqlarni aylantirish va aniqlash uchun osonlikcha kengaytirilishi mumkin edi, shuning uchun robot tasodifiy burilmadi, lekin hech qanday ob'ekt aniqlanmaganida oldinga siljishni boshladi.
Kodni tushuntirish uchun kanalda ko'rsatilgan Youtube videolarini ko'ring.
7 -qadam: video
Butun jarayon uchun videoni tomosha qiling.
Tavsiya:
Ultrasonik sensordan foydalanadigan to'siqlardan qochish roboti (Proteus): 12 qadam
Ultrasonik sensordan foydalanadigan to'siqlardan qochish roboti (Proteus): Biz odatda hamma joyda to'siqlardan qochadigan robotni uchratamiz. Ushbu robotning apparat simulyatsiyasi ko'plab kollejlarda va ko'plab tadbirlarda raqobatning bir qismidir. Ammo to'siq robotining dasturiy simulyatsiyasi kamdan -kam uchraydi. Agar biz uni biron bir joydan topsak ham
Mikroto'lqinlarsiz IQ sensorlar bilan to'siqlardan qochish roboti: 6 qadam
Mikroto'lqinlarsiz IR sensorli to'siqlardan qochish: Bu loyiha eski loyihadir, men buni 2014 yilda iyul yoki avgust oylarida qildim. IQ sensorlaridan foydalanadigan va mikrokontroldorsiz ishlaydigan robotdan qochishning oddiy to'sig'i. IQ sensorlar opamp IC i dan foydalanadi
Qochish roboti: Qochish uchun RC avtomobili: 7 qadam (rasmlar bilan)
Qochish roboti: Qochish o'yini uchun RC avtomobili: Ushbu loyihaning asosiy maqsadi - mavjud robotlardan ajralib turadigan va haqiqiy va innovatsion sohada ishlatilishi mumkin bo'lgan robot yaratish edi. Shaxsiy tajribaga asoslanib, qaror qabul qilindi. mashina shaklidagi robot yasash uchun
Eng kichik va eng shirin Arduino to'siqlardan qochish roboti: 5 qadam
Eng kichik va eng shirin Arduino to'siqlardan qochish roboti: Xonangizda yarim tokchani oladigan katta bema'ni robotlardan charchadingizmi? Siz robotni o'zingiz bilan olib ketishga tayyormisiz, lekin u cho'ntagingizga sig'maydimi? Mana! Men sizga minibotni taqdim etaman, siz to'siqlardan qochishning eng yoqimli va eng kichik robotini
Ovoz bilan boshqariladigan Arduino roboti + Wi -Fi kamerasi + Gripper + APP va qo'lda foydalanish va to'siqlardan qochish rejimi (KureBas Ver 2.0): 4 qadam
Ovoz bilan boshqariladigan Arduino Robot + Wi -Fi kamera + Gripper + APP va qo'lda foydalanish va to'siqlardan qochish rejimi (KureBas Ver 2.0): KUREBAS V2.0 qaytdi, u yangi xususiyatlar bilan juda ta'sirli. Uning ushlagichi, Wi -Fi kamerasi va o'zi uchun ishlab chiqarilgan yangi ilova bor