- Потребни материјали:
- Концепти следбеника линија
- Дијаграм и објашњење роботског следбеника линије Распберри Пи:
- Програмирање вашег Распберри ПИ:
- Расподела Пи Лине следбеника у акцији:
Као што сви знамо, Распберри Пи је дивна платформа за развој заснована на АРМ микропроцесору. Са својом великом рачунарском снагом и развојним опцијама може направити чуда у рукама хобиста електронике или ученика. Да бисмо сазнали више о Распберри Пи-у и како он функционише, покушајмо да изградимо Лине Фолловер Робот користећи Распберри Пи.
Ако сте заинтересовани за роботику, требало би да вам је добро познато име „ Лине Фолловер Робот “. Овај робот је способан да прати линију, само користећи пар сензора и мотора. Можда не звучи ефикасно ако се за израду једноставног робота користи моћан микропроцесор попут Распберри Пи. Али, овај робот вам даје простор за бескрајни развој, а роботи попут Киве (Амазон складишни робот) пример су за то. Такође можете проверити наше друге роботе следбеника линија:
- Робот за праћење линија помоћу микроконтролера 8051
- Робот следбеник линије који користи Ардуино
Потребни материјали:
- Распберри Пи 3 (било који модел треба да ради)
- ИР сензор (2Нос)
- Мотор са једносмерном зупчаницом (2Нос)
- Л293Д Мотор Дривер
- Лежаљке (Можете и сами да направите свој картон)
- Повер банк (било који доступан извор напајања)
Концепти следбеника линија
Лине Фолловер Робот је у могућности да прати линију уз помоћ ИЦ сензора. Овај сензор има ИР предајник и ИЦ пријемник. ИР предајник (ИР ЛЕД) преноси светлост, а пријемник (фотодиода) чека да се враћена светлост врати. ИЦ светло ће се вратити назад само ако га рефлектује површина. Док све површине не одражавају ИЦ светлост, само их бела површина у боји може у потпуности одбити, а површина црне боје у потпуности ће их посматрати као што је приказано на доњој слици. Овде сазнајте више о модулу ИР сензора.
Сада ћемо користити два ИР сензора да проверимо да ли је робот у трагу са линијом и два мотора да исправимо робота ако се помери са стазе. Ови мотори захтевају велику струју и требали би бити двосмерни; стога користимо моторни модул попут Л293Д. Такође ће нам требати рачунски уређај попут Распберри Пи који ће упутити моторе на основу вредности из ИР сензора. Поједностављени блок дијаграм истог приказан је у наставку.
Ова два ИР сензора биће постављена по један са обе стране линије. Ако ниједан сензор не препозна црну линију, ПИ упућује моторе да се крећу напред као што је приказано доле
Ако леви сензор долази на црну линију, ПИ наређује роботу да скрене лево окретањем самог десног точка.
Ако десни сензор дође на црну линију, ПИ налаже роботу да скрене удесно окрећући само леви точак.
Ако оба сензора дођу на црну линију, робот се зауставља.
На овај начин Робот ће моћи да прати линију без изласка из стазе. Сада да видимо како изгледају склоп и код.
Дијаграм и објашњење роботског следбеника линије Распберри Пи:
Комплетна шема кола за овај следбеник робота Распберри Пи је приказана испод
Као што видите, склоп укључује два ИР сензора и пар мотора повезаних са Распберри пи. Комплетно коло напаја мобилна банка напајања (представљена ААА батеријом у горњем колу).
Будући да детаљи о иглама нису наведени на Распберри Пи-у, морамо да их верификујемо користећи доњу слику
Као што је приказано на слици, горњи леви угаони кут ПИ-а је пински + 5В, користимо овај пински + 5В за напајање ИР сензора као што је приказано на дијаграму кола (црвена жичана). Затим помоћу црне жице спајамо клинове уземљења са масом ИР сензора и модула моторног погона. Жута жица се користи за повезивање излазни пин сензора 1 и 2 до ГПИО игле и 3 респективно.
За погон мотора потребна су нам четири клина (А, Б, А, Б). Ова четири пина су повезана са ГПИО14,4,17 односно 18. Наранџаста и бела жица заједно чине везу за један мотор. Дакле, имамо два таква пара за два мотора.
Мотори су повезани са модулом Л293Д Мотор Дривер, као што је приказано на слици, а покретачки модул напаја банка напајања. Уверите се да је уземљење банке напајања повезано са уземљењем Распберри Пи, само тада ће ваша веза функционисати.
Програмирање вашег Распберри ПИ:
Када завршите са монтажом и везама, ваш робот би требао изгледати отприлике овако.
Сада је време да програмирамо нашег бота и покренемо га. Комплетни код овог бота налази се на дну овог водича. Овде сазнајте више о Програмирању и покретању кода у Распберри Пи. Важне линије су објашњене у наставку
Увешћемо ГПИО датотеку из библиотеке, доња функција омогућава нам програмирање ГПИО пинова ПИ. Такође смо преименовали „ГПИО“ у „ИО“, па ћемо у програму кад год желимо да се упутимо на ГПИО пинове користити реч „ИО“.
увоз РПи.ГПИО као ИО
Понекад, када ГПИО пинови, које покушавамо да користимо, можда раде неке друге функције. У том случају добићемо упозорења током извршавања програма. Испод наредба говори ПИ-у да занемари упозорења и настави са програмом.
ИО.сетварнингс (Фалсе)
ГПИО пинове ПИ можемо упутити било бројем пина на плочи или бројем њихове функције. Као и „ПИН 29“ на плочи је „ГПИО5“. Дакле, овде кажемо или ћемо овде представљати пин са '29' или '5'.
ИО.сетмоде (ИО.БЦМ)
Постављамо 6 пинова као улазне / излазне пинове. Прва два пина су улазни пинови за очитавање ИР сензора. Следеће четири су излазне иглице, од којих се прве две користе за управљање десним мотором, а следеће две за леви мотор.
ИО.сетуп (2, ИО.ИН) #ГПИО 2 -> Лијеви ИР излаз ИО.сетуп (3, ИО.ИН) #ГПИО 3 -> Десни ИР излаз ИО.сетуп (4, ИО.ОУТ) #ГПИО 4 - > Мотор 1 терминал А ИО.сетуп (14, ИО.ОУТ) #ГПИО 14 -> Мотор 1 терминал Б ИО.сетуп (17, ИО.ОУТ) #ГПИО 17 -> Леви терминал А ИО.сетуп (18, ИО).ОУТ) #ГПИО 18 -> Леви терминал Б мотора
ИЦ сензор даје „Труе“ ако је на белој површини. Дакле, све док оба сензора кажу Тачно, можемо ићи напред.
иф (ИО.инпут (2) == Труе и ИО.инпут (3) == Труе): # оба бела кретање напред ИО.оутпут (4, Труе) # 1А + ИО.оутпут (14, Фалсе) # 1Б- ИО.оутпут (17, Труе) # 2А + ИО.оутпут (18, Фалсе) # 2Б-
Морамо скренути десно ако први ИЦ сензор пређе црну линију. То се постиже очитавањем ИР сензора и ако је услов задовољен заустављамо десни мотор и ротирамо сами леви мотор како је приказано у доњем коду
елиф (ИО.инпут (2) == Фалсе и ИО.инпут (3) == Труе): #покрени десно ИО.оутпут (4, Труе) # 1А + ИО.оутпут (14, Труе) # 1Б- ИО.оутпут (17, Тачно) # 2А + ИО.оутпут (18, Нетачно) # 2Б-
Морамо скренути лево ако други ИР сензор пређе црну линију. То се постиже очитавањем ИР сензора и ако је услов задовољен заустављамо леви мотор и ротирамо сами десни мотор како је приказано у доњем коду
елиф (ИО.инпут (2) == Труе и ИО.инпут (3) == Фалсе): # скрените лево ИО.оутпут (4, Труе) # 1А + ИО.оутпут (14, Фалсе) # 1Б- ИО.оутпут (17, Тачно) # 2А + ИО.излаз (18, Тачно) # 2Б-
Ако оба сензора пређу црну линију, то значи да робот мора да се заустави. То се може постићи тако да обе стезаљке мотора буду истините, као што је приказано на доњем коду
елсе: #стаи стилл ИО.оутпут (4, Труе) # 1А + ИО.оутпут (14, Труе) # 1Б- ИО.оутпут (17, Труе) # 2А + ИО.оутпут (18, Труе) # 2Б-
Расподела Пи Лине следбеника у акцији:
Отпремите питхон код за следбенике линија на ваш Распберри Пи и покрените га. Потребно нам је преносно напајање, банка напајања у овом случају постаје корисна, па сам и ја користио исто. Овај који користим долази са два УСБ порта па сам га користио за напајање ПИ-а, а други за напајање покретачког мотора, као што је приказано на доњој слици.
Сада све што треба да урадите је да поставите сопствену стазу у црној боји и пустите бота преко ње. За израду траке користио сам изолациону траку у црној боји. Можете користити било који материјал црне боје, али уверите се да ваша основна боја није тамна.
Комплетан рад бота можете пронаћи на видео снимку датом у наставку. Надам се да сте разумели пројекат и уживали сте у његовој изради. Ако имате питања, објавите их у одељку за коментаре испод.