Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Arduino. Знайомство. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Радіоаматор-конструктор Ймовірно, в житті будь-якого радіоаматора-початківця настає момент, коли його перестають влаштовувати найпростіші електронні пристрої. Виникає бажання сконструювати щось практично корисне. Однак від пристроїв на парі транзисторів важко очікувати на вирішення більш-менш складних завдань. З іншого боку, програміст-початківець може захотіти, щоб написані ним програми керували яким-небудь автономним роботом або іншим подібним пристроєм. Одна річ, коли програма просто працює з інформацією в пам'яті комп'ютера, і зовсім інша, коли робот, підкоряючись написаній програмі, вирушає в "подорож" по кімнаті або запрограмований мікроконтролер стає частиною якогось корисного пристрою. При цьому ні радіоаматор-початківець, ні програміст не мають ще достатніх знань і навичок для того, щоб повторити, а тим більше сконструювати заново мікро-контролерний пристрій. Адже, по суті, мікроконтролер - це зовсім маленький і простий, але все ж таки комп'ютер. Необхідно детально знати архітектуру конкретного мікроконтролера, вивчити мову специфічного йому асемблера. Найпростіший спосіб вирішити цю проблему – застосувати готовий комплект для створення роботів на кшталт тих, що робить найвідоміший виробник усіляких конструкторів для дітей – фірма Lego. Такий комплект містить усі необхідні компоненти для виготовлення робота: блок мікроконтролера, електродвигуни, датчики. Безперечна перевага подібного набору в тому, що сконструювати робот на його основі можна дуже просто і швидко. Все необхідне програмне забезпечення додається до набору і інтуїтивно зрозумілий інтерфейс. Технічна документація розрахована на наймолодших любителів техніки. Однак, на думку автора, за невеликий набір датчиків і виконавчих механізмів, а також комплект стандартних пластмасових деталей доведеться віддати невиправдано більшу суму. Втім, це не скасовує того факту, що подібні конструктори найкраще підходять для молодшої вікової групи. Незважаючи на дорожнечу спеціалізованих конструкторів, сама ідея використовувати для створення складного пристрою відносно невеликий ряд стандартних функціональних вузлів виглядає досить здорово. Саме таким шляхом пішли розробники плати Arduino з мікроконтролером серії AVR і безлічі плат розширення до неї. Найпоширеніша сьогодні версія цієї плати – Arduino UNO. Для створення програм користувача існує спеціалізоване середовище розробки Arduino IDE, в якому програмування ведеться мовою, заснованій на широко поширеній мові C++. Велика перевага Arduino – практично повна відкритість. На офіційному сайті розробника можна безкоштовно завантажити середовище розробки [1,2]. Під час її запуску відкриється зображене на рис. 1 вікно, в яке можна ввести програму, транслювати її в машинний код, завантажити мікроконтролер плати Arduino і запустити на виконання.
Слід зазначити, що компанія-розробник Arduino розділилася на дві незалежні компанії Arduino LLC та Arduino SRL, які продовжують випускати продукцію під однією торговою маркою, що створює плутанину. Тим не менш, програмне забезпечення регулярно оновлюється, є версії для Windows, Linux, MacOS. Крім програмного забезпечення, що поставляється розробниками плати, існує чимало інших середовищ розробки, наприклад [3]. Папку з програмним забезпеченням найкраще помістити в кореневу папку диска С. Разом з редактором тексту програми та компілятором у ній є підпапки з прикладами типових програм та набором бібліотек для вирішення стандартних завдань, що дуже спрощує життя програміста-початківця. При першому з'єднанні плати Arduino з комп'ютером операційна система виявить новий пристрій і вимагатиме встановлення його драйвера, який також є в папці з програмним забезпеченням. Після встановлення драйвера потрібно перезавантажити комп'ютер. В результаті успішної інсталяції в диспетчері пристроїв Windows буде відображено додатковий COM-порт. Використання мови високого рівня спрощує розробку та сильно знижує вимоги до кваліфікації програміста, але, з іншого боку, отримана програма не буде оптимальною за зайнятою пам'яттю та швидкістю виконання. Програма, написана мовою низького рівня (мові асемблера), зайняла значно менше місця в пам'яті і працювала б швидше. Але в аматорських розробках це можна знехтувати. Звісно, у відповідальних випадках використовувати Arduino потрібно з крайньою обережністю. Однак принципово можна використовувати Arduino в різних пристроях: від найпростішого термостата до безпілотних літальних апаратів. Наприклад, російська аерокосмічна компанія "Лін Індастріал" [4], що займається конструюванням надлегких ракет-носіїв, створила на основі Arduino блок реєстрації параметрів польоту (рис. 2) для своєї експериментальної ракети (рис. 3). А вчені з Індійського інституту досліджень та природничо-освітньої освіти (м. Тривандрам) застосували Arduino в навчальному радіотелескопі [5].
У встановлений на платі Arduino мікроконтролер попередньо записано спеціальну програму-завантажувач. З його допомогою відбувається запис розробленої на комп'ютері прикладної програми програмну пам'ять мікроконтролера. Сам завантажувач займає деяку частину цієї пам'яті (від одного до чотирьох кілобайт залежно від версії), але завдяки такій організації взаємодії з комп'ютером користувачеві складно довести мікроконтролер до неробочого стану за допомогою неправильних команд. На платі Arduino UNO (рис. 4) встановлено мікроконтролер ATmega328P, що має 2 Кбайт оперативної пам'яті та 32 Кбайт пам'яті програм. Тактову частоту мікроконтролера 16 МГц визначає кварцовий резонатор. Arduino UNO не потребує окремого програматора, плату можна безпосередньо підключити до роз'єму USB комп'ютера, для чого на ній є роз'єм USB-BF і перетворювач інтерфейсу USB в послідовний інтерфейс мікроконтролера. В інших варіантах плат Arduino для підключення до комп'ютера може бути роз'єм micro-USB. На застарілих та саморобних платах можна зустріти і звичайний COM-порт.
Живиться платня Arduino UNO, підключена до комп'ютера, від роз'єму USB. А для роботи без комп'ютера на неї потрібно подати напругу 7...12 від зовнішнього джерела, для чого на платі є спеціальний роз'єм. Завдяки вбудованому стабілізатору напруги Arduino UNO не висуває особливих вимог до якості напруги живлення. Так що його джерелом може бути майже будь-який малогабаритний блок живлення, вихідна напруга якого лежить у необхідному інтервалі, і навіть гальванічна батарея на 9, наприклад, "Крона" (6F22) або дві послідовно з'єднані батареї 3336 (3R12). Для зв'язку із зовнішніми виконавчими пристроями, а також знімання інформації з датчиків є 14 цифрових ліній введення-виводу, які називаються D0-D13. На шість із них мікроконтролером можуть бути виведені імпульси з програмно керованим коефіцієнтом заповнення (ШІМ). Вони позначені на платі знаками "~". Крім того, є шість аналогових ліній введення A0-A5. Аналогові входи підключені до вбудованого в мікроконтролер десятирозрядного аналого-цифрового перетворювача, але при необхідності їх можна використовувати і як додаткові цифрові лінії введення-виведення D14-D19. Слід зауважити, що від версії до версії плати кількість ліній аналогового введення та ліній, здатних працювати в режимі ШІМ, змінюється. Наприклад, плата Arduino Leonardo та її вітчизняна копія Iskra Neo має 12 аналогових ліній та сім ліній з ШІМ. Як правило, всі лінії введення-виведення на платах промарковані, так що розібратися в них не важко. На платі Arduino UNO встановлено чотири світлодіоди: індикатор живлення (ON), світлодіод, постійно підключений до лінії D13 (L), і два світлодіоди для індикації обміну інформацією із зовнішнім пристроєм через послідовний порт (ТХі RX), а також кнопка для приведення мікроконтролера в вихідний стан. Одна з переваг Arduino - широкий набір додаткових плат, так званих "шилдів" (англ. shield - щит). Вони дозволяють підключати до Arduino електродвигуни та інші потужні навантаження, забезпечують роботу в комп'ютерних мережах за протоколами Ethernet та WiFi, передають інформацію по мережі стільникового зв'язку GSM, працюють зі звуком тощо. Забезпечують роботу зі шилдами чимало готових програмних бібліотек, як офіційних, так і написаних сторонніми авторами. Плата Arduino UNO добре підходить для налагодження програм на стадії розробки та налагодження конструкцій. Але для багатьох практичних додатків можливості Arduino UNO надмірні, а її розміри можуть виявитися занадто великими для встановлення в готовий виріб. На використання в готових конструкціях орієнтовані плати Arduino Nano та Arduino Mini. За параметрами вони практично ідентичні Arduino UNO, але мають спрощену конструкцію, менші габарити та дешевші. Якщо можливостей Arduino UNO недостатньо, можна застосувати плату Arduino Mega з великим обсягом пам'яті та числом ліній вводу-виводу. Список варіантів плат Arduino цим не вичерпується, але інші варіанти для початкового вивчення підходять гірше. Авторським правом охороняється тільки сама назва Arduino, тому безліч виробників випускають свої варіанти під назвами Free-duino, Craft Duino, Funduino, Diavolino та ін. іноді під питанням. Втім, як правило, пристрої різних виробників стандартизовані, тому якщо плата заявлена як копія Arduino UNO, то все сказане про Arduino UNO відноситься і до неї, хоча за кожного виробника поручитися, звичайно, не можна. Прийнятний для любителя рівень якості здатні забезпечити не тільки виробники оригінальних пристроїв, але й маловідомі фірми, які пропонують аналогічні конструкції за меншою ціною. Плата Arduino не дуже складна і доступна для самостійного виготовлення, документацію для цього можна знайти на офіційному сайті виробника [6]. Опис саморобної плати, що входить до сімейства Arduino, було опубліковано і в журналі Радіо [7]. Завдяки перерахованим перевагам серед любителів електроніки Arduino фактично стала своєрідним стандартом. Застосування закінчених функціональних блоків та бібліотек програм дуже спрощує і, отже, прискорює розробку. Фактично шилди Arduino – "чорні ящики". Важливо, як той чи інший блок реагує на певні сигнали та впливи, але не важливо його внутрішній пристрій. Друкарські видання російською мовою, присвячені опису Arduino, існують, але, прямо сказати, не лежать на полиці кожної книгарні чи бібліотеки. Як приклад можна навести книгу [8], а серед періодичних видань можна відзначити цикл статей у журналі "Лівша" (додаток до журналу "Юний технік"). Там, починаючи з №6 за 2012 р. щомісяця публікують статті, присвячені використанню Arduino [9]. Втім, у мережі Інтернет можна знайти чимало ресурсів як повністю присвячених Arduino [10-12], так і сайтів ширшої науково-технічної спрямованості, що мають відповідні розділи [13-16]. Насамкінець можна помітити, що для полегшення роботи з Arduino можна виготовити кілька простих пристроїв. Наприклад, не дуже зручно встромляти зачищені кінці проводів у гнізда роз'ємів. Для цього існують показані на рис. 5 спеціальні з'єднувальні дроти з наконечниками, які бувають як штирями, так і гніздами. Аналогічні дроти нескладно виготовити самостійно, використовуючи контакти від роз'ємів. А для швидкого підключення зовнішніх пристроїв краще використовувати з'єднувальні дроти, подібні до показаного на рис. 6, на одному кінці яких припаяний роз'єм "крокодил", а на іншому - штирьовий контакт.
Часто потрібно підключити до одного виводу плати кілька дротів, наприклад, щоб подати живлення кілька датчиків. Тут можна використовувати гніздові колодки PBS або аналогічні, всі висновки яких потрібно з'єднати разом і припаяти до з'єднувального дроту, на протилежному кінці якого є контакт штирю. Для швидкого збирання нескладних пристроїв без застосування паяльника добре підходять спеціальні макетні плати. Зовнішній вигляд однієї з них показано на рис. 7, а схема – на рис. 8.
Жорсткі висновки деталей вставляють у пружинні гнізда таких плат, а з'єднання, що відсутні, між ними виконують дротяними перемичками або описаними вище проводами. Отже, головна перевага Arduino, з одного боку, в наявності добре розвинених і гнучких можливостей для того, щоб стати основою досить складних конструкцій, з іншого - обсяг початкових знань, необхідних для початку роботи, фактично не виходить за межі шкільних курсів фізики та інформатики. література
Автор: Д. Лекомцев Дивіться інші статті розділу Радіоаматор-конструктор. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Машина для проріджування квітів у садах
02.05.2024 Удосконалений мікроскоп інфрачервоного діапазону
02.05.2024 Пастка для комах
01.05.2024
Інші цікаві новини: ▪ Ефективне використання тирси ▪ Слимаки допомогли створити хірургічний клей Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ розділ сайту Акумулятори, зарядні пристрої. Добірка статей ▪ стаття Час пік. Крилатий вислів ▪ статья Який собака зумів перемогти в сутичці зоопарку ягуара, що втік з клітини? Детальна відповідь ▪ стаття Черговий електромонтер. Типова інструкція з охорони праці ▪ стаття Діагноз-тестер. Енциклопедія радіоелектроніки та електротехніки ▪ стаття Перемотування якорів: аматорський досвід. Енциклопедія радіоелектроніки та електротехніки
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |