Мазмуну:

Dog Bot: Lego Robot Rover веб -камерасы менен: 17 кадам (сүрөттөр менен)
Dog Bot: Lego Robot Rover веб -камерасы менен: 17 кадам (сүрөттөр менен)

Video: Dog Bot: Lego Robot Rover веб -камерасы менен: 17 кадам (сүрөттөр менен)

Video: Dog Bot: Lego Robot Rover веб -камерасы менен: 17 кадам (сүрөттөр менен)
Video: MJC мектеби. Биз сизге программист болууга жардам берүүгө даярбыз. 2024, Ноябрь
Anonim
Image
Image

Бул жерде Wi -Fi аркылуу каалаган экрандан башкара турган Lego роботун жасоо. Ошондой эле веб -камерасы бар, андыктан бара турган жериңизди көрө аласыз жана көздөр үчүн LED жарыктары! Бул логотипти жасоодо балдарыңыз менен болгон эң сонун долбоор, жана сиз аларды канчалык бактылуу болсоңуз, ошондой эле электроникага да тарта аласыз. Бул долбоорду ишке ашырууда ийкемдүүлүк көп, бул сиз аны оңой эле бөлүктөргө бөлүп, кайра долбоорлоого болот. Мен кайра баштоо үчүн тыгылып калганда, аны пайдалуу деп таптым. Муну бир нече жолу кылгандан кийин, аны кайра түптөө абдан оңой жана тез. Мунун эң сонун жери, эч нерсени "сындырам" деп тынчсыздануунун кажети жок, анткени сиз оңой калыбына келтирүү көндүмдөрүн өнүктүрөсүз.

Сизге эмне керек

  • Raspberry Pi B+
  • Негизги жана мотордук комплект
  • Негизги табак Lego
  • Өнөр жай күчү супер клей
  • Бургулоо
  • Кол өнөрчүлүк бычагы
  • Лагердик жабдуулар
  • SD карта
  • SD карта окугуч
  • Мотор контроллери комплект
  • 2 LED
  • орто баадагы веб -камера (арзаныраак кылып көрсөңүз болот)
  • ПК жана планшет / телефон
  • Администраторуңуз бар Wifi роутери
  • Lego биттери көп
  • Телефондун шашылыш зарядкасы
  • Ар биринде кеминде 1 аял терминалы бар 4 секирүүчү зым
  • 4 АА батареялары (кайра заряддалуучу жакшы)

1 -кадам: базаны даярдоо

Мен базада жана Amazonдо ушул мотор сыяктуу 2 мотор менен баштадым

Перспекстин базасын алыңыз жана жука Lego табак пластинасын чаптаңыз. Мен бул үчүн бир нече мүнөттө кургайт жана супер күчтүү болгон супер клейди колдондум. Клей бекитилгенде, ашыкча Lego табак пластинасын кесип, ал perspex базалык табактын сызыгына туура келет. анда Legex плитасы аркылуу perspex базасына дал келген тешиктерди бургулаңыз. Мен тешиктерди качан жана качан керек болгондо бургуладым. Эми сизде Lego структурасын куруу үчүн негиз бар.

2 -кадам: Дөңгөлөктөрдү чогултуу

Дөңгөлөктөрдү чогултуу
Дөңгөлөктөрдү чогултуу

Эми дөңгөлөктөрдү чогултуп алыңыз. Бул жерде өндүрүүчүлөрдүн көрсөтмөлөрүн аткарыңыз. Мен сатып алган дөңгөлөктөрдө кытай тилиндеги бардык көрсөтмөлөр бар болчу, мен аларды окуй албайм, бирок сүрөттөрдөн түшүнүү абдан оңой эле. Чогулгандан кийин зымдарды моторлорго кичинекей ширетүүчү менен бекиткиле.

3 -кадам: Дөңгөлөктөрдү базага бекитүү

Дөңгөлөктөрдү базага бекитүү
Дөңгөлөктөрдү базага бекитүү

