Показ дописів із міткою Arduino. Показати всі дописи
Показ дописів із міткою Arduino. Показати всі дописи

10 серпня 2018 р.

19. Радіо-керований робот

Початковий задум


Набавившись вдосталь з роботом-черепашкою, вирішили ми створити для нього компаньйона. Задум поступово оформився в наступні ідеї:
  • Керування через WiFi навіть при прямому з'єднанні, все ж має деякі затримки на передачу команд. А що, якщо використати для керування звичайні 2.4 GHz радіо-пульти, що використовуються для радіокерованих моделей?
  • Наскільки шасі, виготовлене із підручних матеріалів, буде уступати фірмовому заводському?
  • Маємо кілька LCD дисплеїв - добре би перевірити наскільки їх зручно використовувати в робототехнічних проектах
  • Ніякого більше живлення від NiMH акумуляторів - тільки Li-Ion!
Робот із системою радіокерування

23 грудня 2016 р.

14. Як нагодувати робота

Постановка задачі


Для живлення робота необхідно використати надійну батарею, яку би було легко заряджати та обслуговувати.

Ємність - не менше 2000 mAh, а бажано більше.
Робоча напруга - 7-8V (ідеальна для Arduino, досить непогана для наших двигунів).  Батарея не повинна сильно втрачати напругу в процесі розряджання. При зниженні напруги суттєво нижче 7V, Arduino може працювати нестабільно.
Робочий струм - поки не знаємо. Робот не до кінця готовий - важко  сказати який струм він буде споживати. З того, що видно зараз - варто розраховувати на навантаження між 1 і 2 А.

Здавалось би - параметри є, береш Гугл - і вперед. Що може бути простіше, ніж батарейку купити?

11 грудня 2016 р.

12. Перехід на Arduino MEGA 2560

Вибір

Arduino MEGA 2560 до певної міри ідентична з Arduino UNO. Як мінімум перші 7 сантиметрів :-)

Arduino MEGA 2560 проти UNO

Спроектована вона так, щоб на тих перших семи сантиметрах контакти були ті ж, і розміщені таким самим чином. Тому всі шилди, спроектовані для Arduino UNO, ідеально підходять і для Arduino MEGA.

7 грудня 2016 р.

11. Переосмислення проекту: від прототипу до зрілості

Отже, станом на сьогодні, ми маємо досить цікавого робота. Він вміє рухатися вперед і повертати вправо та вліво, вміє виконувати якісь нескладні сценарії а також може керуватися віддалено через Wi-Fi. Для краси ми до нього приліпили ще кронштейн із ультразвуковим сенсором відстані HC-SR04. Що робити з тим сенсором - ще не розібралися. Але після його встановлення наш робот перетворився із злісного червоноокого термінатора Т400 на досить няшне створіння в стилі Wall-E.

Робот з декоративним сенсором відстані - 1

Робот з декоративним сенсором відстані - 2

Робот з декоративним сенсором відстані - 3

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

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

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

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

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

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

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

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

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

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

28 жовтня 2016 р.

3. Середовища програмування

Як не крути, а інженеру-робототехніку таки доведеться писати програми. Тут для Arduino є вибір між багатьма варіантами. Розглянемо те, що годиться для початківців.
https://www.arduino.cc/en/Main/Software
  • Arduino IDE базове і дуже просте середовище, яке дозволяє писати програми на С/С++.  Ставити його треба в будь-якому випадку, бо має в комплекті USB драйвери для роботи з Arduino, які використовують всі інші оболонки. Для початкових експериментів підходить ідеально, бо створене максимально простим і надійним. Якщо ж проект великий і кількість файлів з текстами програми росте, використовувати стандартну оболонку стає незручно. 

27 жовтня 2016 р.

1. Початок


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

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

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

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




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

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