Наши партнеры ArtmMisto
Arduino або AVR? Що краще використовувати в своїх розробках?
Думаю, не помилюся, якщо скажу, що кожен початківець радіоаматор, який ще не має досвіду роботи з жодною платформою для розробки електронних пристроїв, не може у своєму виборі. Новачки радять одне, профі - інше. На форумах думки розділяються. Так склалося, що ми почали розвиток теми прикладного програмування зі створення пристроїв на AVR мікроконтролерах. І якщо для більш досвідчених електронників вивчення AVR не стає проблемою, то у початківців з'являється море питань.
Перехід до створення своїх пристроїв на практиці буває утруднений. Але рішення є. Воно досить просте і не дуже витратне. Багато, думаю, чули про таку платформі під назвою "Arduino".
Arduino - це електронний модуль-конструктор, який має в своєму складі МК AVR, який є мозком усього цього конструктора. Відмінність від самого МК AVR - це спрощене програмування, велика кількість дешевих периферійних пристроїв, які можна купити без проблем, а також проста і безпечна "заливка" програми в МК.
Блок-схема плати Arduino до болю проста:
Периферійними пристроями в даному випадку є різні датчики контролю, а також виконувані пристрою. Всім цим вінегретом заправляє МК AVR, який встановлений посередині плати ;-)
Ось деякі з периферійних пристроїв.
У процесі вивчення ми будемо знайомитися з ними ближче
види Arduino
Існують кілька різних моделей Arduino. Деякі дешевше, а деякі дорожче. Як ви зрозуміли, дешеві моделі різко обмежені по функціоналу, а також за кількістю висновків. Застарілі моделі ми розглядати не будемо, а розглянемо тільки ті, які можна недорого придбати у наших друзів китайців на сайті Аліекспресс:
Arduino Mega
Сама приставка "мега" говорить вже сама за себе. Найпотужніший конструктор.
Arduino Uno
У різана версія моделі Arduino Mega, у якій, як бачите, вже менше висновків для підключення периферійних пристроїв. Якщо будете брати, то краще брати відразу кит-набір. При великому бажанні можете глянути на Алі по цієї засланні.
Також на платі Arduino UNO і Mega розпаяний стабілізатор живлення, що дозволяє живити плату від батареї Крона, або через перехідник від китайського адаптера - блоку живлення. Оптимальне напруга живлення 9-12 Вольт
Arduino Nano
Думаю, простіше вже нікуди. На али вибір цієї моделі величезний .
Всі ці три моделі - Mega, Uno, Nano - мають в своєму складі складі конвертер USB-Serial і роз'єм USB. Це означає, що для заливки програми (на мові Arduino - скетчу), нам немає необхідності купувати програматор.
Arduino Pro Mini
Для Pro Mini вже необхідний програматор. Але це не звичайний програматор, типу USBasp, за допомогою якого ми шили мікроконтролери AVR . Тут вже потрібно програматор USB-Serial, який вже вбудований в Uno, Nano і Mega, але немає в Mini. Вартість його в середньому трохи менше 1 $. Ось вам посилання на Алі на саму модель Pro Mini, а ось посилання на програматор.
Який Arduino краще?
Який з Ардуіно краще для початку освоєння роботи? Моя думка - це Arduino Uno. Mega коштуватиме дорожче, та й навіщо новачкові такий супер-конструктор? Uno найзручніше підключати до ПК і для нього не потрібно паяти штирі, для того щоб вставити в макетну плату, так як вони вже є. Він повністю готовий до роботи. Nano і Pro Mini вимагають попереднього впаювання гребінки штирьків:
Але якщо ви вже з паяльником на "ти" і хочете трохи заощадити, то можете придбати Arduino Nano. Якщо ж ви налагодили будь-який пристрій і хочете вже використовувати його багато років, тут як не можна до речі подойет Pro Mini. Маленький, зручний, а головне - дешевий.
На всіх чотирьох перерахованих моделях Arduino розміщені кварцові резонатори , використовувані для тактирования МК . Також є індикація у вигляді миготіння світлодіодів при заливці прошивки. Ціна Nano і Mini істотно нижче, ніж Uno, і приблизно дорівнює вартості середнього по функціоналу мікроконтролера AVR.
Порівняння плат Arduino - досить важлива річ. Новачкові, який не має досвіду роботи з нею, легко розгубитися в різноманітті плат і вибрати невідповідну модель. Звичайно, вибір тієї чи іншої плати залежить від проекту, проте в загальному роз'яснити новачкам про особливості кожної плати не завадить:
- Arduino Mega
Одна з найпотужніших плат в лінійці Arduino. Має пам'ять аж 256 Кб, якої вистачить на 99,9% проектів, 54 цифрових входів / виходів і 16 аналогових входів.
- Arduino Uno
Найбільш поширена ардуінка, має пам'ять 32 Кб, 14 цифрових входів / виходів і 6 аналогових входів. Трохи, в порівнянні з Mega, але для багатьох проектів вистачає.
- Arduino Nano
Всупереч очікуванням від слова "нано" вона навіть могутніше Uno. Має 14 цифрових входів / виходів і 8 аналогових входів і пам'ять теж 32 Кб, так, як побудована на тому ж МК ATMega328, що і Uno.
- Arduino Pro Mini
Найслабша плата. Має пам'ять 16 Кб, 14 цифрових входів / виходів і 4 аналогових входу. До того ж, обв'язування плати настільки обмежена, що вона відрізняється від простого МК лише кнопкою перезавантаження reset і стабілізатором живлення.
Яку ж вибрати новачкові? Nano відмінно підходить для готових проектів, а Uno - для освоєння Arduino, на ній зручніше вчитися. Nano дуже компактне і дешевше Uno, а Uno зручніше живити і підключати. Pro Mini не виправдовує своєї вартості, та й до неї треба купувати програматор, до того ж її дуже незручно живити.
Програма Arduino IDE
Для написання програм використовується власне середовище розробки Arduino. Ті, хто намагалися освоїти роботу з Atmel Studio 6 , Пам'ятають, яке там кількість налаштувань. Відразу розібратися нереально. Тут же навпаки, ми бачимо простий інтерфейс і тільки все найнеобхідніше. Завантажити її можна тут . Є також версії свіжіше, але це не впливає на працездатність програми.
Arduino є відкритою платформою. Саме це принесло їй таку велику популярність. Для неї було випущено багато клонів під різні версії. До речі якщо ви почнете працювати саме з китайським клоном, а не з оригінальним Arduino, що швидше за все і станеться, то вам буде потрібно встановити драйвер під китайський адаптер Usb-Serial, розпаяний на платі. Як відрізнити китайський Ардуіно від оригіналу? Якщо придивитися до модуля, то можна побачити ось таку мікросхему:
Якщо вона є, то Ардуіно китайський. Для нього драйвер встановлюється вручну через "Диспетчер пристроїв". Ніяких проблем при установці помічено не було. Завантажити драйвер можна тут .
Далі нам треба вибрати потрібну нам модель Arduino зі списку
Ну а потім вибираємо COM-порт в системі, до якої у нас підключена Arduino.
Ну от і все! Зовсім нічого складного ;-)
висновок
Отже, повернемося до теми нашої статті. Що ж все-таки краще вивчати? Голі МК AVR або взяти набір Arduino?
Для новачків часто буває проблемою виставлення фьюз у МК AVR. Цього мінуса позбавлені всі Ардуіно. Там просто немає такої функції при підключенні через USB кабель. Також при недбалому виставленні фьюз можна залочити дорогою МК AVR, який не завжди просто реанімувати. У Ардуіно залочити МК нереально. При прошивці программатором ISP USBASP , Ми можемо прошити МК Ардуіно, як і будь-який інший МК AVR.
Також однією важливою відмінністю Ардуіно від МК AVR - це наявність гіршою оптимізації розміру коду. Тобто програма, яка виконує одні й ті ж дії на МК і Arduino матиме різну вагу. На Arduino вона буде важити більше. І може навіть статися так, що просто не увійде в пам'ять. Мікроконтролери AVR мають ширші можливості в створенні електронних пристроїв, але є у них і свої мінуси - це необхідність наявності програматора, джерела живлення, а також потужного комп'ютера для комфортної роботи в Atmel Studio 6.
Цією публікацією ми починаємо цикл статей, присвячених конструюванню електронних пристроїв на платформі Arduino. Залишайтеся з нами і ми поетапно, дотримуючись від простого до складного, розберемо самостійну збірку електронних пристроїв. Будуть розглянуті різні моделі Arduino, програматор Usb - Serial і її периферія. Ви навчитеся самостійно писати скетчі в середовищі розробки і обов'язково зберете все те, що давно хотіли зібрати, але важко було у створенні на практиці.
Що краще використовувати в своїх розробках?Який Arduino краще?
Який з Ардуіно краще для початку освоєння роботи?
Яку ж вибрати новачкові?
Як відрізнити китайський Ардуіно від оригіналу?
Що ж все-таки краще вивчати?
Голі МК AVR або взяти набір Arduino?