Search Code

Курс Лекција 6 од 10: Контролирање на DC мотори користејќи Raspberry Pi Pico 4WD паметен автомобил комплет

This lesson is part of: Raspberry Pi Pico 4WD Smart Car

Курс Лекција 6 од 10: Контролирање на DC мотори користејќи Raspberry Pi Pico 4WD паметен автомобил комплет

Овој проект водич е базиран на Лекција 6 од курсот Robojax Raspberry Pi Pico Smart Car. Во оваа сесија, ќе научите како да интегрирате серво мотор и ултразвучен сензор за да креирате интелигентен систем за избегнување пречки за вашето 4WD возило. Наместо едноставно да запре кога ќе открие објект, овој проект го трансформира вашето возило во мини автономен робот кој активно ја скенира околината, ја одредува најјасната патека и навигира околу пречките.

Ова не е само теоретска вежба; тоа е основен проект за градење на посложена роботика. Еве неколку практични примени за оваа логика за избегнување пречки:

  • Автономен истражувачки робот: Изградете робот кој може сам да навигира низ просторија или лавиринт без никакво далечинско управување.
  • Паметна правосмукалка: Користете ја истата логика за да креирате едноставен роботски правосмукалка што може да избегнува мебел и ѕидови додека чисти под.
  • Безбедносен патролен бот: Програмирајте го возилото да патролира периметар и користете го ултразвучниот сензор за да открива и навигира околу неочекувани објекти.
  • Едукативна роботска платформа: Користете го ова како основа за експериментирање со понапредни алгоритми за пронаоѓање патека и фузија на сензори.

Основната концепција е да се користи серво моторот за ротирање на ултразвучниот сензор, дејствувајќи како „радар“ што ја скенира областа од лево кон десно. Со мерење на растојанија под различни агли, возилото може да изгради мапа на својата непосредна околина и да донесе одлука да се движи напред, да сврти лево или десно за да најде јасна патека (во видео на 02:47).

Хардвер/Компоненти

Овој проект е изграден околу SunFounder Raspberry Pi Pico 4WD Smart Car Kit. Клучните компоненти користени во оваа лекција се:

  • Raspberry Pi Pico плоча
  • 4WD Smart Car шасија со мотори
  • Плоча за управување на мотори (вклучена во комплетот)
  • Ултразвучен сензор (тип HC-SR04)
  • Серво мотор
  • Батериски пакет

Водич за жици

Видеото споменува дека комплетот доаѓа со целосна документација, инструкции чекор-по-чекор и дијаграми за жици. Жиците за серво и ултразвучниот сензор обично се поврзани со плочата за управување на мотори, која ги консолидира врските за Pico.

Ве молиме погледнете го дијаграмот подолу за специфичните пински врски за вашиот комплет.

Објаснување на кодот

Видеото се фокусира на логиката во датотеката obstacle_avoid.py. Иако целосниот код е достапен со комплетот, оваа лекција ги истакнува параметрите што може да ги конфигурира корисникот и кои го контролираат однесувањето на возилото. Овие се променливите што најверојатно ќе сакате да ги прилагодите за да го подесите перформансот на вашиот робот.

На врвот на главната програма, ќе ги најдете клучните поставки што го дефинираат однесувањето на возилото (во видео на 13:07):

# Поставки за избегнување пречки
RADAR_REFERENCE = 20  # Растојание во cm за да се смета пречка
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] Вовед во избегнување пречки со Pico Car
  • [01:31] Преглед на карактеристиките на комплетот и документацијата
  • [02:47] Демонстрација на функцијата за избегнување пречки
  • [03:48] Тестирање на ултразвучниот сензор и мерење на растојание
  • [07:45] Објаснување на алгоритмот за избегнување пречки и дијаграмот на тек
  • [12:49] Анализа на главниот код за избегнување пречки
  • [15:50] Демонстрација на код во живо и интерпретација на податоци
  • [18:11] Длабинска анализа на логиката за одредување насока и вртење
  • [22:53] Финален тест во живо со лавиринт од пречки
No code attached.

Resources & references

No resources yet.

Files📁

No files available.