Кодты іздеу

Сабақ 6/10: DC қозғалтқыштарын Raspberry Pi Pico 4WD Smart Car Kit көмегімен басқару

Бұл сабақтың бөлігі: Raspberry Pi Pico 4WD Smart Car

Сабақ 6/10: DC қозғалтқыштарын Raspberry Pi Pico 4WD Smart Car Kit көмегімен басқару

Бұл жоба нұсқаулығы Robojax Raspberry Pi Pico Smart Car курсының 6-сабағына негізделген. Осы сессияда сіз серво қозғалтқыш пен ультрадыбыстық сенсорды біріктіріп, 4WD көлігіңізге арналған интеллектуалды кедергілерді болдырмау жүйесін құруды үйренесіз. Объектіні анықтаған кезде жай ғана тоқтаудың орнына, бұл жоба көлігіңізді қоршаған ортаны белсенді түрде сканерлейтін, ең ашық жолды анықтайтын және кедергілерді айналып өтетін шағын автономды роботқа айналдырады.

Бұл тек теориялық жаттығу емес; бұл күрделі робототехниканы құруға арналған іргелі жоба. Міне, осы кедергілерді болдырмау логикасының бірнеше практикалық қолданылуы:

  • Автономды зерттеу роботы: Бөлмені немесе лабиринтті қашықтан басқарусыз өздігінен шарлай алатын робот құрыңыз.
  • Ақылды шаңсорғыш: Еденді тазалау кезінде жиһаз бен қабырғаларды болдырмайтын қарапайым робот-шаңсорғыш жасау үшін сол логиканы қолданыңыз.
  • Күзет патруль роботы: Көлікті периметрді патрульдеуге бағдарламалаңыз және күтпеген объектілерді анықтау және айналып өту үшін ультрадыбыстық сенсорды қолданыңыз.
  • Білім беру робототехника платформасы: Мұны неғұрлым жетілдірілген жол табу алгоритмдері мен сенсорлық интеграцияны тәжірибелеу үшін негіз ретінде пайдаланыңыз.

Негізгі тұжырымдама - серво қозғалтқышты ультрадыбыстық сенсорды айналдыру үшін қолдану, ол аймақты солдан оңға қарай сканерлейтін "радар" ретінде әрекет етеді. Әртүрлі бұрыштардағы қашықтықтарды өлшеу арқылы көлік өзінің жақын маңындағы ортаның картасын құра алады және ашық жолды табу үшін алға жүру, солға бұрылу немесе оңға бұрылу туралы шешім қабылдай алады (бейнеде 02:47).

Аппараттық құралдар/Компоненттер

Бұл жоба SunFounder Raspberry Pi Pico 4WD Smart Car жинағының айналасында құрылған. Осы сабақта қолданылатын негізгі компоненттер:

  • Raspberry Pi Pico платасы
  • Қозғалтқыштары бар 4WD Smart Car шассиі
  • Қозғалтқыш драйвер платасы (жинаққа кіреді)
  • Ультрадыбыстық сенсор (HC-SR04 түрі)
  • Серво қозғалтқыш
  • Батарея жинағы

Сым қосу нұсқаулығы

Бейнеде жинақтың толық құжаттамасымен, қадамдық нұсқаулармен және сым қосу диаграммаларымен бірге келетіні айтылған. Серво мен ультрадыбыстық сенсордың сымдары әдетте қозғалтқыш драйвер платасына қосылады, ол Pico үшін қосылымдарды біріктіреді.

Жинағыңызға арналған нақты түйреуіш қосылымдары үшін төмендегі диаграммаға жүгініңіз.

Код түсіндірмесі

Бейне obstacle_avoid.py файлының ішіндегі логикаға назар аударады. Толық код жинақпен бірге қолжетімді болғанымен, бұл сабақ көліктің мінез-құлқын бақылайтын пайдаланушы конфигурациялайтын параметрлерді ерекшелейді. Бұл роботыңыздың өнімділігін реттеу үшін реттегіңіз келетін айнымалылар.

Негізгі бағдарламаның жоғарғы жағында көліктің мінез-құлқын анықтайтын негізгі параметрлерді табасыз (бейнеде 13:07):

