25 листопада 2016 р.

10. Дистанційне керування

Нарешті дійшли руки до модуля ESP13, якого нам помилково прислали разом із шасі і який до цього часу припадав пилюкою в надійному місці. Цей модуль ідеально підійшов для реалізації дистанційного керування нашим роботом.


ESP13 Arduino WiFi Shield

23 листопада 2016 р.

9. Діодне освітлення з використанням регістра зсуву

Відколи ми почали додавати до робота нові і нові пристрої, серйозною проблемою  стала обмежена кількість виводів Arduino Uno. І то наш проект ще зовсім далекий до завершення. Що ж буде далі?

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

Є прості і давно пророблені рішення, які дозволяють легко оминути такі обмеження. Найпоширенішими з них є протоколи I2C та SPI, які підтримуються Arduino зразу "з коробки".

Гарний огляд цих протоколів дає Джеремі Блум у своїх уроках Arduino (англ. або рос.). Лаконічний і дуже конкретний опис також можна почитати в статті Розширяємо порти (рос.). Глибше в деталі можна пірнути тут: Підключаємо купу пристроїв до  Arduino п'ятьма дротами (рос.).

12 листопада 2016 р.

8. Програмна архітектура і багатозадачність

Думальний процес робота включає багато елементів. Це і логіка низького рівня (ввімкнути двигуни, блимнути світлодіодом, пропищати щось в динамік), і логіка середнього рівня (доїхати до перешкоди, зупинитися, помітивши край прірви - зупинитися, розвернутися, втекти), і логіка високого рівня (вибрати стратегію поведінки, дослідити і запам'ятати схему приміщень). Всі ці "думки" у вигляді програмного коду крутяться в "голові" робота постійно і одночасно. І буде дуже недобре, якщо, робот захопиться розрахунком маршруту, і гепнеться зі сходів не помітивши прірву перед собою. Можливість думати про багато речей одночасно називається багатозадачністю.

Якщо ви добре розбираєтеся в програмуванні і не відчуваєте потреби заглиблюватися у роздуми про особливості реалізації багатозадачності - просто скачайте архів з кодом і правте його на свій розсуд. Весь наступний текст просто пояснює звідки цей код взявся і чому він є саме таким.

4 листопада 2016 р.

7. Генерування звуків

Отже наш робот навчився повзати. Прийшов час дати йому голос. Очевидно, що той же ж R2D2 не в останню чергу став знаменитістю через свої особливі трелі і свисти. Наш робот має бути не гіршим.

Для синтезу складних звукових ефектів є багато недорогих модулів, які легко інтегрувати з Arduino. Включно з модулями, які можуть відтворювати MP3 файли із внутрішньої пам'яті або micro-SD карт.

В нас поки нічого такого нема. Але завжди можна знайти якийсь вихід.

1 листопада 2016 р.

6. Нове шасі - перші рухи

Не пройшло і місяця, як прибуло наше шасі. Акуратна коробочка з купою шматків фарбованого металу, болтиками, кріпленнями, двигунами, і дротами.

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

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

Радості від складання шасі було не менше, ніж від складання хорошого конструктора Lego чи якоїсь шафки IKEA :-)