Як зібрати робота вдома
wikiHow працює за принципом вікі, а це означає, що багато наших статей написано кількома авторами. При створенні цієї статті над її редагуванням та покращенням працювали, у тому числі анонімно, 27 осіб.
Кількість переглядів цієї статті: 25 003.
Багато людей хотіли б сконструювати робота як машину, яка б працювала автономно. Однак, якщо трохи розширити поняття слова "робот", то телекеровані об'єкти можуть вважатися роботом. Можливо, ви подумаєте, що важко це буде, зібрати робота на пульті управління, але все насправді легше, ніж здається. Ця стаття вам розповість, як зібрати телекерованого робота.
Визначтеся з тим, що ви будуватимете. Ви навряд чи зможете зібрати повномасштабного, двоногого гуманоїда, який зможе виконувати всі ваші забаганки. До того ж це не буде й робот із різними клешнями, здатними хапати та перетягувати 5-ти кілограмові об'єкти. Ви почнете з будівництва робота, який зможе переміщатися вперед - назад, ліворуч і праворуч бездротовою командою з пульта управління. Однак, після того, як ви освоїте основні аспекти, ви зможете удосконалити свою конструкцію та додати різні інновації, просто дотримуйтесь вказівки: "Немає на світі закінченого робота". Завжди можна щось додати та покращити.
Сім разів відміряй - один раз відріж. Перед тим, як розпочинати безпосереднє збирання робота, навіть перед замовленням необхідних деталей. Ваш перший робот буде виглядати, як два серводвигуни на плоскому шматочку пластмаси. Даний дизайн дуже простий і залишає місце для вдосконалень. Розмір такої моделі буде приблизно 15 на 20 сантиметрів.Для створення такого простого робота ви можете просто схематично намалювати його за допомогою лінійки, паперу та олівця у реальному розмірі. Для більших і складних проектів вам знадобиться вивчити правила масштабування та автоматизованого програмування.
- Вибір сервомоторів, які вам потрібні для приведення робота в рух. Один двигун буде рухати передні колеса, а другий - задні. Таким чином, ви зможете використовувати найпростіший метод кермового управління, - диференціальну передачу, що означає, що обидва мотори обертаються вперед при русі робота вперед, обидва мотори обертаються назад при русі робота назад, а для здійснення одного з поворотів - один мотор працює, а іншої немає. Серводвигун відрізняється від звичайного двигуна змінного струму тим, що перший здатний обертатися на 180 градусів і передавати інформацію назад на свою позицію. Даний проект задіятиме сервомотор, тому що так буде легше і вам не потрібно купувати дорогий регулятор швидкості або окрему коробку передач. Після того, як ви розберетеся в тому, як зібрати робота на пульті управління, ви зможете сконструювати іншого або модифікувати те, що у вас є, використовуючи двигуни змінного струму замість сервомоторів. Існує 4 важливі аспекти, про які варто серйозно подумати перед покупкою сервомотора, а точніше: швидкість, момент, що крутить, розмір/вага і, якщо їх можна модифікувати на обертання на 360 градусів. Оскільки сервомотори здатні обертатися тільки на 180 градусів, ваш робот зможе просунутися лише трохи вперед. При можливості модифікації на 360 градусів, ви зможете налаштувати двигун так, що він безперервно обертатиметься в один бік і дозволятиме роботу їхати постійно в одну чи іншу сторону.Розмір і вага дуже важливі для даного проекту, тому що, швидше за все, залишиться багато вільного місця в будь-якому випадку. Постарайтеся знайти щось середнього розміру. Крутний момент є потужністю двигуна. Для цього використовується коробка передач. Якщо у мотора немає коробки передач і момент, що крутить, низький, то ваш робот, швидше за все, і з місця не зрушиться оскільки йому не вистачить на те потужності. Ви завжди можете купити та приєднати сильніший або швидший двигун після завершення складання. Пам'ятайте, що більше швидкість, тим менше буде потужність. Рекомендується придбати сервомашину "HS-311" для першого прототипу робота. Даний двигун має хороший баланс швидкості і потужності, є недорогим і відповідним за розміром для даного робота.
- Так як ця сервомашинка здатна тільки здійснювати обертання на 180 градусів, вам доведеться переналаштувати її на 360 градусів, але дана процедура порушить гарантію на покупку, але вам буде необхідно на це піти, щоб дати роботу можливість вільно пересуватися. Інструкції щодо цього можна знайти в інтернеті.
- Виберіть батарейки. Існує 4 види батарейок, серед яких ми вибиратимемо: літій полімерна, нікель-металогідридна, нікель-кадмієва та лужна батарея.
- Батареї літій полімер є найновішими і неймовірно легкими. Однак вони небезпечні, дорогі і вам потрібно буде використовувати спеціальний зарядний пристрій. Використовуйте цей вид батареї, якщо у вас є досвід у роботехніці і готові розщедритися на свій проект.
- Нікель-кадмієва є звичайною батареєю, що перезаряджається. Цей вид використовується в багатьох роботах.Проблема полягає в тому, що, якщо ви перезарядите їх до того, як вони повністю розряджені, вони не зможуть працювати так довго, як при повній зарядці.
- Нікель-металогідридна батарея дуже схожа на нікель-кадмієву розміром, вагою і ціною, але вона має кращу ефективність роботи, і саме цей вид батареї рекомендується для техніків-початківців.
- Лужна батарея є поширеним видом батареї, що не перезаряджається. Ці батареї дуже популярні, дешеві та доступні. Однак вони швидко розряджаються і вам постійно доведеться їх купувати. Не використовуйте їх.
Тепер, коли ви вибрали необхідні деталі, замовте їх через Інтернет. Постарайтеся замовляти їх з якомога меншою кількістю сайтів, що дозволить вам заощадити на доставці та отримати всі деталі одночасно.
Виміряйте та виріжте рамку. Візьміть лінійку та ріжучий предмет, і виміряйте довжину та ширину ходової рамки, приблизно 15 (см) на 20 (см). А тепер, перевірте, наскільки рівні у вас вийшли лінії. Пам'ятайте, сім разів відміряй, один раз відріж. Якщо ви використовуєте пластикову дошку, то вам вдасться її розрізати так само, як і її дерев'яну тезку.
- Помістіть серводвигуни на донний бік пластмасової дошки біля краю. Та сторона сервомотора, яка має стрижень, повинна бути спрямована у зовнішню сторону. Переконайтеся, що у вас достатньо місця для зачеплення коліс.
- Прикріпіть колеса до двигунів, використовуючи гвинтики, які вам доставили разом з двигунами.
- Приліпіть один шматочок липучки на приймач, а інший на батарейний блок.
- Приліпіть два шматочки протилежного виду липучки на робота і прикріпіть приймач та батарейний блок до нього.
- Перед вами з'явився робот із двома коліщатками з одного боку, а інший бік якого просто тягнеться по підлозі, але ми поки що не додаватимемо третього колеса.
Підключіть дроти. Тепер коли всі частини розташовані на своїх місцях, необхідно все під'єднати до приймача. Підключіть батарею до приймача туди, де написано "живлення" або "акумулятор", спробуйте все правильно підключити. Далі приєднайте сервомотори до приймача там, де написано "канал 1" та "канал 2".
Ставай на зарядку. Від'єднайте батарею від приймача та підключіть її до зарядного пристрою. Заряджання може зайняти близько 24 годин, так що наберіться терпіння.
Тепер пограйтеся зі своєю новою іграшкою. Уперед! Натисніть кнопку вперед на передавачі. Організуйте смугу перешкод, пограйте зі своїм котом. А коли ви награєтесь, додайте наворотів до нього!
- Спробуйте покласти на робота ваш старий "смартфон" з камерою і використовуйте його як записуючий пристрій, що рухається. Ви можете використовувати відео чат для того, щоб бачити, куди прямує робот, що дасть вам можливість вивести його за межі вашої кімнати без вашого супроводу.
- Додати наворотів. Якщо на вашому передавачі/приймачі розташований додатковий канал, то ви можете зробити клешню, яка зможе закриватися, а якщо ви маєте в своєму розпорядженні кілька каналів, то ваша клешня буде здатна як відкриватися, так і закриватися. Використовуйте свою уяву.
- Якщо ви натискаєте вправо, а робот їде вліво, то спробуйте приєднати проводки на приймачі по-іншому, наприклад, якщо ви встромили правий серводвигун в канал 2, а лівий сервомотор - в канал 1, то поміняйте їх місцями.
- Можливо, ви захочете придбати адаптер, який дозволить під'єднати батарею до зарядного пристрою.
- Ви можете віддати перевагу використанню 12-вольтової батареї постійного струму, що покращить швидкість і потужність робота.
- Переконайтеся, що ви купили передавач та приймач однієї частоти. Також, переконайтеся, що приймач має таку ж чи більше каналів, як і передавач. Якщо на приймачі більше каналів, ніж на передавачі, то менше каналів буде підвладне використанню.
- Початківцям не слід використовувати джерело змінного живлення (домашня розетка) для домашніх проектів. Змінний струм дуже небезпечний.
- Не налаштовуйтесь на частоту в 72 (МГц), якщо ви не будуєте літачок, оскільки ви порушите закон, використовувати цю частоту на наземних іграшках, а також ви ризикуєте покалічити або вбити будь-кого.
- Не використовуйте 12 (В) батарею змінного струму на 110-240 В батареї змінного струму, що незабаром може призвести до непридатності двигуна.
- Використання 12 (В) неперемінного струму може підірвати двигун, якщо він не підтримує батарею.
Як зробити робота: 3 різні варіанти
Робототехніка - це предмет, який перетворився з простого хобі вундеркіндів або майбутнього, яке ніколи не досягне чогось популярного, що стало модним. В останні роки в Іспанії позакласна діяльність «робототехніка» стала «модною» та багато освітніх центрів поступово впроваджують предмет робототехніки для навчання своїх студентів.
І те, що створення робота - це щось разюче, про що зараз думають багато людей, як діти, так і дорослі. потім Ми по-різному поговоримо з вами, як зробити робота.. Способи купівлі компонентів, призначених для цієї мети, які не можна використовувати ні для чого, крім функцій, вказаних виробником, до того часу, поки ми не створимо наші власні компоненти, щоб створити повністю персоналізованого та унікального робота, якого більше ні в кого не буде.
Їздити на роботів
Перший спосіб створення робота полягає у його покупці безпосередньо. Для цього способу отримання робота Необов'язково добре розумітися на робототехніці або навіть вміти програмувати., оскільки багато роботів вони мають обмежені можливості та не зроблять нічого екстраординарного.
Ви можете знайти кілька прикладів роботів, які купуються у зібраному вигляді та виконують певні функції. Ціна на ці пристрої в деяких випадках зовсім недоступна., оскільки більше, ніж компонентів, то оплачується лише функція, що він виконує. Те, чого не відбувається в інших методах створення роботів.
Купити комплекти робототехніки
Комплекти робототехніки Це дуже популярний спосіб створення роботів, оскільки не потрібно багато знань, щоб зробити робота і налаштувати його. З іншого боку, вартість цих комплектів доступніша, ніж купівля робота, але не настільки, як вартість створення наших власних компонентів для створення робота. потім Йдеться про три досить популярні та доступні набори робототехніки..
Цові
Робот Zowi або BQ Zowi – освітній робот, створений іспанською компанією BQ. BQ Zowi - це робототехнічний комплект, метою якого є створення двоногого робота, який можна налаштовувати та взаємодіяти з користувачем. через програму для смартфона.
Робот BQ Zowi використовує певні компоненти безкоштовного обладнання, які дозволяють змінювати або налаштовувати такі деталі, як корпус за допомогою 3D-принтера. Функції Zowi можна змінювати, але за умови, що вони знаходяться у рамках програми BQ.. Робота BQ Zowi можна придбати через Товар не знайдено. .
Лего Mindstorms
Lego була однією з перших іграшкових компаній, які зробили ставку на робототехніку через її освітню роль. Для цього він створив комплект робототехніки, який дозволяє будь-якому користувачу зробити робота за кілька годин. Набір Лего виділяється своїм керівництвом та можливостями налаштування.Персоналізація, яка здійснюється за допомогою блоків та частин Lego.
Таким чином, У Lego Mindstorms є версія, призначена для шкіл, інша версія, призначена для дорослих користувачів, і серія, що складається з кількох міні-наборів, що розширюють функції. робота, яку ми створюємо. Єдиним недоліком цього набору є ціна, висока ціна, якщо взяти до уваги комплект BQ, або вартість, яку ми платимо, якщо ми робимо повністю «ручного» робота.
Комплекти робототехніки White Label
Набір робототехніки Lego став настільки відомим, що Різні компанії вирішили створювати комплекти робототехніки з тією ж філософією, що і комплект Lego.але без деталей Lego для створення структур. У наборах робототехніки можна знайти різні набори за різною ціною, але Важлива річ у цих наборах - це посібник з експлуатації або також званий посібник з проекту, а також можливості розширення чи ні. з новими функціями.Ці елементи важливі, тому що вони вкажуть, чи можна налаштовувати робота, який ми збираємося зробити, чи ні, і призначений для початківців чи ні. Найкраще пошукати комплект, що відповідає цим вимогам.
Зробіть робота з нуля
Я особисто вважаю що це найбільш задовільний спосіб створення робота. Однак він доступний не всім, тому що вам потрібні глибокі знання робототехніки, програмування та безкоштовного обладнання. Але як компенсація цих вимог ціна робота доступніша, і ви не залежите від великої компанії або великої спільноти в реалізації проекту. Зробити робота (цим методом) нам знадобиться лише 3D принтер та електронні елементиелементи, які є в будь-якому магазині електроніки.
Устаткування, необхідне для створення робота
3D-принтер нам допоможе створювати корпуси, налаштовувати робота або просто створювати пластикові деталі, які важко знайти, або не існують (Це залежатиме від наших знань про інструменти САПР). Але нам також знадобиться інші предмети, такі як плата електроніки. У цій категорії переважають плати Arduino і Raspberry Pi, але є багато інших, схожих або пропонують те ж саме за нижчою ціною. Хоча треба визнати, що останні версії Raspberry Pi дуже цікаві для створення потужного та багатозадачного робота на невеликому просторі.
Крім цих двох компонентів, нам також знадобляться такі предмети, як РК-панелі, якщо ми хочемо показати інформацію, акумулятори для живлення нашого робота (Використання кабелю для багатозадачного пристрою дуже погано, чи не так?), кабелі для підключення різних компонентів та кнопки для активації або деактивації функцій. Потім, залежно від функцій, які ми даємо нашій роботі, нам може знадобитися один або кілька серводвигунів, колеса, динаміки, мікрофони та сім-карта (якщо ми хочемо, щоб наш робот підключався до Інтернету). Це будуть одні з найпопулярніших компонентів, які нам знадобляться, але значною мірою це залежатиме від функцій, які хочемо дати роботу.
Програмне забезпечення, необхідне для створення робота
Що стосується програмного забезпечення робота, то воно також залежатиме від наших знань, але вже кілька місяців існують операційні системи для плат Free Hardware, які дозволяють нам мати базові функції, не втрачаючи при цьому свободи. Хорошим прикладом цього є Ubuntu Core, операційна система, яка базується на Ubuntu, яка дозволяє нам надавати обладнанню можливість виконання основних функцій, таких як підключення до Інтернету, відображення інформації про обладнання, з'єднання з іншими пристроями тощо.
І звідси представити наші програми або сторонні програми, які виконуватимуть функції або дії, які ми хочемо, щоб робот виконував. У цьому процесі будуть потрібні знання мов програмування та системного адміністрування.
Висновок
Це 3 способи, як зробити робота в домашніх умовах, хоча б з урахуванням рівня знань користувача. Особисто я вважаю, що найкраще зробити робота останнім способом, тобто самі створювати деталі та налаштування, але це правда, що для цього потрібні глибокі знання, які є не у всіх.. Можливо, з цієї причини найкраще рішення – робити це поступово та починати з комплектів робототехніки та поступово прогресувати.
Коментар, залиште свій
Створюємо робота в домашніх умовах
Напевно, надивившись фільмів про роботів, тобі неодноразово хотілося побудувати свого бойового товариша, але ти не знав з чого почати. Звичайно, у тебе не вдасться побудувати двоногого термінатора, але ми й не прагнемо цього. Зібрати простого робота може будь-хто, хто вміє правильно тримати паяльник у руках і для цього не потрібно глибоких знань, хоча вони й не завадять. Аматорське роботобудування мало чим відрізняється від схемотехніки, тільки набагато цікавіше, тому що тут так само порушені такі галузі, як механіка та програмування. Всі компоненти доступні і коштують не так вже й дорого. Отже, прогрес не стоїть на місці, і ми будемо його використовувати на свою користь.
Вступ
Отже. Що таке робот? У більшості випадків це автоматичний пристрій, який реагує на будь-які дії довкілля. Роботи можуть керуватися людиною або виконувати заздалегідь запрограмовані дії. Зазвичай на роботі розташовують різноманітні датчики (відстань, кут повороту, прискорення), відеокамери, маніпулятори. Електронна частина робота складається з мікроконтролера (МК) - мікросхема, в яку укладено процесор, тактовий генератор, різна периферія, оперативна та постійна пам'ять. У світі існує безліч різноманітних мікроконтролерів для різних областей застосування і на їх основі можна збирати потужних роботів. Для аматорських будівель широкого застосування знайшли мікроконтролери AVR.Вони, на сьогоднішній день, найдоступніші та в інтернеті можна знайти багато прикладів на основі цих МК. Щоб працювати з мікроконтролерами, тобі потрібно вміти програмувати на асемблері або на Cі і мати початкові знання в цифровій та аналоговій електроніці. У нашому проекті ми будемо використовувати Cі. Програмування для МК мало чим відрізняється від програмування на комп'ютері, синтаксис мови такий самий, більшість функцій практично нічим не відрізняються, а нові досить легко освоїти і зручно ними користуватися.
Що нам потрібно
Для початку наш робот вмітиме просто об'їжджати перешкоди, тобто повторювати нормальну поведінку більшості тварин у природі. Все, що нам знадобиться для будівництва такого робота, можна буде знайти в радіотехнічних магазинах. Вирішимо, як наш робот пересуватиметься. Найвдалішим я вважаю гусениці, які застосовуються в танках, це найбільш зручне рішення, тому що гусениці мають більшу прохідність, ніж колеса машини і зручніше керувати ними (для повороту достатньо обертати гусениці в різні боки). Тому тобі знадобиться будь-який іграшковий танк, у якого гусениці обертаються незалежно один від одного, такий можна купити в будь-якому магазині за розумною ціною. Від цього танка тобі знадобиться лише платформа з гусеницями та мотори з редукторами, решту ти можеш сміливо відкрутити та викинути. Також нам знадобиться мікроконтролер, мій вибір упав на ATmega16 – у нього достатньо портів для підключення датчиків і периферії і взагалі він досить зручний. Ще тобі потрібно купити трохи радіодеталей, паяльник, мультиметр.
Робимо плату з МК
У нашому випадку мікроконтролер виконуватиме функції мозку, але почнемо ми не з нього, а з живлення мозку робота.Правильне харчування – запорука здоров'я, тому ми почнемо з того, як правильно годувати нашого робота, тому що на цьому зазвичай помиляються роботобудівники-початківці. А для того, щоб наш робот працював нормально, потрібно використовувати стабілізатор напруги. Я віддаю перевагу мікросхемі L7805 – вона призначена, щоб на виході видавати стабільну напругу 5В, яка і потрібна нашому мікроконтролеру. Але через те, що падіння напруги на цій мікросхемі становить близько 2,5В до нього потрібно подавати мінімум 7,5В. Разом з цим стабілізатором використовуються електролітичні конденсатори, щоб згладити пульсації напруги і в ланцюг обов'язково включають діод для захисту від переполюсування.
Тепер ми можемо зайнятися нашим мікроконтролером. Корпус у МК - DIP (так зручніше паяти) і має сорок висновків. На борту є АЦП, ШИМ, USART та багато іншого, що ми поки що використовувати не будемо. Розглянемо кілька важливих вузлів. Висновок RESET (9 нога МК) підтягнутий резистором R1 до «плюсу» джерела живлення – це потрібно робити обов'язково! Інакше твій МК може ненавмисно скидатися або, простіше кажучи, глючити. Також бажаним заходом, але не обов'язковим є підключення RESET'а через керамічний конденсатор C1 до «землі». На схемі ти також можеш побачити електроліт на 1000 мкФ, він рятує від провалів напруги при роботі двигунів, що теж сприятливо позначиться на роботі мікроконтролера. Кварцовий резонатор X1 та конденсатори C2, C3 потрібно розташовувати якомога ближче до висновків XTAL1 та XTAL2.
Про те, як прошивати МК, я не розповідатиму, оскільки про це можна прочитати в інтернеті. Писати програму ми будемо на Cі, як середовище програмування я вибрав CodeVisionAVR.Це досить зручне середовище та корисне новачкам, тому що має вбудований майстер створення коду.
Плата мого роботаУправління двигунами
Не менш важливим компонентом нашого робота є драйвер двигунів, який полегшує нам завдання в управлінні ним. Ніколи і в жодному разі не можна підключати двигуни безпосередньо до МК! Взагалі потужними навантаженнями не можна керувати безпосередньо з мікроконтролера, інакше він згорить. Використовуйте ключові транзистори. Для нашої нагоди є спеціальна мікросхема – L293D. У таких нескладних проектах завжди намагайтеся використовувати саме цю мікросхему з індексом «D», оскільки вона має вбудовані діоди для захисту від перевантажень. Цією мікросхемою дуже легко керувати та її просто дістати в радіотехнічних магазинах. Вона випускається у двох корпусах DIP та SOIC. Ми будемо використовувати у корпусі DIP через зручність монтажу на платі. L293D має роздільне живлення двигунів та логіки. Тому саму мікросхему ми живитимемо від стабілізатора (вхід VSS), а двигуни безпосередньо від акумуляторів (вхід VS). L293D витримує навантаження 600 мА на кожен канал, а цих каналів у неї два, тобто до однієї мікросхеми можна підключити два двигуни. Але щоб перестрахуватися, ми об'єднаємо канали, і тоді буде потрібно по одній мікро на кожний двигун. Звідси випливає, що L293D зможе витримати 1.2 А. Щоб цього досягти потрібно об'єднати ноги мікро, як показано на схемі. Мікросхема працює наступним чином: коли на IN1 та IN2 подається логічний «0», а на IN3 та IN4 логічна одиниця, то двигун обертається в один бік, а якщо інвертувати сигнали – подати логічний нуль, тоді двигун почне обертатися в інший бік. Висновки EN1 та EN2 відповідають за включення кожного каналу.Їх ми з'єднуємо та підключаємо до «плюсу» живлення від стабілізатора. Так як мікросхема гріється під час роботи, а установка радіаторів проблематична на цей тип корпусу, то відведення тепла забезпечується ногами GND - їх краще розпаювати на широкому контактному майданчику. Ось і все, що спочатку тобі потрібно знати про драйвери двигунів.
Датчики перешкод
Щоб наш робот міг орієнтуватися і не врізався у все, ми встановимо на нього два інфрачервоні датчики. Найпростіший датчик складається з ик-діода, який випромінює в інфрачервоному спектрі та фототранзистор, який прийматиме сигнал з ік-діода. Принцип такий: коли перед датчиком немає перешкоди, то ик-промені не потрапляють на фототранзистор і не відкривається. Якщо перед датчиком перешкода, тоді промені від нього відбиваються і потрапляють на транзистор – він відкривається і починає текти струм. Недолік таких датчиків у тому, що вони можуть по-різному реагувати на різні поверхні і не захищені від перешкод – від сторонніх сигналів інших пристроїв датчик може випадково спрацювати. Від перешкод може захистити модулювання сигналу, але поки ми цим не морочимось. Для початку і цього вистачить.
Перший варіант датчиків мого роботаПрошивка робота
Щоб оживити робота, для нього потрібно написати прошивку, тобто програму, яка знімала б показання з датчиків і керувала двигунами. Моя програма є найпростішою, вона не містить складних конструкцій і всім буде зрозуміла. Наступні два рядки підключають заголовні файли для нашого мікроконтролера та команди для формування затримок:
Наступні рядки умовні, тому що значення PORTC залежать від того, як ти підключив драйвер двигунів до свого мікроконтролера:
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;Значення 0xFF означає, що у виході буде лог. "1", а 0x00 - лог. "0".
Наступною конструкцією ми перевіряємо, чи є перед роботом перешкода і з якого боку:
Якщо на фототранзистор потрапляє світло від ік-діода, то на нозі мікроконтролера встановлюється балка. "0" і робот починає рух назад, щоб від'їхати від перешкоди, потім розвертається, щоб знову не зіткнутися з перепоною і потім знову їде вперед. Так як у нас два датчики, то ми перевіряємо наявність перешкоди двічі – праворуч та ліворуч і тому можемо дізнатися з якого боку перешкоду. Команда delay_ms(1000) вказує на те, що пройде одна секунда, перш ніж почне виконуватися наступна команда.
Висновок
Я розглянув більшість аспектів, які допоможуть тобі зібрати твого першого робота. Але на цьому робототехніка не закінчується. Якщо ти збереш цього робота, то в тебе з'явиться безліч можливостей для його розширення. Можна вдосконалити алгоритм робота, як, наприклад, що робити, якщо перешкода не з якогось боку, а перед роботом. Так само не завадить встановити енкодер – простий пристрій, який допоможе точно розташовувати та знати розташування твого робота у просторі. Для наочності можливе встановлення кольорового або монохромного дисплея, який може показувати корисну інформацію – рівень заряду акумулятора, відстань до перешкоди, різну інформацію налагодження. Не завадить і вдосконалення датчиків - установка TSOP (це іч-приймачі, які сприймають сигнал лише певної частоти) замість звичайних фототранзисторів.Крім інфрачервоних датчиків існують ультразвукові, коштують дорожче, і теж не позбавлені недоліків, але останнім часом набирають популярності роботобудівники. Щоб робот міг реагувати на звук, було б непогано встановити мікрофони з підсилювачем. Але по-справжньому цікавим, я вважаю, встановлення камери та програмування на її основі машинного зору. Є набір спеціальних бібліотек OpenCV, за допомогою яких можна запрограмувати розпізнавання осіб, рухи кольоровими маяками та багато всього цікавого. Все залежить тільки від твоєї фантазії та вмінь.
Список компонентів:
- ATmega16 у корпусі DIP-40>
- L7805 у корпусі TO-220
- L293D у корпусі DIP-16 х2 шт.
- резистори потужністю 0,25 Вт номіналами: 10 кОм х1 шт., 220 Ом х4 шт.
- конденсатори керамічні: 0.1 мкф, 1 мкф, 22 пф
- електролітичні конденсатори: 1000 мкФ х 16 В, 220 мкФ х 16В х2 шт.
- діод 1N4001 або 1N4004
- кварцовий резонатор на 16 МГц
- ІЧ-діоди: підійдуть будь-які в кількості двох штук.
- фототранзистори, теж будь-які, але реагуючі тільки на довжину хвилі ик-променів
Код прошивки:
Тип МК: ATmega16
Тактова частота: 16,000000 MHz
Якщо у тебе частота кварцу інша, то це потрібно вказати в налаштуваннях середовища:
Project -> Configure -> Закладка "C Compiler"
*****************************************************/void main(void)
//Налаштовуємо порти на вхід
//Через ці порти ми отримуємо сигнали від датчиків
DDRB = 0x00;
//Включаємо підтягуючі резистори
PORTB = 0xFF;//Налаштовуємо порти на вихід
//Через ці порти ми керуємо двигунами
DDRC = 0xFF;//Головний цикл програми. Тут ми зчитуємо значення з датчиків
//і керуємо двигунами
while (1)
// Їдемо вперед
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;
if (! (PINB & (1 <
//Їдемо назад 1 секунду
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms(1000);
//Загортаємо
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms(1000);
>
if (! (PINB & (1 <
//Їдемо назад 1 секунду
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms(1000);
//Загортаємо
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 1;
PORTC.3 = 0;
delay_ms(1000);
>
>;
>Про мій роботу
На даний момент мій робот практично завершено.
На ньому встановлено бездротову камеру, датчик відстані (і камеру і цей датчик встановлено на поворотній вежі), датчик перешкоди, енкодер, приймач сигналів з пульта та інтерфейс RS-232 для з'єднання з комп'ютером. Працює у двох режимах: автономному та ручному (приймає сигнали керування з пульта дистанційного керування), камера також може вмикатися/вимикатися дистанційно або самим роботом для економії заряду батарей. Пишу прошивку охорони квартири (передача зображення на комп'ютер, виявлення рухів, об'їзд приміщення).
За побажаннями викладаю відео:
UPD. Перезалив фотографії та зробив невеликі поправки у тексті.
Стаття була опублікована мною в журналі Хакер за серпень 2009 року.
