Arduino для початківців. Частина 1
Доброго часу, Хабр. Запускаю цикл статей, які допоможуть вам у знайомстві з Arduino. Але це не означає, що якщо Ви не новачок у цій справі – Ви не знайдете нічого для себе цікавого.
Вступ
Було б непогано почати зі знайомства з Arduino. Arduino - апаратно-програмні засоби для побудови систем автоматики та робототехніки. Головною перевагою є те, що платформа орієнтована на непрофесійних користувачів. Тобто будь-хто може створити свого робота незалежно від знань програмування та власних навичок.
Початок
Створення проекту на Arduino складається з 3 головних етапів: написання коду, прототипування (макетування) та прошивка. Для того, щоб написати код а потім прошити плату нам необхідне середовище розробки. Насправді їх є чимало, але ми програмуватимемо в оригінальному середовищі – Arduino IDE. Сам код писатимемо на С++, адаптованим під Arduino. Завантажити можна на офіційному сайті. Скетч (малюнок) – програма, написана на Arduino. Давайте подивимося на структуру коду:
Важливо, що обов'язкову в С++ функцію main() процесор Arduino створює сам. І результатом того, що бачить програміст, є:
void setup() < >void loop()
Давайте розберемося із двома обов'язковими функціями. Функція setup() викликається лише один раз під час старту мікроконтролера. Саме вона виставляє усі базові налаштування. Функція loop() – циклічна. Вона викликається у нескінченному циклі протягом усього часу роботи мікроконтролера.
Перша програма
Для того, щоб краще зрозуміти принцип роботи платформи, давайте напишемо першу програму. Цю найпростішу програму (Blink) ми виконаємо у двох варіантах.Різниця між ними лише у складанні.
int Led = 13; // оголошуємо змінну Led на 13 пін (вихід) void setup() <pinMode(Led, OUTPUT); // визначаємо змінну > void loop () <digitalWrite (Led, HIGH); // подаємо напругу на 13 пін delay (1000); // Чекаємо 1 секунду digitalWrite(Led, LOW); // не подаємо напругу на 13 пін delay (1000); // Чекаємо 1 секунду >
Принцип роботи цієї програми досить простий: світлодіод спалахує на 1 секунду і тухне на 1 секунду. Для першого варіанта нам не доведеться збирати макет. Так як у платформі Arduino до 13 пін підключений вбудований світлодіод.
Прошивка Arduino
Для того, щоб залити скетч на Arduino нам потрібно спочатку легко зберегти його. Далі, щоб уникнути проблем при завантаженні, необхідно перевірити налаштування програматора. Для цього на верхній панелі вибираємо вкладку "Інструменти". У розділі «Плата» оберіть Вашу плату. Це може бути Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo або інші. Також у розділі «Порт» необхідно вибрати Ваш порт підключення (той порт, до якого Ви підключили Вашу платформу). Після цих дій можете завантажувати скетч. Для цього натисніть на стрілочку або у вкладці "Скетч" оберіть "Завантаження" (також можна скористатися поєднанням клавіш "Ctrl + U"). Прошивка плати завершена успішно.
Прототипування/макетування
Для складання макету нам потрібні такі елементи: світлодіод, резистор, проводки (перемички), макетна плата (Breadboard). Для того щоб нічого не спалити, і для того, щоб все успішно працювало, треба розібратися зі світлодіодом. Має дві «лапки». Коротка – мінус, довга – плюс.На коротку ми підключатимемо «землю» (GND) і резистор (для того, щоб зменшити силу струму, яка надходить на світлодіод, щоб не спалити його), а на довгу ми подаватимемо живлення (підключимо до 13 піну). Після підключення завантажте скетч, якщо ви раніше цього не зробили. Код залишається той самий.
На цьому ми маємо кінець першої частини. Дякую за увагу.
Скетчі для Arduino
Скетчі для Arduino – важливий елемент програмування, без якого неможливе функціонування та запуск цифрових процесів у середовищі розробки Arduino IDE. Початківцям і початківцям програми буває складно розібратися з прошивкою, хоча творці ПЗ вклали в неї багато готових прикладів і підказок.
Давайте поговоримо про основні нюанси, пов'язані з бібліотеками та прошивкою – і ви зрозумієте, наскільки це цікаво та захоплююче. Останній етап можна розділити на 2 основні кроки:
- застосування інтегрованих, вже наявних прикладів;
- написання окремих кодів самостійно.
Перший варіант є найпростішим і найпоширенішим. Нічого шукати та скачувати з мережі не потрібно. Просто відкриваємо середовище Arduino IDE, заходимо в меню, вибираємо Файл, потім пункт Приклади, і підпункт Basics. Клікаємо на один із найпростіших прикладів:
Запускаємо його та працюємо.
Зверніть увагу на Панель керування софту (ми незаслужено обходили її стороною, виправляємось). Вона має кілька кнопок.
Нагадаємо їхнє призначення:
Вибраний скетч раніше завантажується в особливу область пам'яті мікроконтролера. При подальшому постійному використанні запускається в автоматичному режимі без вашого втручання і правок.
Ну і поговоримо трохи про сторонні скетчі, які ви напевно помітили в кожному нашому матеріалі та схемі підключення на конкретних проектах. Якщо наочно описувати, як виглядає методологія їх застосування, то вийде так. Спочатку ви копіюєте скетч, вставляєте його у відповідне вікно в утиліті, клацаєте на кнопку Компіляція, чекаєте її закінчення. Просто, чи не так?
Ми часто пропонували та будемо це робити далі готові скетчі для Arduino Uno. Так ось - багато хто з них підійде і під інші контролери: Arduino Nano або Arduino Mega, про це шукайте вказівки в статтях. Це важливо!
Фраза "Залити скетч" означає те, що його слід скопіювати та вставити у форму для компіляції. Вона часто зустрічається – тому будьте уважні!
Ну і насамкінець відзначимо, скачати скетчі для Arduino можна на нашому сайті в даному розділі. Вибирайте той файл, що вам потрібний і дерзайте!
Завантаження скетчу в плату Arduino - що це таке і як правильно завантажити.
Arduino являє собою платформу (плату) для розробок у відкритому вихідному коді для невигадливої, використання в апаратній індустрії та програмним забезпеченням.
Скетч в Arduino називають - програми. Тому з цього моменту використовуватимемо цей термін для позначення програм.
Що таке платня?
В останні роки серцем багатьох проектів і вирішує безліч складних завдань у всьому світі. Студенти, професіонали, програмісти, художники та багато фахівців впроваджують Arduino у свої проекти, щоб зробити їх більш зрозумілими та успішними. В основному впроваджується для людей, які не належать до електроніки та програмування.Після того, як вона досягла максимального простору спільноти, вона почала приймати різні виклики від стандартних 8-бітових плат до продуктів IoT, 3D-друку та вбудованих середовищ. Він призначений для розширення можливостей користувачів та самостійного створення власних продуктів, а також забезпечення гнучкості в адаптації до вимог.
Він простий для початківців і гнучкіший для досвідчених користувачів. Він може бути легко виконаний на Linux, Mac і Windows та є бюджетним, оскільки доступний у вигляді наукових компонентів за мінімальною ціною. Навіть у архітекторів та дизайнерів є привабливі та інтерактивні прототипи, які легко встановлюються.
Типи плат, які легко доступні на ринку – це Arduino Uno, Red Boards, Mega, LilyPad та Leonardo.
Uno є відмінним варіантом для ініціалізації, який включає 14 цифрових контактів вводу/виводу, де шість використовуються для широтно-імпульсної модуляції та аналогових входів, а також роз'єм живлення, USB-з'єднання і кнопку скидання. Він включає все інше, необхідне для розміщення мікроконтролера, і може бути легко підключений до комп'ютера через USB-кабель, а живлення запускається за допомогою батареї.
LilyPad розроблено компанією e-textile technology і тепер розширено компанією Leah. Кожна плата розроблена виключно з величезними сполучними майданчиками і софтбеком, що дозволяє зшивати одяг нитками, що проводять. Вона складається з плат введення/виводу з датчиками і широко використовується тільки для текстильних технологій, які можна стирати.
Redboard можна програмувати через кабель Mini-B USB за допомогою Arduino IDE, яка працює на Windows 8 без зміни налаштувань безпеки та робить її стандартизованою.Чіп FTDI та USB, які можуть бути використані для того, щоб зробити задню частину повністю плоскою та створити її легкою для впровадження у дизайн проекту. Підключіть плату та виберіть меню, щоб завантажити програму на пристрій. Користувач може керувати RedBoard через USB з бочкоподібного гнізда.
Mega схожа за конфігурацією та характеристиками з Uno. Вона включає безліч цифрових вводу/виводу, де тільки 14 відведено під широтно-імпульсну модуляцію, 6 висновків відведено під аналогові входи, а також роз'єм живлення, кнопку скидання та USB-з'єднання. Просто підключіть до пристрою і почніть використовувати його з батареєю як джерело живлення. Безліч виходу роблять дуже корисним для розробки проекту і включають безліч кнопок введення і виведення.
Застосування.
Плати мають кілька переваг.
Щодо вони недорогі в порівнянні з іншими мікроконтролерами, і це найменш дорогий варіант у модулі, який збирається вручну, і навіть ціна попередньо зібраного модуля надто дешева. Таким чином, недорога вартість Arduino залучає студентів до вивчення додаткових знань у простому пристрої.
IDE програмного забезпечення може бути виконана на операційних системах Macintosh, OSX, Linux та підтримує крос-платформність. Але більшість мікроконтролерів може бути виконано на Windows.
Як завантажити ескіз.
Зміст схем та ескізів Arduino може сильно відрізнятися. Перш ніж розпочати роботу, існує один простий процес завантаження скетчу на плату, до якого можна повернутися.
Виконайте такі кроки для завантаження скетчу:
Підключіть за допомогою кабелю USB.
Квадратний кінець кабелю USB підключається до Arduino, а плоский кінець - до USB-порту комп'ютера.
Виберіть Tools→Board→Arduino Uno, щоб знайти плату в меню.
Через це меню можна знайти всі плати, такі як MEGA 2560 і Leonardo.
Виберіть правильні послідовні порти.
Список доступних послідовних портів можна знайти за допомогою Tools→Serial Port→ comX або /dev/tty.usbmodemXXXXX. X позначає послідовно чи випадково наданий номер. У Windows, якщо щойно підключили, COM-порт зазвичай матиме найвищий номер, наприклад, com 3 або com 15.
У списку COM-портів може бути багато пристроїв, і якщо підключити кілька Arduino, кожному буде присвоєно новий номер. У Mac OS X номер /dev/tty.usbmodem буде призначений випадково і може бути різної довжини, наприклад /dev/tty.usbmodem1421 або /dev/tty.usbmodem262471. Якщо немає іншого підключеного, він має бути єдиним видимим.
Відкрити ескіз Blink.
Скетчі – це невеликі сценарії, які можна надіслати, щоб повідомити його, як діяти. Відкриємо приклад скетчу. Перейдіть в меню Файл -> Приклади -> Basics -> Blink.
Відкриється нове вікно, яке тепер має виглядати так: у центрі білий простір із купою тексту. Над текстом знаходиться вкладка Blink.
Перший крок до підготовки скетчу для перенесення на arduino — це перевірка/компіляція. Це означає перевірити його на наявність помилок (щось подібне до перевірки орфографії або граматичного редагування), а потім перевести його до програми, сумісної з обладнанням.
Перевірити: Перевірка означає, що програмне забезпечення перевірятиме і шукатиме помилки, загальні помилки — воно не може відловити всі помилки, так само як перевірка орфографії не зможе визначити, що ви випадково написали «bear» як «bare», оскільки обидва слова є правильними .
Компіляція: Коли Arduino компілює скетч, він збирає/ранжує його правильно, щоб апаратна плата могла працювати.
Хоча теоретично можна доручити програмне забезпечення виконувати кожну операцію окремо, швидше просто доручити йому робити обидві одночасно.
Ви можете запустити дію через меню Sketch
Через кілька секунд ви маєте побачити повідомлення Done compiling. У рядку стану та Sketch uses … bytes (x%) of program storage space (чи щось подібне) в Program Notification Area.
Це означає, що скетч був добре написаний та готовий до завантаження на плату!
Завантаження
Чи готові до моменту істини? Настав час завантажити ваш перший скетч. Переконайтеся, що Arduino підключено до мережі, світиться зелений індикатор і вибрано потрібну плату та послідовний порт.
Натисніть кнопку Upload.
Через кілька секунд ви маєте з'явитися вікно з повідомленням Done uploading. У рядку стану.
Це кнопка, яка вказує праворуч у середовищі Arduino. Ви також можете використовувати комбінацію клавіш Ctrl+U для Windows або Cmd+U для Mac OS X.