Кийинки дөңгөлөктөрдү базалык табакка тиркеңиз, эгер керек болсо, базанын тешиктерин бурсаңыз болот. Сиз, балким, долбоордун аягына чейин зымдарды башка жактан базадан өткөрүүнү каалаарыңызды билесиз, бирок сиз ар дайым жаңы тешип, кийинчерээк көчүп кете аласыз.

4 -кадам: Пи даярдаңыз

Пи даярдаңыз
Пи даярдаңыз

Эми PIди даярдаңыз. Мен USB wifi гонглеси бар B+ моделин колдондум. Мен Raspbian Pi сайтынан жүктөп ала турган Debian Jessieге негизделген толук рабочий сүрөттү колдондум. SD картаны нөлдөн баштап түзүүгө жана дисктин сүрөтүн колдо кармап турууга болот, анткени сиз кайра баштасаңыз болот. Компьютериңизде дисктин сүрөтүн кантип түзүү керек экенин билүү үчүн бир аз гуглинг жасашыңыз керек болот. Мен сүрөтүмдү Ubuntu аркылуу ушундай кылып жараткам: Дисктин сүрөтүн оң баскыч менен чыкылдатып, "Диск сүрөт жазуучусу менен ачууну" тандаңыз. Сүрөттү SD картага жазыңыз. Дисктин сүрөтү анча чоң эмес, андыктан сизде чоңураак SD картаңыз болсо (мисалы: 30 ГБ), GParted сыяктуу бөлүү программасын колдонсоңуз болот. Муну кантип жасоону иштеп чыккандан кийин 5 мүнөт талап кылынат жана программаны бузуп алгандай болуп кетиши мүмкүн, бирок кайра эле кайра орнотсоңуз болот.

5 -кадам: Контроллер тактасын орнотуңуз

Контроллер тактасын орнотуңуз
Контроллер тактасын орнотуңуз

Кийинкиде моторду башкаруучу такта керек. Мен комплектти RyanTekтен колдондум. Бул мыкты ширетүүчү гид менен келет, бирок менимче, сиз аны алдын ала ширете аласыз. Эгерде сиз буга чейин эч кандай ширетүү жасай элек болсоңуз, кабатыр болбоңуз, мотор тактасына кирерден мурун жай алып, бир аз машыгыңыз.

Эми, батарейка пакетин (4 АА батарейкасы менен) жана моторлорду контроллер тактасына, анан контролдоочу тактаны Пионун GPIO казыктарына бекиңиз. Дагы контролер тактасы сизге көбүрөөк маалымат берет. Туура мотор зымдарын туура уячаларга алуу жөнүндө кабатыр болбоңуз, анткени алар DC кубаттуулугуна туташкан эмес. Мен Pi же Батарея пакетин Lego тактайына чаптап же бурап салбайм, анткени бул Lego корпусун иштеп чыгууда сизге көбүрөөк ийкемдүүлүк берет. Дизайныңызды оңой эле өзгөртө аласыз.

6 -кадам: Lego Денесин курууну баштаңыз

Lego Денесин курууну баштаңыз
Lego Денесин курууну баштаңыз
Lego Денесин курууну баштаңыз
Lego Денесин курууну баштаңыз

Эми Lego курууга убакыт келди. Бул жерде сиз чындап эле жаш балдарды тартсаңыз болот, эгер алар Легонун бир бөлүгүн кармаса! Баары иштей электе, биз жөнөкөй чарчы турак жайдан баштадык, андан кийин ит бот менен укмуштуу окуялар болду. Бул жердеги эң сонун нерсе - роботтун корпусун каалагандай калыбына келтире аласыз. Pi үчүн үй түзүүдөн баштаңыз. USB порттору жана электр кабелдери үчүн орун калтырууну унутпаңыз. Кандай гана турак жай болбосун, адилеттүү боштукту куруңуз. Баары бир аз чырылдайт жана бул Lego менен өтө так боло албайт.

Биз кийин сизге керек болгон USB портторуна кирүүнү камсыз кылуу үчүн Lego терезелерин колдондук.

7 -кадам: Пи даярдаңыз

Пити иштетүү жана роботту кыймылга келтирүү үчүн азыр жакшы убакыт.

Мен Git hub бул долбоор менен колдонуу үчүн кодду иштеп келе жатам. Git hub беттеринде мени окуңуз, Piдеги бардык программалык камсыздоону кантип орнотуу керектиги боюнча көрсөтмөлөрдү алып барасыз, бирок мен дагы сизди кадамдар аркылуу алам. бул жерде

Адегенде электр кабелин туташтырып, Пиди баштаңыз. Сиз HDMI кабелин сыналгыга туташтырып, USB клавиатурасын жана чычканды колдонушуңуз керек. Биринчи нерсе - Wifiга туташуу. сиз муну Raspian рабочий столунун жогорку оң жагындагы сөлөкөттү чыкылдатып, чоо -жайын далилдөө менен жасайсыз. Wifi'га туташкандан кийин, буйрук сабынан башкасынын баарын жасай аласыз, андыктан эгер сиз кааласаңыз, ssh аркылуу Piге туташа аласыз, бирок азырынча биз сыналгыга туташып тургандыктан, биз Raspian столунан терминал ача алабыз.

8 -кадам: Программаны Piге орнотуңуз

Пидеги терминалды ачыңыз жана төмөнкү буйруктарды териңиз.

sudo apt-get update

Бул Raspianды акыркы программалык камсыздоо менен жаңыртат.

Андан кийин, веб -камера программасын орнотуңуз

sudo apt-get орнотуу кыймылы

Ошондой эле бул учурда кыймылды конфигурациялашыңыз керек. Мен github беттериндеги кайсы файлдарда жаңыртуу керектигин тизмектедим. Пиңизде веб -камера алуу боюнча көрсөтмө бар. Орнотуулар менен таанышып, орнотууга ыңгайлуу болгондон кийин алар менен ойноңуз.

sudo apt-get python-dev python-pip орнотуу

Бул Python китепканаларын жана ошондой эле python программалык камсыздоонун менеджерин орнотот.

sudo pip орнотуу 'pubnub> = 4.1.2'

Бул башкаруу панели менен зымсыз роботтун ортосундагы билдирүүлөрдү башкаруучу Pubnub программасын орнотот.

Бул бөлүктү орнотуу үчүн бир аз убакыт кетет, андыктан барып чай кайнатыңыз !!

9 -кадам: Робот программасын орнотуңуз

Эми сиз бардык көз каранды программалык камсыздоо биттерин орноттуңуз, роботту иштетүү үчүн керектүү кодду орнотуу убактысы келди.

git clone

бул үй каталогунда лего-робот папкасын түзөт.

Роботтун кодун иштетүүдөн мурун, PubNub эсебин түзүп, жарыялоо жана жазылуу ачкычын алышыңыз керек. муну PubNubдагы башталып жаткан көрсөтмөлөрдү аткаруу менен кыла аласыз. Орнотулгандан кийин эки файлды ачышыңыз керек:

  • лего-робот/сервер/keys.py
  • лего-робот/кардар/keys.js

жана pub жана sub ачкычтарын pubnub тактасынан ала турган ачкычтарыңызга алмаштырыңыз.

Белгилей кетүүчү нерсе, каналдын мааниси кардар менен серверге дал келсе, каалаган нерсе болушу мүмкүн.

10 -кадам: Контроллер программасын орнотуңуз жана анын баардыгын текшериңиз

Контроллер программасын орнотуп, баары иштээрин текшериңиз
Контроллер программасын орнотуп, баары иштээрин текшериңиз
Контроллер программасын орнотуп, баары иштээрин текшериңиз
Контроллер программасын орнотуп, баары иштээрин текшериңиз

Компьютерде, git hub кодун биз роботтогудай кылып клондоштуруңуз.

git clone

Сиздин компьютериңизде git орнотулган эмес болушу мүмкүн. Болбосо git hubдагы көрсөтмөлөрдү аткарыңыз.

Сизде кодду zip файлы катары жүктөө мүмкүнчүлүгү бар, бирок мен GIT орнотууну жана репозиторийди клондоо аркылуу файлдарды көчүрүүнү сунуштайм.

лего-робот/клиент/keys.js файлын жеке жарыялоо жана жазылуу ачкычтары менен жаңыртышыңыз керек.

Бүткөндөн кийин, веб-браузерде lego-robot/client/keys.html файлын ачыңыз. Сиз азыр роботту башкаруу баскычтарын колдонуу менен башкара алышыңыз керек.

Жогорудагы диаграмма эмне болуп жатканын көрсөтөт:

  • Сиз баскычты басканда, pubnubга билдирүү жөнөтүлөт (жарыялоо ачкычыңыздын жардамы менен)
  • PubNub андан кийин роботко жөнөтөт …
  • Билдирүүлөрдү угуу (жазылуу баскычын колдонуу менен)
  • Андан кийин робот бир иш -аракетти которот.

Мен pubNubду бекер, тез (реалдуу убакытта) катары колдондум жана чындап эле сонун API аркылуу билдирүүлөрдү жөнөтүүнү жана алууну жөнөкөйлөтөм.

Сиз кардардын жана сервердин кодун казып, "алдыга" жана "артка" сыяктуу жөнөкөй баскычтар аркылуу жөнөтүлгөн билдирүүлөрдү көрө аласыз.

Лего-робот/клиент/джойстик.html дарегинде джойстик стили контролери бар.

Мен бул контроллерлерди өркүндөтүп, жаңыларын дайыма кошуп турам, андыктан эгер сиз программалык камсыздоону жаңырткыңыз келсе, анда "git pull" буйругун колдонсоңуз болот. Сураныч, гиттин репозиторийине салым кошуп, колдонуучулар үчүн ыңгайлуу башкаруу элементтерин түзүңүз.

Эми сиз баары кыймылдын OK экенин текшерүүгө даярсыз. Пи терминалында каталогду лего-роботко/серверге өзгөртүп, териңиз:

sudo python робот.py

бул Pubnubдан келген билдирүүлөрдү угуу үчүн python скриптин баштайт.

Эми контроллердин кээ бир баскычтарын басып көрүңүз, бул жоопторду Pi терминалында көрүшүңүз керек (жогорудагы сүрөттө көрсөтүлгөндөй) жана robot.py бул билдирүүлөрдү Pi GPIOдогу сигналдарга картага түшүрүү менен кыймылдарга которот.

Сиз роботту ары -бери жылдыра алышыңыз керек.

11 -кадам: Веб -камераны жана LED чырактарын даярдаңыз

Веб -камераны жана LED чырактарын даярдаңыз
Веб -камераны жана LED чырактарын даярдаңыз
Веб -камераны жана LED чырактарын даярдаңыз
Веб -камераны жана LED чырактарын даярдаңыз

Сиз Linux менен шайкеш келген каалаган веб -камераны колдоно аласыз (алардын көпчүлүгү). Мен орто диапазонго (15 фунт стерлингге) бармакмын, анткени мен чындыгында арзан бирин сынап көрдүм жана андан эч кандай так сүрөттү ала алган жокмун. Биринчи кадам - веб -камераны ажыратуу, андыктан сизде негизги такта жана камера бар.

Эгерде сиз чырактарды орноткуңуз келсе, анда LED жарыгын алып, ар бир терминалга эки секирүүчү зымды туташтырыңыз. Мен бир учунда аял терминалы бар секирүүчү зымдарды колдондум, андыктан аны кийинчерээк Pis GPIO казыктарына туташтыра аласыз. Зымдын экинчи учун чечүү керек, терминалды алып салуу. Сиз коопсуз туташуу үчүн бул жерде да ширете аласыз. Мен ошондой эле ар бир зымды жабуу үчүн колдоно турган жылуулукту кичирейтүүчү пленканы колдондум, бирок мен баары жакшы экенине сүйүнмөйүнчө, аны өтө жакшы кылып алуудан тынчсызданбайм, ошондо бүтүрүп, жакшырта аласың. Жарык диодуңуздун күйүп кетишин токтотуу үчүн резисторду колдонуу жакшы идея.

Бул жерде диоддорду кантип зымдоо керектиги жөнүндө деталдуу көрсөтмө бар.

Сүрөттөн көрүнүп тургандай, мен LED тетигин роботтордун башына орнотуунун оңой жолу катары тешиги бар Lego блогун колдоном.

12-кадам: Башты мурун жана камера менен түзүңүз

Башты мурун жана камера менен түзүңүз
Башты мурун жана камера менен түзүңүз
Башты мурун жана камера менен түзүңүз
Башты мурун жана камера менен түзүңүз
Башты мурун жана камера менен түзүңүз
Башты мурун жана камера менен түзүңүз

Камера үчүн баш корпусун түзүңүз. Мен бул жерде өтө конкреттүү айтпайм, анткени сиз чыгармачыл болушуңуз керек. Бирок, сиз камеранын тегерегин курушуңуз керек. Dog бот камераны мурдуна бириктирет жана LED катары көздөрү бар. Зымдарды алып чыгуу үчүн баштын артында тешик калтырганыңызды тактаңыз.

13 -кадам: Денени толуктоо

Денени толуктоо
Денени толуктоо
Денени толуктоо
Денени толуктоо
Денени толуктоо
Денени толуктоо

Эми сиз ит бот негизинен кыймылдап жатканына кубанычтасыз, сиз батарейкалар үчүн корпус түзө аласыз. Мен 4 АА батарейкасын (дөңгөлөктөрү жана базасы менен камсыздалган) жана авариялык телефон заряддоочу пакетин колдондум. АА батареялары дөңгөлөктөр үчүн DC кыймылдаткычтары үчүн жана уюлдук телефон топтому Пи үчүн. Батареяларды оңой жеткиликтүү кылуу жакшы идея, анткени сиз аларды заряддоо жана алмаштыруу үчүн жетүүңүз керек болот.

Бактылуу болгондон кийин, Пинин үстүнө чатыр кой. Мен зымдарды жана схемаларды жашыруу үчүн өтө деле тынчсызданбайм, анткени бул роботтордун сүрөтүнүн бир бөлүгү. Бирок, бул жерде баары сизден көз каранды. Сиз ботуңуздун канчалык оор болуп жатканын, канчалык жай кыймылдаганын ойлонуп көрүшүңүз мүмкүн.

14 -кадам: Башты орнотуу

Башты орнотуу
Башты орнотуу
Башты орнотуу
Башты орнотуу
Башты орнотуу
Башты орнотуу

Баарын туташтырууга убакыт келди.

Веб -камералардын USB коргошун сиз түзгөн кирүү тешиктерин колдонуп, боттун маңдайына туташтырыңыз. Сиз Lego корпусун түзүү менен роботту зым менен камсыздай аласыз. Мен дагы USB шнурун кыскартып, кайра лактап, кыскарттым, бирок эгер сизде чындыгында 4 кичинекей зымды чогуу ширетүү каалоосу болсо гана жасаңыз. Кыска USB коргошун сатып алып, аны кайра камеранын артына туташтыруу оңой болушу мүмкүн.

Сиз ошондой эле LED чырактарын мотор тактасынын контроллери албаган Pis GPIO казыктарына туташтырышыңыз керек. Бул GPIO казыктары 20 жана 21 жана жакын жердеги эки запастык казык. Жакын жердеги запастык казыктарды колдонуңуз. Эгерде жарык иштебесе, анда GPIO чыгаруу менен тегерек жерди алмаштырууга аракет кылыңыз. Кайсы казыктарга Google'га жакшы GPIO диаграммасына туташуу керек экенин иштеп чыгуу үчүн.

15 -кадам: Светодиоддорду жана мурундун камерасын текшериңиз

Светодиоддорду жана мурундун камерасын сынап көрүңүз
Светодиоддорду жана мурундун камерасын сынап көрүңүз

Веб -камера программасын баштоо үчүн:

Sudo кыймылы

Ошондой эле robot.py скриптин баштаганыңызды текшериңиз (previuos инструкциясында кеңири баяндалгандай):

sudo python робот.py

Сиз азыр жарыкты күйгүзүү жана өчүрүү үчүн контроллердеги жарыкты өчүргүчтү колдоно алышыңыз керек.

Веб камера сиздин Pis IP дарегиңиз боюнча 8080 портунда обого чыгышы керек, андыктан веб браузериңизге төмөнкүлөрдү териңиз.

192.168.1.2:8081

Мен Pi IP дарегин роутериме админ катары кирип, тиркелген түзмөктөрдү карап таптым. Муну кантип жасоо керектиги боюнча көрсөтмөлөр адатта роутердин арт жагында болот же роутериңиздин онлайн көрсөтмөлөрүнө кайрылыңыз.

мурунку кадамда айтылгандай, кыймыл программасынын конфигурация жөндөөлөрүн изилдей аласыз. Менин оюмча, кээде агым токтойт, бирок жалпысынан ал жакшы иштейт.

Сиз бул видео агымына Wifi тармагыңызга туташкан браузерди иштеткен нерселерден кире аласыз.

16 -кадам: Аяктоо

Онлайн кирүү

Сиз азыр роботту компьютердеги браузерден башкара алышыңыз керек. Ботту Ipad же телефон сыяктуу каалаган сенсордук түзмөктөн башкара алуу жакшы.

Бул үчүн сиз веб -серверде кардар файлдарын (button.html ж.б.) жайгаштырышыңыз керек.

Мен жакшы иштей турган Pi веб -серверин орнотуудан баштадым. Бирок HTML файлын башка веб -серверге жүктөө оңой. Мен HTML файлын ачык көк хост эсепке көчүрдүм. Сиз бул файлдарга кирүү мүмкүнчүлүгүн коргоону каалашыңыз мүмкүн, анткени аларда pub nub каналыңыздын баскыч баскычтары бар. Муну аткаргандан кийин контроллерге каалаган түзмөктөн, ал тургай үйүңүздүн сыртынан да кире аласыз.

Авто баштоо

Дагы бир пайдалуу нерсе - малина Piңиздеги / etc / rc.local скриптин жаңыртуу; бул эки сапты кошуу:

  • Sudo кыймылы
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Булар Pi башталган сайын иштей берет, андыктан буйрукту кол менен иштетүүнүн кажети жок.

17 -кадам: Көңүл ачыңыз

Көңүл ачуу !
Көңүл ачуу !

Баары болду.

Сураныч, эгер сиз тыгылып калсаңыз, комментарий калтырыңыз жана эгерде сиз программалык камсыздоону жакшыртууну кааласаңыз, анда github репозиторийине салым кошуңуз. Мен бул долбоордун үстүндө иштөөнү улантам жана бул жерде кээ бир идеялар бар:

  • "Чоң трак" стилиндеги контроллер, анда сиз "солго 10, алдыга 6, артка 2 …" сыяктуу буйруктардын тизмегин программалап, анан "чуркоо" баскычын басыңыз жана робот командаларды аткарат.
  • Ийилген моюн, андыктан вебкамера менен өйдө карай аласыз
  • Текстти контроллерден сөзгө которуучу спикер
  • Үн менен башкарылган башкаруу

Ура

Питер

Сунушталууда: