Варианты питания Ардуино Уно
Рабочее напряжение платы Ардуино Уно – 5 В. На плате установлен стабилизатор напряжения, поэтому на вход можно подавать питание с разных источников. Кроме этого, плату можно запитывать с USB – устройств. Источник питания выбирается автоматически.
- Питание от внешнего адаптера, рекомендуемое напряжение от 7 до 12 В. Максимальное напряжение 20 В, но значение выше 12 В с высокой долей вероятности быстро выведет плату из строя. Напряжение менее 7 В может привести к нестабильной работе, т.к. на входном каскаде может запросто теряться 1-2 В. Для подключения питания может использоваться встроенный разъем DC 2.1 мм или напрямую вход VIN для подключения источника с помощью проводов.
- Питание от USB-порта компьютера.
- Подача 5 В напрямую на пин 5V. В этом случае обходится стороной входной стабилизатор и даже малейшее превышение напряжения может привести к поломке устройства.
Пины питания
- 5V – на этот пин ардуино подает 5 В, его можно использовать для питания внешних устройств.
- 3.3V – на этот пин от внутреннего стабилизатора подается напряжение 3.3 В
- GND – вывод земли.
- VIN – пин для подачи внешнего напряжения.
- IREF – пин для информирования внешних устройств о рабочем напряжении платы.
Технические характеристики
- Микроконтроллер – AT91SAM3X8E
- Рабочее напряжение – 3,3 вольта
- Входное напряжение (рекомендуемое) – 7-12 вольт
- Входное напряжение (лимит) – 6-16 вольт
- Цифровые I/O контакты – 54 шт. (из которых 12 шт. можно использовать для выдачи ШИМ)
- Входные аналоговые контакты – 12 шт.
- Выходные аналоговые контакты – 2 шт. (ЦАП)
- Суммарная сила постоянного тока на всех I/O линиях – 130 миллиампер
- Максимальная сила тока на контакт 3.3V – 800 миллиампер
- Максимальная сила тока на контакт 5V – 800 миллиампер
- Flash-память – 512 Кб (весь объем памяти доступен для использования в проектах пользователя)
- SRAM – 96 Кб (два банка памяти: 64 Кб и 32 Кб)
- Тактовая частота— 84 МГц
- Длина— 101,52 мм.0,00102 километр <br />1,015 метр <br />10,152 сантиметр <br />
- Ширина— 53,3 мм.5,33e-4 километр <br />0,533 метр <br />5,33 сантиметр <br />
- Вес— 36 грамм
Преимущества ядра ARM:
- 32-битное ядро позволяет выполнять операции с 4-байтными данными в рамках одного такта процессора (более подробно читайте в статье о типе данных int).
- Тактовая частота – 84 МГц
- 96 Кб SRAM-памяти
- 512 Кб flash-памяти для кода
- DMA-контроллер, который освобождает процессор от выполнения особо трудоемких задач
Пример работы
В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. На плате уже есть встроенный пользовательский светодиод , подключенный к пину микроконтроллера.
- blink.ino
-
void setup() { // Устанавливаем пин светодиода в режим выхода. // Используем определение LED_BUILTIN, // которое содержит в себе пин светодиода pinMode(LED_BUILTIN, OUTPUT); } void loop() { // Включаем светодиод digitalWrite(LED_BUILTIN, HIGH); // Ждём пол секунды delay(500); // Выключаем светодиод digitalWrite(LED_BUILTIN, LOW); // Ждём пол секунды delay(1000); }
После загрузки программы встроенный светодиод начнёт мигать раз в секунду.
Это значит, всё получилось, и можно смело переходить к другим экспериментам на Ардуино.
Интернет вещей
Ниже сравнительные таблицы плат и модулей, которые применяются для Интернета вещей.
Платы
Arduino YUN | Arduino Ethernet | Arduino TIAN | |
---|---|---|---|
AVR Микроконтроллер | ARM Микроконтроллер | ||
Микроконтроллер | ATmega32U4 | ATMega328 | SAMD21G18, ARM Cortex-MO+ |
Рабочее напряжение | 5 V | 5 V | 3.3 V |
Входное напряжение | 5 V | ||
Входное напряжение Plug (Рекомендуемое) | 7 -12 V | ||
Входное напряжение Plug (Ограничениеs) | 6 — 20 V | ||
Входное напряжение PoE (Ограничениеs) | 36 — 57 V | ||
Цифровые (I/O) Пины | 20 | 14 (4 for PWM output) | |
PWM Output | 7 | ||
Analog I/O Пины | 12 | 6 | |
Аналоговый вход Пины | 6 | ||
Analog Output Пины | 1, 10-bit DAC | ||
Постоянный ток на I/O Пин | 40 mA on I/O Пины; 50 mA on 3.3 Пин | 40 mA | 7 mA (I/O Пины) |
Постоянный ток для 3.3 V Пин | 50 mA | ||
Флэш-память | 32 KB (4 KB для загрузчика) | 32 KB (.5 для загрузчика) | |
SRAM | 2.5 KB | 2 KB | |
EEPROM | 1 KB | 1 KB | |
Тактовая частота | 16 MHz | 16 MHz | 48 MHz |
LED встроенные | 13 | 13 | |
Bluetooth | CSR8510, Bluetooth with EDR / BLE 4.0 | ||
Длина | 101.52 mm | 68.6 mm | 68.5 mm |
Ширина | 53.3 mm | 53.3 mm | 53 mm |
Вес | 37 g | 28 g | 36 g |
Microprocessor | Microprocessor | ||
Processor | Atheros AR9331 | Atheros AR9342 | |
Architecture | MiPS | MiPS | |
Рабочее напряжение | 3.3 V | 3.3 V | |
Ethernet | 802.3 10/100 Mbit/s | 802.3 10/100/1000 Mbits/s | |
WiFi | 8.02.11b/g/n 2.4 GHz | 802.11 b/g/n 2.4 GHz dual-band | |
USB Type | 2.0 Host | 2.0 Host | |
Card Reader | Micro-SD | ||
RAM | 64 MB DDR2 | 64 MB DDR2 | |
Флэш-память | 16 MB | 16 MB + 4 GB eMMC | |
SRAM | 2.5 KB | ||
EEPROM | 1 KB | ||
Тактовая частота | 400 Mhz | 560 MHz |
Платы (продолжение)
Arduino Industrial 101 | Arduino Leonardo ETH | Arduino MKRFOX 1200 | |
---|---|---|---|
AVR Микроконтроллер | AVR Микроконтроллер | ||
Микроконтроллер | ATmega32u4 | ATmega32u4 | SAMD21 Cortex-MO+ 32bit low power ARM |
Рабочее напряжение | 5 V | 5 V | |
Входное напряжение | 5 V | 7-12 V | 5-15 V |
Board Power Supply | 5 V (USB/VIN) | ||
Supported Batteries | 2 x AA or AAA | ||
Circuit Рабочее напряжение | 3.3 V | ||
Цифровые (I/O) Пины | 20 (7 exported on header) | 20 | 8 |
PWM Пины | 12 (0,1, 2, 3, 4, 5, 6, 7, 8, 10, A3 — or 18, A4 — or 19) | ||
PWM Output | 7 (2 exported on header) | 7 | 12 |
UART | 1 | ||
SPI | 1 | ||
I2C | 1 | ||
Аналоговый вход Пины | 7 (ADC 8/10/12 bit) | ||
Analog Output Пины | 1 (DAC 10 bit) | ||
External Interrupts | 8 (0, 1, 4, 5, 6, 7, 8, A1 — or 16 -, A2 — or 17) | ||
Analog I/O Пины | 12 (4 exported on header) | 12 | |
Постоянный ток на I/O Пин | 40 mA | 40 mA on I/O Пины; 1A on 3.3 V Пин only when powered via external power supply | 7 mA |
Флэш-память | 32 KB (4 KB для загрузчика) | 256 KB | |
SRAM | 2.5 KB | 2.5 KB | 32 KB |
EEPROM | 1 KB | 1 KB | no |
Тактовая частота | 16 MHz | 16 MHz | 32.768 kHz (RTC), 48 MHz |
LED встроенные | 6 | ||
Power Consumption | 29 mA | ||
Дополнительно | * GPIO — Exported on headers * DogOLED — 1 Exported on headers |
* Цифровые I/O Пины — 36-57 V * 4 used SD Card Select; 10 used for W550 Select * Card Reader — Micro SD Card, with active voltage translators |
* Full-speed USB Device and Embedded Host * Antenna — 2 dB * Carrier Frequency — 868 MHz * Working Region — EU |
Длина | 51 mm | 68.58 mm | 67.64 mm |
Ширина | 42 mm | 53.34 mm | 25 mm |
Вес | .0012 Kg | 28 g | 32 g |
Microprocessor | |||
Processor | Atheros AR9331 | 802.3 | |
Architecture | MIPS | ||
Рабочее напряжение | 3.3 V | ||
Флэш-память | 16 MB | ||
RAM | 64 MB DDR2 | ||
Тактовая частота | 400 MHz | ||
WiFi | 802.11 b/g/n 2.4 GHz | ||
Ethernet | 802.3 10/100 Mbit/s (Exported on headers) | 802.3 10/100 Mbit / s | |
USB | 2.0 Host (Exported on headers) |
Модули
Arduino MKR1000 | Arduino YUN Mini | |
---|---|---|
AVR Микроконтроллер | ||
Микроконтроллер | SAMD21 Cortex-MO +32bit low power ARM MCU | ATmega32u4 |
Рабочее напряжение | 5 V | |
Board Power Supply | 5 V (USB/VIN) | |
Supported Battery | Li-Po single cell, 3.7 V, 700mAh minimum | |
Circuit Рабочее напряжение | 3.3 V | |
Цифровые (I/O) Пины | 8 | 20 |
PWM Пины | 12 (0,1,2,3,4,5,6,7,8,10, A3 — or 18 -, A4 -or 19) | |
UART | 1 | |
SPI | 1 | |
I2C | 1 | |
PWM Output | 7 | |
Power Consumption | 170 mA | |
Аналоговый вход Пины | 7 (ADC 8/10/12 bit) | |
Analog Output Пины | 1 (DAC 10 bit) | |
Analog I/O Пины | 12 | |
External Interrupts | 8 (0, 1, 4, 5, 6, 7, 8, A1 — or 16 -, A2 — or 17) | |
Постоянный ток на I/O Пин | 7mA | 40 mA on I/O Пины; 50 mA on 3.3 V Пин |
Флэш-память | 256 KB | 32 KB |
SRAM | 32 KB | 2.5 KB |
EEPROM | none | 1 KB |
Тактовая частота | 32.768 kHz (RTC), 48 MHz | |
LED встроенные | 6 | |
Длина | 61.5 mm | 71.1 mm |
Ширина | 25 mm | 23 mm |
Вес | 32 g | 16 g |
Microprocessor | ||
Processor | Atheros AR9331 | |
Architecture | MIPS 24 K processor operating at up to 400 MHz | |
Рабочее напряжение | 3.3 V typ.380 mA (113~570 mA) | |
Флэш-память | 16 MB | |
RAM | 64 MB DDR2 | |
Тактовая частота | 400 MHz | |
WiFi | 802.11 b/g/n 2.4 GHz | |
Ethernet | 802.3 10/100 Mbit/s | |
USB | 2.0 Host |
Платформы STM32 Boards
Настройка
- Откройте среду программирование Arduino IDE.
-
Зайдите в настройки Arduino IDE:
Файл
Настройки -
В окне
Дополнительные ссылки для менеджера плат введите адрес:https://github.com/stm32duino/BoardManagerFiles/raw/master/package_stmicroelectronics_index.json
-
Зайдите в менеджер плат:
Инструменты
Плата
Менеджер плат -
Вбейте в фильтр строку
STM32 MCU based boards. Найдите в списке соответствующую платформу и нажмите на кнопку
Установить. -
Начнётся установка дополнений. Надпись
INSTALLED сообщает, что дополнения успешно установлены. - Теперь вам доступны к программированию платформы STM32.
Переносные электронные устройства
Ниже сравнительные таблицы, так называемых, переносных электронных устройств.
Платы
Arduino Gemma | Lilypad Arduino USB | Lilypad Arduino Main Board | |
---|---|---|---|
Микроконтроллер | ATtiny85 | ATMega32u4 | ATmega168 or ATmega328V |
Рабочее напряжение | 3.3 V | 3.3 V | 2.7 V — 5.5 V |
Входное напряжение | 4 V — 16 V | 3.8 V — 5 V | 2.7 V — 5.5 V |
Цифровые (I/O) Пины | 3 | 9 | 14 |
PWM Каналы | 2 | 4 | 6 |
Аналоговый вход Каналы | 1 | 4 | 6 |
Постоянный ток на I/O Пин | 20 mA | 40 mA | 40 mA |
Absorption | 9 mA while running | ||
Флэш-память | 8 KB (2.75 KB для загрузчика) | 32 KB (4 KB для загрузчика) | 16 KB (2 KB для загрузчика) |
SRAM | 512 KB | 2.5 KB | 1 KB |
EEPROM | 512 KB | 1 KB | 512 KB |
Тактовая частота | 8 MHz | 8 MHz | 8 MHz |
LED встроенные | 1 | ||
Диаметр | 27.94 mm | 50 mm |
Платы (продолжение)
Lilypad Arduino Simple | Lilypad Arduino Simple Snap | |
---|---|---|
Микроконтроллер | ATmega328 | ATmega328 |
Рабочее напряжение | 2.7 V — 5.5 V | 2.7 V — 5.5 V |
Входное напряжение | 2.7 V — 5.5 V | 2.7 V — 5.5 V |
Цифровые (I/O) Пины | 9 | 9 |
PWM Каналы | 5 | 5 |
Аналоговый вход Каналы | 4 | 4 |
Постоянный ток на I/O Пин | 40 mA | 40 mA |
Флэш-память | 32 KB (2 KB для загрузчика) | 32 KB (2 KB для загрузчика) |
SRAM | 2 KB | 2 KB |
EEPROM | 1 KB | 1 KB |
Тактовая частота | 8 MHz | 8 MHz |
Диаметр | 50 mm | 50 mm |
Радиус | 18 mm |
5. Загрузка первого скетча
Среда настроена, плата подключена. Пора прошивать платформу.
Arduino IDE содержит большой список готовых примеров, в которых можно быстро подсмотреть решение какой-либо задачи.
-
Откройте распространенный пример — «Blink»:
Файл
Примеры
01.Basics
Blink. - Откроется окно с демонстрационным примером.
-
Немного модифицируйте код, чтобы увидеть разницу с заводским миганием светодиода. Замените строчки:
delay(1000);
на:
delay(100);
Полная версия кода:
- blink.ino
-
void setup() { // initialize digital pin LED_BUILTIN as an output pinMode(LED_BUILTIN, OUTPUT); } void loop() { // turn the LED on (HIGH is the voltage level) digitalWrite(LED_BUILTIN, HIGH); // wait for a second delay(100); // turn the LED off by making the voltage LOW digitalWrite(LED_BUILTIN, LOW); // wait for a second delay(100); }
- Нажмите на иконку «Компиляция» для проверки кода на ошибки.
- Нажмите на иконку «Загрузка» для заливки на плату.
- После прошивки платформы светодиод «L» начнёт загораться и гаснуть каждые 100 миллисекунд — в 10 раз быстрее исходной версии. Это значит, что ваш тестовый код успешно загрузился и заработал. Теперь смело переходите к экспериментам на Arduino.
Элементы платы
Микроконтроллер Atmel SAM3X8E ARM Cortex-M3
Сердцем платы Arduino Due является 32-битное ARM ядро AT91SAM3X8E с тактовой частотой 84 МГц, 512 КБ флеш-памяти и 96 ОЗУ, превосходящее по производительности обычные 8-битные микроконтроллеры.
Микроконтроллер ATmega16U2
Микроконтроллер ATmega16U2 создает порт программирования для связи микроконтроллера SAM3X с USB-портом компьютера . При подключении к ПК Arduino Due определяется как виртуальный COM-порт. Перепрошивка микросхемы 16U2 производится через ICSP разъём используя стандартные драйвера USB-COM.
Порты ввода/вывода
Внимание! В отличие от других плат Arduino, Arduino Due работает от 3,3 В. Максимальное напряжение, которое могут выдержать вход/выходы составляет 3,3 В
Подав напряжение, например 5 В, на выводы Arduino Due, можно вывести плату из строя.
Разъём Programming USB
Разъём предназначен для прошивки платформы Arduino Due с помощью компьютера. Для использования этого порта выберите в Arduino IDE в качестве вашей платы «Arduino Due (Programming Port)». При этом также производится стирание предыдущей прошивки. Аппаратное стирание более надежно, чем «программное стирание», которое происходит на собственном USB порте, и будет работать даже при повреждении главного микропроцессора. В программное обеспечение Arduino входит монитор последовательной шины, который дает возможность компьютеру обмениваться простыми текстовыми сообщениями с платой подключенной через Programming USB посредством контроллера ATmega16U2.
Разъём Native USB
Чтобы использовать этот порт, выберите в Arduino IDE тип вашей платы «Arduino Due (Native USB Port)». Native USB port подключен к SAM3X, тем самым осуществляя последовательную связь (CDC) посредством USB обеспечивая подключение к монитору последовательной шины, или другим приложениям на вашем компьютере. Открытие и закрытие собственного порта при скорости передачи 1200 бит в секунду запускает процедуру «программного стирания»: флеш-память стирается и плата перезапускается с помощью загрузчика. Также это дает Due возможность эмулировать USB мышь или клавиатуру.
Native USB может также работать как USB хост для подключенных периферийных устройств: мыши, клавиатуры и прочего.
ICSP-разъём для ATmega2560
ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega2560. Также с применением библиотеки SPI данные выводы могут осуществлять связь с платами расширения по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах 50(MISO) , 51(MOSI) , 52(SCK) и 53(SS) .
Физические характеристики и совместимость с «шилдами»
Максимальные длина и ширина печатной платы Arduino Due составляют 10,16 и 5,33 см соответственно, однако USB-коннекторы и разъем для питания могут немного выходить за эти пределы. Кроме того, на плате имеются три отверстия, которые позволяют прикрепить ее к какой-либо поверхности или корпусу
Обратите внимание, что расстояние между 7-ым и 8-ым контактами составляет 0,406 см, а между остальными контактами – 0,254 см.
Плата Arduino Due совместима с большинством «шилдов», разработанных для плат Uno, Diecimila и Duemilanove. Цифровые контракты с 0-го по 13-ый (и прилегающие к ним контакты AREF и GND), аналоговые контакты с 0-го по 5-ый, гребешок для питания и ICSP-гребешок (для SPI) находятся на тех же местах. Более того, на тех же контактах (т.е. на 0-ом и 1-ом) находится и UART (последовательный порт)
Обратите внимание, что интерфейс I2C расположен на 20-ом и 21-ом контактах, тогда как у Duemilanove и Diecimila она находится на 4-ом и 5-ом контактах.
Исходный код программы
По умолчанию все необходимые заголовочные файлы и регистры уже заранее сконфигурированы в Arduino IDE, нам просто нужно вызвать их чтобы сформировать ШИМ сигнал на нужном нам контакте.
Сначала нам необходимо выбрать из 12 контактов платы Arduino Due, на которых возможно формирование ШИМ сигнала, нужный нам контакт. Затем этот контакт необходимо сконфигурировать в режим работы на вывод данных — pinMode(2, OUTPUT).
Далее мы формируем ШИМ сигнал на контакте PIN2 с помощью функции “analogWrite(pin, value)”. Здесь ‘pin’ обозначает номер контакта, на котором нам нужно сформировать ШИМ сигнал, в данном случае это будет контакт PIN2. “Value” в этой функции обозначает коэффициент заполнения ШИМ и может принимать значения от 0 (светодиод всегда выключен) до 255 (светодиод всегда включен). При помощи этого значения мы можем управлять яркостью свечения светодиода.
В схеме мы использовали две кнопки для того чтобы изменять значение “Value” в функции “analogWrite(pin, value)”. Одна кнопка будет инкрементировать это значение (увеличивать яркость свечения светодиода), а другая декрементировать (уменьшать яркость свечения светодиода).
Внешний AREF
Внешний AREF тот, куда направляется внешний источник опорного напряжения на плате Arduino. Это может происходить от регулируемого источника питания, или, если вам нужно 3,3 В, вы можете получить его от 3,3 В вывода Arduino. Если вы используете внешний источник питания, обязательно подключите GND к выводу GND Arduino. Или, если вы используете источник 3,3 В Arduno — просто установите перемычку с контакта 3,3 В на контакт AREF.
Чтобы активировать внешний AREF, используйте следующее в void setup ():
analogReference(EXTERNAL); // использование AREF для опорного напряжения
Это устанавливает опорное напряжение на то, что вы подключили к пину AREF, что, конечно, будет иметь напряжение между 1,1В и напряжением работы платы.
Очень важное примечание — при использовании внешнего опорного напряжения вы должны установить analogReference() на EXTERNAL (внешнее), прежде чем использовать analogRead(). Это предотвратит вас от короткого замыкания активного внутреннего опорного напряжения и вывода AREF, которое может повредить микроконтроллер на плате
При необходимости вы можете вернуться к рабочему напряжению платы для AREF (то есть — вернуться в нормальное состояние) с помощью следующей команды:
analogReference(DEFAULT);
Как нам продемонстрировать внешний AREF в работе? Используя AREF 3,3 В, следующий скетч измеряет напряжение от A0 и отображает процентная доля всего AREF и рассчитанного напряжения:
#include "LiquidCrystal.h" LiquidCrystal lcd(8,9,4,5,6,7); int analoginput = 0; // our analog pin int analogamount = 0; // stores incoming value float percentage = 0; // used to store our percentage value float voltage =0; // used to store voltage value void setup() { lcd.begin(16, 2); analogReference(EXTERNAL); // use AREF for reference voltage } void loop() { lcd.clear(); analogamount=analogRead(analoginput); percentage=(analogamount/1024.00)*100; voltage=analogamount*3.222; // in millivolts lcd.setCursor(0,0); lcd.print("% of AREF: "); lcd.print(percentage,2); lcd.setCursor(0,1); lcd.print("A0 (mV): "); lcd.println(voltage,2); delay(250); }
Результаты скетча показаны на видео выше.
Arduino Due: прошивка, память
Разъем Programming USB предназначен для программирования платы через компьютер. Для использования порта в Arduino IDE следует выбрать в качестве платы «Arduino Due (Programming Port)». При этом новой загрузке производится предварительное стирание предыдущей прошивки. Порт для программирования находится ближе к разъему питания и он более надежен, чем собственный порт.
Разъем Native USB используется для подключения к микроконтроллеру периферийных устройств и для связи Arduino Due с компьютером в роли периферийного устройства. Чтобы использовать порт в среде разработки Arduino IDE следует выбрать в качестве платы «Arduino Due (Native USB Port)». Собственный порт осуществляет связь монитора последовательной шины Arduino IDE с другими приложениям на компьютере.
Плата поддерживает два типа памяти:
Flash память объемом 512 КБ (2 блока по 256 КБ) используется для хранения программ. Загрузчик записывается в специально отведенном для него ПЗУ.
SRAM память — ОЗУ Arduino Due составляет 96 КБ в двух банках по 64 КБ и 32 КБ. По производительности Arduino Due превосходит обычные 8-битные микроконтроллеры.
Из чего состоит плата Arduino?
Выпускаются различные модели Arduino. Каждая из них «заточена» для различных задач. Некоторые платы принципиально отличаются от приведенной на рисунке ниже. Но большинство из них имеют следующие одинаковые узлы:
Разъем питания (USB / разъем для адаптера)
Каждая плата Arduino должна подключаться к источнику питания. Arduino Uno может запитываться от USB кабеля от вашего персонального компьютера Или от отдельного адаптера, который подключается к предусмотренному на плате разъему. На рисунке соединение через USB отмечено (1), а разъем для внешнего источника питания — (2).
USB также используется для загрузки вашей программы (скетча) на плату.
Примечание! Не используйте источник питания с напряжением на выходе более 20 вольт. Это может привести к тому, что ваша плата перегорит. Рекомендуемое напряжение питания для Arduino — от 6 до 12 вольт.
Разъемы (пины) (5V, 3.3V, GND, Analog, Digital, PWM, AREF)
Пины на вашей плате Arduino — это предусмотренные разъемы, к которым вы будете подключать провода от периферийных устройств (очень часто для прототипов используют монтажные платы (макетная плата, макетка) и провода с коннекторами на концах). На Arduino несколько типов пинов, каждый из которых подписан в соответствии с выполняемой функцией.
- GND (3): сокращение от ‘Ground’ — ‘Земля’. На платах несколько пинов GND, каждый из которых может использоваться для заземления вашей электрической цепи.
- 5V (4) и 3.3V (5): как вы могли уже догадаться — питы, которые на выходе обеспечивают питание 5 вольт и 3.3 вольт соответственно. Большинство компонентов, которые подключаются к Arduino, благополучно питаются именно от 5 или 3.3 вольт.
- Analog (6): на участке, который подписан ‘Analog In’ (от A0 до A5 на Arduino Uno) расположены аналоговые входы. Эти пины позволяют считывать сигналы от аналоговых датчиков (например, датчик температуры) и преобразовывать их в цифровые значения, которыми мы в дальнейшем оперируем.
- Digital (7): напротив аналоговых пинов находятся цифровые пины (от 0 до 13 на Arduino Uno). Эти пины используются для цифровых входящих (input) сигналов (например, нажатие кнопки) и для генерации цифровых исходящих (output) сигналов (например, питание светодиода).
- PWM (8): вы наверное заметили знак (~) рядом с некоторыми цифровыми пинами (3, 5, 6, 9, 10, и 11 на UNO). Эти пины работаю как в обычном цифровом режиме, так и в режиме ШИМ-модуляции (PWM). Если объяснить вкратце — эти пины могут имитировать аналоговый выходной сигнал (например, для постепенного затухания светодиода).
- AREF (9): Этот пин используется достаточно редко. В некоторых случаях это подключают в схему для установки максимального значения напряжения на аналоговых входах (от 0 до 5 вольт).
Кнопка сброса (Reset Button)
Как и на оригинальных Nintendo, на Arduino есть кнопка сброса (reset) (10). При нажатии на нее контакт сброса замыкается с землей и код, загруженный на Arduino начинает отрабатывать заново. Полезная опция, если ваш код отрабатывает без повторов, но вы хотите протестить его работу.
Индикатор питания (Power LED)
Немного справа и ниже надписи “UNO” установлен светодиод, подписанный «on» (11). Этот светодиод должен загореться, когда вы подключили Arduino к источнику питания. Если светодиод не загорелся — плохой знак ;).
Светодиоды TX и RX
TX — сокращение от transmit (передача), RX — от receive (прием). Эти условные обозначения часто встречаются в электронике для обозначения контактов, которые отвечают за серийный обмен данным. На Arduino Uno эти контакты встречаются два раза на цифровых пинах 0 и 1 и в качестве светодиодов TX и RX (12). Эти светодиоды позволяют визуально отслеживать, передает или принимает данные Arduino (например, при загрузке программы на плату).
Главная интегральная микросхема (IC)
Черная деталь с металлическими коннекторами с двух сторон это интегральная микросхема, микропроцессор (IC или Integrated Circuit) (13). Можете смело считать, что это «мозги» нашей Arduino. Этот чип разный в разных моделях Arduino, но обычно он относится к линейке микропроцессоров ATmega от компании ATMEL
Это может оказаться важной информацией для загрузки скетча на плату. Модель интегральной микросхемы обычно указана на ее верхней корпусной части
Для дополнительной информации о вашей микросхеме стоит обратиться к ее даташиту.
Регулятор напряжения
Регулятор напряжения (14) is выполняет функцию, указанную в названии — контролирует напряжение, которое поступает на плату Arduino. Можете его себе представить как охранника, который не пропускает слишком большое напряжение на плату во избежание ее повреждений. Конечно же, у регулятора есть свой предел. Так что питать Arduino напряжением больше 20 вольт нельзя.
Ручная установка плат
Также имеется возможность добавления плат в ручном режиме. Этот метод работает на Arduino IDE версии 1.6.1 и на версии 1.6.3. Для версии IDE 1.6.2 метод не работоспособен (баг исправлен в релизе 1.6.3). Насчет версий ранее 1.6.1 ничего сказать не могу.
Расскажу на примере плат компании Adafruit.
Adafruit Arduino Boards Adafruit_Arduino_Boards.zip
328.2 KiB 1026 Downloads
Category: | Programs |
Date: | 06.04.2015 |
Если вы скачали архив с Github, то распакуйте архив и переменуйте получившуюся папку из Adafruit_Arduino_Boards-master в Adafruit_Arduino_Boards.
Внутри этой папки вы обнаружите две подпапки:
- hardware, также содержащую подпапки adafruit и tools
- drivers, в которой находятся драйвера Flora для Windows
Далее необходимо найти подпапку hardware в папке с Arduino IDE. Для Windows и Linux это будет папка, в которую было установлено приложение.
В Mac OS папка скрыта внутри пакета приложения. Для того, чтобы найти ее делаем правый клик на приложении Arduino IDE и выбираем Показать содержимое пакета
Переходим внутри по вложенным подпапкам Contents → Java и находим там папку hardware.
Теперь нужно внимательно объединить содержимое папки hardware c аналогичной папкой из скаченного нами ранее и распакованного архива с описанием плат с сайта Adafruit. Нужно удостовериться в том, что вы переписали конфликтующие файлы (в данном случае avrdude.conf). После всех операций папка hardware приложения Arduino IDE будет иметь следующую структуру:
Если вы работаете в Windows, то вам необходимо будет переписать еще и папку drivers.
Если все сделано правильно, то новые платы появятся в меню Инструменты → Плата в Arduino IDE.
Заключение
Arduino Nano одна из самых маленьких полноценных версий плат Ардуино. По сути своей, она с точностью повторяет Arduino Uno, но имеет два главных отличия:
- Размеры платы.
- Связь платы UNO с компьютером осуществляется с помощью USB serial преобразователя на базе микроконтроллера типа Atmega8u.
На нано-плате использован преобразователь на базе ft232, однако более дешевые китайские версии используют другой способ связи с ПК Arduino Nano CH341. По сути, эти микросхемы являются основой для USB-UART конвертера.
Конструктор Arduino создан для любителей электроники и робототехники начального уровня, чтобы помочь им обойти сложности низкоуровнего программирования микроконтроллеров, где требуются знания инженера-профи и опыт. Да и монтажника высокого разряда тоже, особенно для новой версии платы.
Паковать крупные платы в большие корпуса в последние десятилетия стало моветоном. Микроконтроллеры слегка улучшили ситуацию тем, что схемы с их использованием стали значительно компактнее, к тому же повысилась простота повторения результата или конструкции.
Вместе с тем активное распространение Ардуино-плат для освоения разработки и проектирования устройств на микроконтроллерных системах породило новый виток в вопросе качества и эргономики.
Всего выпущено несколько платформ Arduino, Nano является одной из них, в миниатюрном исполнении
В то же время сохраняется легкость подключения при помощи разъемов с шагом выводов 2,54 мм, что важно для любительских экспериментов. Для программирования используется Arduino IDE (среда разработки) и язык высокого уровня, похожий на Си, а фактически это и есть C/C++, просто структура программы немного изменена
Вместо функции main() используются две другие: setup() и loop(). Компилятор сам создает из них остальное)
Достоинства. Функциональная маленькая плата Arduino Nano, ничуть не уступающая по функциям большой UNО, – дешевле, удобнее для монтажа и сборки миниатюрных устройств.
Конечно, нельзя забывать, что это все та же 8-битная Атмега, которая имеет свой потенциал, и нельзя возлагать на неё невозможное – используйте её там, где ей место, а именно в малой автоматизации без особых прецизионных задач.
Разработчику программы для Arduino приходится также иметь дело со схемотехникой подключаемых устройств. Он должен знать уровни допустимых токов и напряжений, обеспечивать защиту электроники при использовании деталей с большой индуктивностью (моторов, катушек реле). Ардуино объединяет две области знаний: электронику и программирование, основу для построения роботов (здесь немного не хватает еще механики).
Раз уж тут объединены программирование и электроника, то ключевой вещью в использовании модуля становится спецификация его выводов, или распиновка, как еще принято говорить. Выводы модуля можно классифицировать разными способами, поскольку их функции зависят от программной конфигурации контроллера. Кроме того, поскольку есть две версии модулей, один из них использует чип ATmega168, а другой ATmega328, то появляется вопрос, есть ли у них различия в подключении.
В каждом конкретном проекте назначение каждого пина конфигурируется программой пользователя. При запуске контроллера сначала выполняется инициализация регистров конфигурации. Поэтому беспокойства по поводу функций выводов в отлаженном устройстве быть не должно.
Конечно, наборы Ардуино (Arduino) не предназначены для разработки встраиваемых приложений, работающих с большой скоростью в ответственных случаях, поэтому при их использовании возможны косяки, тем более что пользователи еще только учатся.
Но как часть конструктора для изучения автоматизации и робототехники он играет важную роль в образовательных целях и способен привлечь в отрасль много будущих специалистов.
Arduino Due: порты ввода вывода, питание
Каждый порт общего назначения может использоваться в качестве входа или выхода. Каждый порт на схеме, как источник может выдавать ток 3 мА или 15 мА и получать, как приемник ток 6 мА или 9 мА. Как и на других платах Ардуино, на Due есть порты для коммуникации (RX и TX), которые используются для приема и передачи данных, порты для коммутации по интерфейсу I2C, выходы с ШИМ сигналом — со 2 по 13 порт.
5V – на пин подается стабилизированное напряжение 5В
3.3V – на пин подается стабилизированное напряжение 3.3В
GND – общий вывод земли (смотри схему Arduino Due)
VIN – пин для подачи тока от внешнего источника питания
IOREF – пин для получения информации о напряжении платы
Arduino Due: питание от внешнего источника
Arduino Due можно подключить к источнику питания через USB-разъем, а также разъем 2,1 мм для блока питания, аккумуляторов от 7 В до 12 В. Выбор источника питания в Arduino Due выполняется автоматически. Порт vin на плате не связан с 5 В или другим стабилизированным напряжением. Через вывод можно подавать внешнее питание на плату, так и потреблять ток, когда устройство подключено к внешнему источнику.