Mundarija:

Arduino yordamida ultrasonik qochish roboti: 7 qadam
Arduino yordamida ultrasonik qochish roboti: 7 qadam

Video: Arduino yordamida ultrasonik qochish roboti: 7 qadam

Video: Arduino yordamida ultrasonik qochish roboti: 7 qadam
Video: Arduino Tutorial 27 - Measuring Distanc with Ultrasonic Sensor | SunFounder's ESP32 IoT Learnig kit 2024, Noyabr
Anonim
Image
Image
Arduino yordamida ultratovushli qochish roboti
Arduino yordamida ultratovushli qochish roboti

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

Qilish kerak bo'lgan narsalar!
Qilish kerak bo'lgan narsalar!
Qilish kerak bo'lgan narsalar!
Qilish kerak bo'lgan narsalar!
Qilish kerak bo'lgan narsalar!
Qilish kerak bo'lgan narsalar!
Qilish kerak bo'lgan narsalar!
Qilish kerak bo'lgan narsalar!

Ushbu loyiha uchun sizga kerak bo'ladi:

  1. Arduino UNO (uni gearbest.com saytidan sotib oling)
  2. Mini non paneli (uni gearbest.com saytidan sotib oling)
  3. L298 dvigatel haydovchi moduli (uni gearbest.com saytidan sotib oling)
  4. G'ildirakli HC-SR04 ultratovush sensori bo'lgan 2x shahar motorlari (uni gearbest.com saytidan sotib oling)
  5. Mikro servo dvigatel (uni gearbest.com saytidan sotib oling)
  6. Qizil LED tugmasi 220 Ohm qarshilik 9V batareya ushlagichi (quvvat rozetkasi bilan yoki bo'lmasdan)
  7. 8 ta bo'shliq (erkak-ayol),
  8. 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

Kontseptsiyalarni tushunish
Kontseptsiyalarni tushunish
Kontseptsiyalarni tushunish
Kontseptsiyalarni tushunish
Kontseptsiyalarni tushunish
Kontseptsiyalarni 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

Kerakli asboblar
Kerakli asboblar
Kerakli asboblar
Kerakli asboblar
Kerakli asboblar
Kerakli asboblar
Kerakli asboblar
Kerakli asboblar
  1. Multimetr
  2. Non paneli
  3. Igna pense
  4. Tel -stripper
  5. Tel kesuvchi
  6. 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

AVR -ni kodlash uchun tushuncha
AVR -ni kodlash uchun tushuncha

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:

Uskuna ulanishlari
Uskuna ulanishlari
Uskuna ulanishlari
Uskuna ulanishlari
Uskuna ulanishlari
Uskuna ulanishlari
Uskuna ulanishlari
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: