28 жовтня 2016 р.

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

Як не крути, а інженеру-робототехніку таки доведеться писати програми. Тут для Arduino є вибір між багатьма варіантами. Розглянемо те, що годиться для початківців.
https://www.arduino.cc/en/Main/Software
  • Arduino IDE базове і дуже просте середовище, яке дозволяє писати програми на С/С++.  Ставити його треба в будь-якому випадку, бо має в комплекті USB драйвери для роботи з Arduino, які використовують всі інші оболонки. Для початкових експериментів підходить ідеально, бо створене максимально простим і надійним. Якщо ж проект великий і кількість файлів з текстами програми росте, використовувати стандартну оболонку стає незручно. 
  • Scratch - дуже просте середовище для візуального програмування, яке не вимагає знання С чи інших складних мов. Моєму синові дуже подобається працювати зі Scratch бо саме в цій системі їх вчать програмувати в школі на уроках інформатики. Головний недолік Scratch - програми написані на ньому насправді виконуються не на платі Arduino, а на комп'ютері, а Arduino по команді комп'ютера лише виставляє на своїх виходах певні рівні напруги, або читає рівень напруги з входів і передає в комп'ютер. Створити автономного
    http://khanning.github.io/scratch-arduino-extension/
    робота в Scratch не вийде. Та й не для того він. Подивіться "Відеоуроки з Arduino для дошкільнят" для ознайомлення з особливостями роботи в цій системі.
    Найпоширеніші версії:
    • Варіант як розширення ScratchX. Саме цей варіант ми і використовували. Процес інсталяції вимагає встановлення додатку для переглядача тенет, і для роботи ще й доступу до Інтернет. Трохи то виглядає неприродньо, але все ж дозволяє зберігати програмки локально на диску і працює чітко.
    • Варіант автономної програми S4A. Базується на старішій версії Scratch, але інсталюється автономно. Ми не пробували.
  • Ardublock. Дуже схожий за принципами до Scratch. Так само легко візуально пишуться програми. Різниця тільки в тому, що програма транслюється в C++ і передається в автономну роботу на Arduino. Син зараз програмує саме на Ardublock.

    Недавно зміна в Arduino IDE створила проблеми для Ardublock. Якщо ви пробуєте залити програму на Arduino і в результаті нічого не виходить, а на екран сипляться повідомлення про помилки, спробуйте поставити старішу версію Arduino IDE (напр. 1.6.11) і все виправиться.

    Є і альтернативна версія ArdublockEdu - адаптована як проміжний крок до вивчення програмування на C/C++. Ми не пробували.
    Sloeber logo
  • Sloeber eclipse plugin. Ця система ідеально підходить для написання складних проектів на C/C++ з великою кількістю класів, ресурсів і бібліотек. Дозволяє використовувати потужності системи Eclipse такі, як робота із системами контролю версій, засоби для швидкого редагування коду, швидку навігацію між програмними модулями і т.д. Не пропустіть відео з кумедним дядьком в капелюсі у головній ролі - там окремо і грунтовно перераховано переваги і особливості роботи Sloeber. Саме це середовище я використовую для написання свого С/С++ коду.

Професійні розробники часом використовують й інші засоби. Наприклад програми для Arduino можна компілювати напряму засобами компілятора GNU GCC і керувати проектом через скрипти. Але то вже явно не мені розповідати професійним розробникам як то робиться.

Що робити, якщо досвіду програмування небагато? Все залежить наскільки небагато.

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

Якщо ви ніколи не писали програм - можна вивчити ази за допомогою онлайн курсів.

Якщо ви маєте мінімальний досвід програмування хоча би на рівні шкільної програми - прочитайте вступні глави до якомога простішої книжки по C/C++ типу ось цієї:

http://eu.wiley.com/WileyCDA/WileyTitle/productCd-111882377X.html
C++ For Dummies, 7th Edition


Не заглиблюйтеся надто в нетрі об'єктно-орієнтованого програмування. Все це їсть пам'ять і не є необхідним для програмування мікроконтролерів (хоча я з радістю використовую ООП - бо так мені звичніше).

Для вивчення власне самої платформи Arduino можна почитати спеціалізовані книги:

Getting Started With Arduino 3rd Edition
Getting Started With Arduino 3rd Edition
 

http://www.bhv.ru/books/book.php?id=191366
Петин В.А. - Проекты с использованием контроллера Arduino
  
Непогана збірка в електронному вигляді доступна тут: http://arduino.net.ua/file_archive/Arduino%20books%20free%20download/

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

1 коментар:

  1. UPD: в кого виникли труднощі з пошуком Ardublock, який працює з останніми версіями Arduino IDE - виправлені версії можна скачати тут: https://github.com/taweili/ardublock/releases

    ВідповістиВидалити