# Кедергілерді болдырмау параметрлері
RADAR_REFERENCE = 20  # Кедергіні қарастыру үшін см-дегі қашықтық
STEP_ANGLE = 10       # Әр сканерлеу қадамында серво қозғалатын градустар
FORWARD_SPEED = 30    # Алға жылжу кезіндегі қозғалтқыш жылдамдығы
TURN_SPEED = 50       # Бұрылу кезіндегі қозғалтқыш жылдамдығы
FORWARD_SCAN_ANGLE = 50  # Жылдам алға сканерлеу үшін градустар
  • RADAR_REFERENCE: Бұл ең маңызды параметр. Ол сантиметрдегі ең төменгі қауіпсіз қашықтықты анықтайды. Егер ультрадыбыстық сенсор осы мәннен жақынырақ объектіні анықтаса, көлік оны "қауіп" деп санайды және болдырмау процедурасын бастайды (бейнеде 22:03).
  • STEP_ANGLE: Бұл радар сканерлеуінің ажыратымдылығын анықтайды. Кішірек мән (мысалы, 10 градус) сканерлеуді дәлірек, бірақ баяу етеді. Үлкенірек мән оны жылдамырақ, бірақ аз егжей-тегжейлі етеді.
  • FORWARD_SPEED және TURN_SPEED: Бұлар қозғалтқыштарға қуатты бақылайтын PWM мәндері (0-100). Көліктің алға қаншалықты жылдам жүретінін және қаншалықты тез бұрылатынын өзгерту үшін оларды реттеуге болады (бейнеде 13:33).
  • FORWARD_SCAN_ANGLE: Кедергі болдырмағаннан кейін, көлік алдағы жолдың ашық екеніне көз жеткізу үшін жылдам сканерлеу жүргізеді. Бұл айнымалы сол сканерлеу үшін бұрышты орнатады. 50 мәні орталыққа қатысты -25-тен +25 градусқа дейін сканерлейтінін білдіреді (бейнеде 13:40).

Тірі жоба/Демонстрация

Бейнеде нұсқаушы жобаны кезең-кезеңімен көрсетеді. Алдымен ол ультрадыбыстық сенсордың қашықтықты қалай өлшейтінін және мәндерді терминалға басып шығаратынын көрсететін қарапайым сынақ жүргізеді, "0" кедергіні және "1" ашық жолды білдіретінін растайды (бейнеде 03:48).

Содан кейін ол операцияның миы болып табылатын шешім қабылдау блок-схемасын түсіндіреді. Көлік радар деректерін талдау үшін get_direction() деп аталатын функцияны пайдаланады. Бұл функция сканерлеу деректерін ашық кеңістік сегменттеріне бөледі және ең кеңін анықтайды. Осы кең жолдың қай жерде орналасқанына (сол, орта немесе оң) байланысты көлік қай бағытқа бұрылу керектігін шешеді (бейнеде 11:19).

Соңында, нұсқаушы кедергілер лабиринтін құрады және көліктің ол арқылы қалай жүретінін көрсетеді. Көліктің солға және оңға сканерлейтінін, тұрып қалса артқа шегінетінін және қолмен басқарусыз кедергілер арқылы өтетін жолды табатынын көре аласыз (бейнеде 22:53).

Тараулар

  • [00:00] Пико көлігімен кедергілерді болдырмауға кіріспе
  • [01:31] Жинақ мүмкіндіктері және құжаттамаға шолу
  • [02:47] Кедергілерді болдырмау мүмкіндігін көрсету
  • [03:48] Ультрадыбыстық сенсорды және қашықтықты өлшеуді тексеру
  • [07:45] Кедергілерді болдырмау алгоритмі мен блок-схемасын түсіндіру
  • [12:49] Негізгі кедергілерді болдырмау кодын талдау
  • [15:50] Тікелей код демонстрациясы және деректерді түсіндіру
  • [18:11] Бағыт алу және бұрылу логикасын терең зерттеу
  • [22:53] Кедергілер лабиринтімен соңғы тікелей сынақ
Код жоқ.

Ресурстар мен сілтемелер

Әлі ресурстар жоқ.

Файлдар📁

Файлдар жоқ.