Arduino Uno
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Arduino_Uno_-_R3.jpg/220px-Arduino_Uno_-_R3.jpg)
Arduino Uno — це широко використовувана плата мікроконтролерів з відкритим кодом на базі мікроконтролера ATmega328P. У його склад входить все необхідне для зручної роботи з мікроконтролером: 14 цифрових входів/виходів (з них 6 можуть використовуватися в якості ШІМ-виходів), 6 аналогових входів, кварцовий резонатор на 16 МГц, роз'єм USB, роз'єм живлення, роз'єм для програмування всередині схеми (ICSP) і кнопка скидання. Для початку роботи з пристроєм досить просто подати живлення від AC/DC-адаптера або батарейки, або підключити його до комп'ютера за допомогою USB-кабелю.
На відміну від всіх попередніх плат Arduino, Uno в якості перетворювача інтерфейсів USB-UART використовує мікроконтролер ATmega16U2 (ATmega8U2 до версії R2) замість мікросхеми FTDI.
На платі Arduino Uno версії R2 для спрощення процесу оновлення прошивки доданий резистор, що підтягує до землі лінію HWB мікроконтролера 8U2.
Опис
Характеристики
Основні критерії | Значення |
---|---|
Мікроконтролер | ATmega328 |
Робоча напруга | 5B |
Напруга живлення (рекомендований) | 7-12B |
Напруга живлення (граничне) | 6-20B |
Цифрові входи / виходи | 14 (з них 6 можуть використовуватися в якості ШІМ-виходів) |
Аналогові входи | 6 |
Максимальний струм одного виведення | 40мА |
Максимальний вихідний струм виводу 3.3V | 50мА |
Flash-пам'ять | 32 КБ (ATmega328) з яких 0.5 КБ використовуються завантажувачем |
SRAM | 2 КБ (ATmega328) |
EEPROM | 1 КБ (ATmega328) |
Тактова частота | 16МГц |
Живлення
Arduino Uno може живитися від USB або від зовнішнього джерела живлення — тип джерела вибирається автоматично.
В якості зовнішнього джерела живлення (НЕ USB) може використовуватися мережевий AC/DC-адаптер або акумулятор/батарея. Штекер адаптера (діаметр — 2.1 мм, центральний контакт — позитивний) необхідно вставити у відповідний роз'єм живлення на платі. У разі живлення від акумулятора/батареї, її дроти необхідно під'єднати до виводів Gnd і Vin роз'єму POWER.
Напруга зовнішнього джерела живлення може бути в межах від 6 до 20 В. Однак, зменшення напруги живлення нижче 7 В призводить до зменшення напруги на виході 5V, що може стати причиною нестабільної роботи пристрою. Використання напруги більше 12 В може призводити до перегріву стабілізатора напруги і виходу плати з ладу. З огляду на це, рекомендується використовувати джерело живлення з напругою в діапазоні від 7 до 12 В.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/9d/UnoConnections.jpg/220px-UnoConnections.jpg)
Нижче перераховані виходи живлення, розташовані на платі:
- VIN. Напруга, що надходить в Arduino безпосередньо від зовнішнього джерела живлення (не пов'язане з 5 В від USB або іншим стабілізованою напругою). Через цей вивід можна як подавати зовнішнє живлення, так і споживати струм, коли пристрій живиться від зовнішнього адаптера.
- 5V. На вивід надходить напруга 5 В від стабілізатора напруги на платі, поза незалежності від того, як живиться пристрій: від адаптера (7 — 12 В), від USB (5 В) або через вивід VIN (7 — 12 В). Живити пристрій через вивід 5 V або 3V3 не рекомендується, оскільки в цьому випадку не використовується стабілізатор напруги, що може привести до виходу плати з ладу.
- 3V3. 3,3 В, що надходять від стабілізатора напруги на платі. Максимальний струм, споживаний від цього виводу, становить 50 мА.
- GND. Вивід землі.
- IOREF. Цей вивід надає платам розширення інформацію про робочій напрузі мікроконтролера Arduino. Залежно від напруги, ліченого з виведення IOREF, плата розширення може перемкнутися на відповідне джерело живлення або задіяти перетворювачі рівнів, що дозволить їй працювати як з 5 В, так і з 3,3 В-пристроями.
Входи і виходи
З використанням функцій pinMode (), digitalWrite () і digitalRead () кожен з 14 цифрових виводів може працювати в якості входу або виходу. Рівень напруги на виводах обмежений 5 В. Максимальний струм, який може віддавати або споживати один вивід, становить 40 мА. Всі виводи пов'язані з внутрішніми підтягуючими резисторами (за умовчанням відключеними) номіналом 20-50 кОм. Крім цього, деякі виводи Arduino можуть виконувати додаткові функції:
- Послідовний інтерфейс: виводи 0 (RX) і 1 (TX). Використовуються для отримання (RX) і передачі (TX) даних по послідовному інтерфейсу. Ці виводи з'єднані з відповідними виводами мікросхеми ATmega8U2, яка виконує роль перетворювача USB-UART.
- Зовнішні переривання: виводи 2 і 3. Чи можуть служити джерелами переривань, що виникають при фронті, спаді або при низькому рівні сигналу на цих виводах. Для отримання додаткової інформації див. Функцію attachInterrupt ().
- ШІМ: виводи 3, 5, 6, 9, 10 і 11. За допомогою функції analogWrite () можуть виводити 8-бітові аналогові значення в вигляді ШІМ-сигналу.
- Інтерфейс SPI: виводи 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Із застосуванням бібліотеки SPI дані виводи можуть здійснювати зв'язок по інтерфейсу SPI.
- Світлодіод: 13. Вбудований світлодіод, приєднаний до виводу 13. При відправці значення HIGH світлодіод включається, при відправці LOW — вимикається.
В Arduino Uno є 6 аналогових входів (A0 — A5), кожен з яких може уявити аналогову напругу у вигляді 10-бітного числа (1024 різних значення). За умовчанням, вимір напруги здійснюється щодо діапазону від 0 до 5 В. Проте, верхню межу цього діапазону можна змінити, використовуючи вивід AREF і функцію analogReference (). Крім цього, деякі з аналогових входів мають додаткові функції:
- TWI: вивід A4 або SDA і вивід A5 або SCL. З використанням бібліотеки Wire дані виводи можуть здійснювати зв'язок по інтерфейсу TWI.
Крім перерахованих на платі існує ще кілька виводів:
- AREF. Опорна напруга для аналогових входів. Може бути задіяний функцією analogReference ().
- Reset. Формування низького рівня (LOW) на цьому виводі призведе до перезавантаження мікроконтролера. Зазвичай цей вивід служить для функціонування кнопки скидання на платах розширення
Пам'ять
Обсяг флеш-пам'яті ATmega328 становить 32 КБ (з яких 0.5 КБ використовуються завантажувачем). Мікроконтролер також має 2 КБ пам'яті SRAM і 1 КБ EEPROM (з якої можна зчитувати або записувати інформацію за допомогою бібліотеки EEPROM).
Зв'язок
У ATmega328 є приймач UART, що дозволяє здійснювати послідовну зв'язок за допомогою цифрових виходів 0 (RX) і 1 (TX). Мікроконтролер ATmega16U2 на платі забезпечує зв'язок цього приймача з USB-портом комп'ютера, і при підключенні до ПК дозволяє Arduino визначатися як віртуальний COM-порт. Прошивка мікросхеми 16U2 використовує стандартні драйвера USB-COM, тому установка зовнішніх драйверів не потрібно. На платформі Windows необхідний тільки відповідний .inf-файл. У пакет програмного забезпечення Arduino входить спеціальна програма, що дозволяє зчитувати і відправляти на Arduino прості текстові дані. При передачі даних через мікросхему-перетворювач USB-UART під час USB-з'єднання з комп'ютером, на платі будуть мигати світлодіоди RX і TX. (При послідовній передачі даних за допомогою виходів 0 і 1, без використання USB-перетворювача, дані світлодіоди задіюються).
Бібліотека SoftwareSerial дозволяє реалізувати послідовний зв'язок на будь-яких цифрових виходах Arduino Uno.
У мікроконтролері ATmega328 також реалізована підтримка послідовних інтерфейсів I2C (TWI) і SPI. У програмне забезпечення Arduino входить бібліотека Wire, що дозволяє спростити роботу з шиною I2C; для отримання більш докладної інформації див. документацію. Для роботи з інтерфейсом SPI використовуйте бібліотеку SPI.
Захист USB від перевантажень
Незважаючи на те, що більшість комп'ютерів мають власний захист, такі запобіжники забезпечують додатковий рівень захисту. Якщо від USB-порту споживається струм більше 500 мА, запобіжник автоматично розірве з'єднання до усунення причин короткого замикання або перевантаження.
Фізичні характеристики
Максимальна довжина і ширина друкованої плати Uno становить 6,9 см і 5,4 см відповідно, з урахуванням роз'єму USB і роз'єму живлення, які виступають за межі плати. Чотири кріпильних отвори дозволяють прикріплювати плату до поверхні або корпусу. Зверніть увагу, що відстань між цифровими виводами 7 і 8 не кратне традиційним 2,54 мм і становить 4 мм.
Примітки
Посилання
- ветви arduino.cc
- ветви arduino.org
- [1] [Архівовано 24 травня 2018 у Wayback Machine.]
- [2] [Архівовано 28 листопада 2017 у Wayback Machine.]