27 жовтня 2016 р.

1. Початок


Якось так сталося, що захопилися ми з сином ідеєю створити свого робота. Ну, не зовсім вже суперрозумного і автономного як телята з Boston Dynamics, але такого, щоб повзав собі по будинку і око радував.

Саме про реалізацію цього проекту і буде даний цикл дописів.

Ясно, що спочатку ми уявляли свого робота десь так:

R2D2 - робот нашої мрії




Але історично склалося інакше, і вийшов він десь отаким:

робот, який у нас виходить


В мене є базова інженерна освіта в галузі радіоелектроніки. Двадцять років тому ми, будучи студентами Львівської Політехніки, могли легко по пам'яті побудувати схему тригера з транзисторів, складали схемки на бредбордах і щось там навіть працювало.  Я думав, що все це вивітрилося з моєї голови безповоротно, тому особливих надій на свої знання не покладав. Це вже потім виявилося, що вивітрилося не все, і розуміти загальні принципи все ж значно легше, маючи навіть дуже туманні і уривчасті спогади. Дякую Роману Теодоровичу і Ярославу Миколовичу за те, що таки щось їм вдалося вбити в наші замріяні студентські голови.

Насправді - створення систем керування роботом чи схожими пристроями це дуже проста справа. Все що треба - взяти мікросхему, яка в правильні моменти часу видаватиме певні напруги на певних виходах (або вимірювати напруги на входах). Так само як програмування - то просто собі розміщення деяких бітів і байтів в правильній послідовності. Така мікросхема називається мікроконтролером.

Справжні "дорослі" мікроконтролери відпали зразу. Всі ті описи програматорів, шин передачі даних, тактових генераторів і т.д. навівають жах нудьгу.

Нащастя - для таких як ми придумали готові до використання пристрої, які роблять абсолютно те ж, але не вимагають нічого паяти чи розумітися на складних електронщицьких темах. Серед всіх варіантів можна виділити дві найпоширеніші платформи:

  • Raspberry Pi - потужна платформа, яка має на борту повноцінну операційну систему на базі GNU/Linux. Цей варіант видався нам дещо заважким і надлишковим для нашої задачі. Хоча як інформаційний сервер для розумного будинку, або як медіа центр для не дуже розумного телевізора - непоганий вибір.
  • Arduino - сімейство простих плат мікроконтролерів, які легко програмуються за допомогою мови С/С++. Мають 16 і більше виходів і завдяки широкому вибору модулів розширення є дуже серйозною платформою для проектів будь-якої складності.

Отже ставку робимо на Arduino.

Якщо маєте бажання грунтовніше вивчити особливості Arduino та Raspberry Pi а також вникнути глибше в тему вибору платформи раджу ознайомитися з цими статтями українською:

Оскільки Arduino це OpenSource проект - існують десятки варіантів виконання від різних виробників. Зеленим початківцям рекомендую почати з простого Arduino Uno - причому без проблем можна використовувати недорогий китайський варіант за чотири долари. Потім вже можна підійти до вибору більш осмислено.

Якщо мова С не є вашою сильною стороною - можна підшукати платформи для яких рідними є JavaScript або навіть LUA. Але то вже інша історія.

плати Arduino Uno

Немає коментарів:

Дописати коментар