Arduino UNO: прошивка, память
Arduino UNO программирование для начинающих
Программирование платы происходит в бесплатной среде Arduino IDE на русском, которую можно скачать на официальном сайте. Для подключения устройств и модулей используются коннекторы («папа-папа» и «папа-мама»), которые подключаются к портам плате Uno. Чтобы начать работать с платформой, перейдите в раздел Arduino uno r3 «Уроки для начинающих» , где представлены инструкции с примерами.
Плата поддерживает три типа памяти:
Flash – память объемом 32 кБ, используется для хранения программы. Когда контроллер прошивается скетчем через USB, он записывается именно во Flash – память. Чтобы очистить память Arduino UNO следует загрузить пустой скетч.
SRAM память — это оперативная память Uno объемом 2 кБ. Здесь хранятся переменные и объекты, создаваемые в скетче. SRAM память энерго-зависимая, при отключении источника питания от платы Uno, все данные удалятся.
EEPROM — это энергонезависимая память объемом 1кБ. Сюда можно записывать данные, которые при выключении питания Uno не исчезнут. Минус EEPROM в ограничении циклов перезаписи — 100 000 раз по утверждениям производителя.
Описание выводов Ардуино УНО на русском
Заключение. Рекомендуем ознакомиться с другими платами из линейки Arduino-Genuino, например, аналог самой популярной платы UNO — RobotDyn UNO R3 от китайского производителя. Плата по характеристикам не уступает официальному производителю, но при этом имеет более демократичную цену и ряд преимуществ. Таких как, удобный USB-разъем и большее количество аналоговых входов.
Память Arduino Uno R3
Плата Uno по умолчанию поддерживает три типа памяти:
- Flash – память объемом 32 кБ. Это основное хранилище для команд. Когда вы прошиваете контроллер своим скетчем, он записывается именно сюда. 2кБ из данного пула памяти отводится на bootloader- программу, которая занимается инициализацией системы, загрузки через USB и запуска скетча.
- Оперативная SRAM память объемом 2 кБ. Здесь по-умолчанию хранятся переменные и объекты, создаваемые в ходе работы программы. Память эта энерго-зависимая, при выключении питания все данные, разумеется, сотрутся.
- Энергонезависимая память (EEPROM) объемом 1кБ. Здесь можно хранить данные, которые не сотрутся при выключении контроллера. Но процедура записи и считывания EEPROM требует использования дополнительной библиотеки, которая доступна в Arduino IDE по-умолчанию. Также нежно помнить об ограничении циклов перезаписи, присущих технологии EEPROM.
Некоторые модификации стандартной платы Uno могут поддерживать память с большими значениями, чем в стандартном варианте. Но следует понимать, что для работы с ними потребуются и дополнительные библиотеки.
Элементы платы
Микроконтроллер ATSAMD21G18
Мозгом платформы Arduino MKR Wi-Fi 1010 является 32-разрядный микроконтроллер фирмы Microchip (Atmel) — ATSAMD21G18 с вычислительном ядром ARM Cortex M0.
Благодаря использованию 32-разрядного ядра ARM, Arduino Nano IoT во многом превосходит типичные платы на базе 8-разрядных микроконтроллеров. Наиболее существенные отличия заключаются в следующем:
- 32-битное ядро позволяет обрабатывать четырёх-байтовые данные всего за один такт.
- Тактовая частота – 48 МГц.
- Объем памяти программ Flash – 256 КБ.
- Объем оперативной памяти SRAM – 32 КБ.
- Наличие DMA-контроллера позволяет разгрузить центральный процессор, выполняя ресурсоёмкие операции с памятью.
Беспроводной модуль NINA-W102
За беспроводную связь отвечает модуль U-blox NINA-W102 со встроенным чипом ESP32 для обмена данными по воздуху в диапазоне 2,4 ГГц по Wi-Fi и Bluetooth. Регулировка выходной мощности обеспечивает оптимальное соотношение между дальностью связи, скоростью передачи данных и энергопотреблением.
IMU-сенсор
IMU-сенсор на 6 степеней свободы включает в себя акселерометр и компас. Сборка выполнена на чипе LSM6DS3 по технологии (англ. System-in-Package — система в корпусе), где акселерометр и гироскоп лежат методом бутерброда в пластиковом корпусе.
Крипто-чип ATECC608A
Криптографический сопроцессор Microchip ATECC608A интегрирует протокол безопасности ECDH (Elliptic Curve Diffie Hellman) в сверхзащищенный метод, обеспечивающий согласование ключей для шифрования / дешифрования, наряду с ECDSA (алгоритм цифровой подписи эллиптической кривой) для проверки подлинности с подписью для Интернета вещей (IoT), включая домашнюю автоматизацию, промышленные сети, медицинские услуги, аутентификацию аксессуаров и расходных материалов.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
ON | Информационный индикатор питания |
L | Пользовательский светодиод на пине микроконтроллера. Используйте определение для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается. |
Понижающий регулятор 3V3
Импульсный понижающий регулятор напряжения MPM3610 обеспечивает питание микроконтроллера и другой логики платформы при подключении платформы через пин . Диапазон входного напряжения от 5 до 18 вольт. Выходное напряжение 3,3 В с максимальным выходным током 1,2 А.
Кнопка RESET
Пользовательская кнопка с двумя полезными функциями:
- Один клик (Single Сlick): служит для сброса микроконтроллера.
- Двойной клик (Double Click): переводит микроконтролер в BOOT-режим, который пригодиться при зависании платы или дургих сбоев в программе.
Характеристики платы
Техническая сторона Arduino Pro Mini:
- рабочее напряжение, требуемое для нормальной работоспособности – 3,3 и 5 Вольт;
- напряжение, используемое при входе – 3-12 или 5-12 Вольт;
- количество цифровых входов и выходов – 14 штук, 6 из которых эксплуатируются как выходы ШИМ;
- состояние постоянного тока, требуемого для входа и выхода – 40 мА;
- flash-память – 16 Кб, но 2 Кб предназначены для загрузчика;
- оперативная память – 1 Кб;
- eeprom – 512 байт;
- частота тактов – в первой модели 8 МГц, а во второй 16 МГц;
- Arduino pro включает i2c-интерфейс.
Также стоит отдельно сказать про размеры платы — они, на самом деле очень скромные. Многие кто знакомятся с линейкой Ардуино в первый раз всегда удивляются размерам, когда достают контроллер из коробки.
Ниже вы можете оценить плату в дюймах и в сантиметрах.
Плата Arduino Mega 2560
Устройство Arduino Mega 2560 собрано на микроконтроллере ATmega 2560 (datasheet), является обновлённой версией Arduino Mega.
Для осуществления преобразования USB–UART-интерфейсов используется новый микроконтроллер ATmega 16U2 ( либо ATmega 8U2 для версий плат R1 или R2).
Состав платы следующий:
- количество цифровых входов/выходов составляет 54 (15 из них можно использовать в роли выходов-ШИМ);
- число аналоговых входов – 16;
- реализация последовательных интерфейсов производится посредством 4 аппаратных приёмопередатчиков UART;
- 16 МГц – кварцевый резонатор;
- USB-разъём;
- питающий разъём;
- внутрисхемное программирование осуществляется через ICSP-разъём;
- кнопка для сброса.
В устройстве Mega 2560 R2-версии добавлен специальный резистор, подтягивающий HWB-линию 8U2 к земле, что позволяет значительно упростить переход Arduino в DFU-режим, а также обновление прошивки. Версия R3 незначительно отличается от предыдущих. Изменения в устройстве следующие:
- добавлены четыре вывода – SCL, SDA, IOREF (для осуществления совместимости по напряжению различных расширительных плат) и ещё один резервный вывод, пока не используемый;
- повышена помехоустойчивость по цепи сброса;
- увеличен объём памяти;
- ATmega8U2 заменён на микроконтроллер ATmega16U2.
Выводы Arduino Mega 2560R3 предназначаются для следующего:
- Имеющиеся цифровые пины могут служить входом-выходом. Напряжение на них – 5 вольт. Каждый пин обладает подтягивающим резистором.
- Аналоговые входы не оснащены подтягивающими резисторами. Работа основана на применении функции analog Read.
- Количество выводов ШИМ составляет 15. Это цифровые выводы №2 – №13, №44 – №46. Использование ШИМ производится через функцию analog Write.
- Последовательный интерфейс: выводы Serial: №0 (rx), №1 (tx); выводы Serial1: №19 (rx), №18 (tx); выводы Serial2: №17 (rx), №16 (tx); выводы Serial3: №15 (rx), №14 (tx).
- Интерфейс SPI оборудован выводами №53 (SS), №51 (MOSI), №50 (MISO), №52 (SCK).
- Вывод №13 – встроенный светодиод.
- Пины для осуществления связи с подключаемыми устройствами: №20 (SDA), №21 (SCL).
- Для внешних прерываний (низкий уровень сигнала, другие изменения сигнала) используются выводы №2 , №3, №18, №19, №20, №21.
- Вывод AREF задействуется командой analog Reference и предназначается для регулирования опорного напряжения аналоговых входных пинов.
- Вывод Reset. Предназначен для формирования незначительного уровня (LOW), что приводит к перезагрузке устройства (кнопка сброса).
Description
Like the Teensy 2.0, it sports an AVR ATmega32u4 8-bit microcontroller which has an integrated USB controller. It has a micro-USB type B port (Teensy 2.0: mini-USB), 18 I/O pins (Teensy 2.0: 25 I/O pins) and an integrated voltage regulator for 3V operation.
The Pro Micro is sold in a 3.3 V version (8 MHz) and a 5 V version (16 MHz).
On the 3.3 V version, shorting a solder bridge (J1) on the chip bypasses the 3.3 V voltage regulator on the board. This would allow 5 V operation and running at 16 MHz clock. At 3.3 V, the ATmega32u4 is otherwise limited to 8 MHz clock.
The ProMicro has three LEDs:
Colour | Function | ATmega32u4 port |
---|---|---|
red | power on | |
yellow | USB receiving data | PB0 (active low) |
green | USB sending data | PD5 (active low) |
Прошивка arduino pro mini
Прошивка arduino pro mini
Миниатюрные размеры платы не позволяют прошить ее без внешней помощи. Есть несколько способов заливки скетча в микроконтроллер:
- Через адаптер USB в TTL;
- Через Ардуино Уно;
- Через SPI интерфейс с помощью любой платы ардуино с разъемом для подключения к компьютеру.
Самым простым методом является первый.
Прошивка через адаптер USB в TTL
В продаже можно найти специальный адаптер – UART переходник. Видов таких переходников много, стоимость каждого изделия невысокая. Советуется приобретать переходники с контактами RST или DTR, они упрощают процесс прошивки.
Для прошивки нужно подключить адаптер в Ардуино: нужно соединить земли с одного и другого устройства, Vcc – на +5В или +3,3 В (в зависимости от модели), RX – TX, TX – RX. Затем конструкцию нужно подключить к компьютеру, установить драйвер и начать прошивку. Компьютер определит, к какому порту подключена плата. Драйвер можно скачать с официального сайта. Скачанный архив нужно распаковать и установить.
Затем нужно запустить среду разработки Adruino IDE, выбрать нужную плату и номер порта и загрузить микропрограмму. Это делается следующим образом:
- Нажать «Загрузить»;
- Затем начнется компиляция – появится надпись «Компиляция скетча»;
После появление надписи «Загружаем» нужно нажать на плате кнопку Reset (в переходниках с RST или DTR нажимать кнопку не нужно).
Важно! Нажатие на Reset должно быть кратковременным.
Скетч будет загружен в микроконтроллер. Об успешном окончании процедуры можно понять по мигающему светодиоду.
Прошивка через Ардуино Уно
Для прошивки потребуется классическая плата Ардуино Уно в DIP корпусе. На ней должен быть специальный разъем, из которого нужно вытащить аккуратно микроконтроллер
Важно делать все действия внимательно, чтобы не погнуть ножки процессора
Проводами нужно подключить arduino pro mini к разъему. Как подключить контакты – RX-RX, TX-TX, GND-GND, 5V-VCC, RST-RST.
После подключения можно начать стандартную загрузку скетча через Arduino IDE.
Прошивка через SPI интерфейс
Этот способ является самым неудобным и трудоемким. Прошивание платы производится в 2 этапа:
Прошивка микроконтроллера Ардуино Уно как ISP программатора;
Настройка среды разработки и загрузка кода в Arduino Pro Mini.
Алгоритм проведения первого этапа:
- Запуск среды разработки Arduino IDE;
- Открытие «Файл» – «Примеры» – «11. ArduinoISP» – «ArduinoISP»;
- Далее «Инструменты» – «Плата» – «Ардуино уно»;
- «Инструменты» – «Порт», и выбирается нужный номер COM порта;
- Далее нужно произвести компиляцию и загрузить код в Ардуино Уно.
Затем обе платы нужно соединить проводниками по приведенной схеме: 5V – VCC, GND – GND, MOSI (11) – MOSI (11), MISO (12) – MISO (12), SCK (13) – SCK (13).
Теперь нужно настроить Arduino IDE для Arduino Pro Mini. Это делается следующим образом:
«Инструменты» – «Плата» – выбор нужной платы Arduino Pro Mini;
- В том же меню выбирается «Процессор» – выбор соответствующего процессора с нужной тактовой частотой;
- Затем нужно установить порт, к которому подключена плата;
- «Инструменты» – «Программатор» – Arduino as ISP;
- Затем нужно загрузить скетч через программатор.
Важно отметить, что загрузка кода должна происходить через специальное меню «загрузить через программатор». Здесь можно запутаться, потому такой способ и неудобен
Загрузка обычным способом приведет тому, что код зальется в Ардуино Уно.
После проведенной загрузки перепрошить микроконтроллер через переходник больше не получится. Придется заливать новый bootloader через «записать загрузчик».
Если при каком-либо виде загрузки прошивки возникают проблемы, нужно проверить подключение платы.
Плата Arduino Uno R3
Устройство построено на микроконтроллере АTmega16U2 и имеет повышенный уровень помехоустойчивости по цепи сброса.
Устройство отличается от предыдущей версии лишь тем, что в этом случае не используется интерфейс USB-UART FTDI при подключении к компьютеру. Эту задачу выполняет выполняет сам микроконтроллер ATmega 16U2.
Изменения распиновки платы выглядят следующим образом:
- Возле вывода AREF добавлены два пина: SDA, SCL.
- Возле пина RESET также добавлены два вывода: IOREF, позволяющий подключать платы расширения с подстройкой под необходимое напряжение; второй вывод не используется и находится в резерве.
Подключение и настройка
Проблема с микроконтроллерами заключается в том, что при больших функциональных возможностях ведь в них кроме процессора есть еще довольно богатый набор периферийных устройств они имеют ограниченное число выводов. Если скачан архив, то его нужно распаковать и запустить файл Arduino.
На шилде расположены дополнительные разъемы питания и земли, разъемы для подключения внешнего источника напряжения, светодиод и кнопка перезагрузки.
Память ATmega обладает 16 килобайтами флэш-памяти для хранения кода программы из которых 2 килобайта используется загрузчиком ; ATmega обладает 32 килобайтами из которых 2 килобайта также используется загрузчиком. Можно подавать ток на него и все это будет работать только при условии, что напряжение подаваемого тока строго равно пяти вольтам!
Эти выводы могут быть сконфигурированы для вызова прерывания по фронту или по спаду импульса или по изменению уровня на выводе. Конструктор Arduino создан для любителей электроники и робототехники начального уровня, чтобы помочь им обойти сложности низкоуровнего программирования микроконтроллеров, где требуются знания инженера-профи и опыт. Все выводы, цифровые и аналоговые, могут работать в диапазоне 0 … 5 В. Входы и выходы Каждый из 20 , на схеме аrduino nano распиновка помещены в сиреневые параллелограммы, на той же схеме в серых параллелограммах указаны выводы микроконтроллера цифровых выводов Arduino Nano может работать в качестве входа или выхода.
Распиновка Arduino Nano v 3.0
Например, остался без внимания аналоговый компаратор. Обычно используется для добавления кнопки сброса на платы расширения, закрывающей доступ к кнопке сброса на самой плате Arduino. Все выводы могут быть программно подключены к источнику питания микроконтроллера 5 В через подтягивающие резисторы сопротивлением кОм.
Данные выводы могут быть сконфигурированы в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, по фронту, по спаду или при изменении сигнала. Экран подключен. Для проверки работоспособности откроем приложение для Arduino. Для работы используйте библиотеку Wire. На первых двух светодиод загорается, когда уровень сигнала низкий, и показывает, что сигнал TX или RX активен.
Если все прошло нормально, вы увидите сообщение «загрузка успешно завершена». Вместе с тем активное распространение Ардуино-плат для освоения разработки и проектирования устройств на микроконтроллерных системах породило новый виток в вопросе качества и эргономики.
Пришлось это сделать вручную. Arduino Nano 2.
Уроки Ардуино #0 — что такое Arduino, куда подключаются датчики и как питать Ардуино
https://youtube.com/watch?v=nrczO8tWJNg
Распиновка Arduino Nano
Плата Ардуино Нано имеет 14 цифровых контактов, которые помечаются буквой D (цифровой, digital). Контакты используются как входы и выходы, у каждого имеется подтягивающий резистор.
Аналоговые пины обозначаются буквой А и используются как входы. У них отсутствую подтягивающие резисторы, они измеряют поданное на них напряжение и возвращают значение при помощи функции analogRead().
На некоторых цифровых пинах можно увидеть значок ~. Такие контакты можно использовать в качестве выходов ШИМ. Ардуино нано оснащена шестью такими контактами – это пины D3, D5, D6, D9, D10, D11. Для работы с ШИМ выводами используется функция analogWrite().
Описание пинов Ардуино Нано
- Цифровые входы/выходы: D0-D13.
- Аналоговые входы/выходы: A0-A7 (10-разрядный АЦП).
- ШИМ: пины 3, 5, 6, 9, 10, 11.
- UART : D0 и D1 (TX и RX соответственно).
- I2C: SDA – A4, SCL -A5.
- SPI: MOSI – 11, MISO – 12, SCK – 13, SS(10).
Пробежимся по пинам:
- 0 – TX (передача данных UART), D0.
- 1 – RX (прием данных UART), D1. RX и TX могут использоваться для связи по последовательному интерфейсу или как обычные порты данных.
- 3, 29 – сброс.
- 4, 29 – земля.
- 5 – D2, прерывание INT0.
- 6 – D3, прерывание INT1 / ШИМ / AIN0.
- 7 – A4, счетчик T0 / шина I2C SDA / AIN1. AIN0 и AIN1 – входы для быстродействующего аналогового компаратора.
- 8 – A5, счетчик T1 / шина I2C SCL / ШИМ.
- 9 – 16 – порты D6-D13, из которых D6 (9й), D9 (12й), D10 (13й) и D11 (14й) используются как выходы ШИМ. D13 (16й пин) – светодиод. Также D10 – SS, D11 – MOSI, D12 – MISO, D13 – SCK используются для связи по интерфейсу SPI.
- 18 – AREF, это опорное напряжение для АЦП микроконтроллера.
- 19 – 26: аналоговые входы A0… A7. Разрядность АЦП 10 бит. A4 (SDA), A5 (SCL) – используются для связи по шине I2C. Для создания используется специальная библиотека Wire.
Микроконтроллеры обладают большими функциональными возможностями, но у них есть один недостаток – это ограниченное, по сраyвению с Arduino Mega, число выводов. Поэтому на этапе составления схемы устройства следует продумать, каким образом можно максимально упростить проект, чтобы сократить число нужных для подключения контактов.
Arduino Micro
Так как ардуино микро и про микро практически не отличаются друг от друга, я расскажу подробнее про одну из них.
Характеристики:
- Микроконтроллер: ATmega32u4
- Предельное напряжение питания: 5-20 В
- Рекомендуемое напряжение питания: 7-12 В
- Цифровых вводов/выводов: 20 (18 в Pro версии)
- ШИМ: 7 цифровых пинов могут быть использованы как выводы ШИМ (5 в Pro версии)
- Аналоговые выводы: 12 (4 в Pro версии)
- Максимальная сила тока: 40 mAh с одного вывода и 500 mAh со всех выводов.
- Flash память: 32 КБ
- SRAM: 2,5 КБ
- EEPROM: 1 КБ
- Тактовая частота: 16 МГц
Подключение питания к Arduino Micro
Этот микроконтроллер можно питать через порт micro-USB от компьютера, паувербанка или от адаптера, подключенного в розетку.Так же пин +5V является не только выводом, но и вводом. Можно подавать ток на него и все это будет работать только при условии, что напряжение подаваемого тока строго равно пяти вольтам! Еще можно подавать постоянный ток с напряжением от 6 до 20 вольт на пин VIN. Это предельные значения! При подачи напряжения 20 вольт на плате будет сильно греться стабилизатор напряжения вплоть до выхода из стоя. Если же подавать 5 вольт, то ардуинка может вообще не заработать. Если и заработает то на цифровых пинах напряжение будет ниже 5 вольт. Это связанно с тем, что стабилизатор напряжения имеет не 100% КПД. Рекомендуемое напряжение для питания через пин VIN — от 7 до 12 вольт.
Входы и Выходы
Каждый из 20 цифровых выводов Micro может использоваться как вход или как выход. Работают при напряжении 5 В. Максимальный входной или выходной ток каждого вывода 40 мА. На каждом выводе имеется внутренний нагрузочный резистор 20-50 кОм (по умолчанию отключен). Дополнительно некоторые выводы имеют специальные функции:
Последовательная шина: 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) последовательных данных TTL уровней с использованием аппаратных возможностей последовательной шины ATmega32U4
Обратите внимание, что на Micro класс Serial относится к (CDC) соединению; для последовательного TTL соединения на выводах 0 и 1 используйте класс Serial1.
TWI: 2 (SDA) и 3 (SCL). Поддерживает TWI соединение.
Внешние прерывания: 0(RX), 1(TX), 2 и 3
Эти выводы могут быть сконфигурированы для запуска прерывания по нижней границе, по фронту или спаду, или по изменению значения.
ШИМ: 3, 5, 6, 9, 10, 11 и 13. Обеспечивает 8-битный ШИМ.
SPI: на разъеме ICSP. Данные выводы поддерживают связь по SPI с использованием библиотеки SPI. Обратите внимание, что выводы SPI не подключены ни к каким цифровым вход/выходам, как на Arduino Uno, они доступны только на соединителе ICSP и ближайших выводах, маркированных MISO, MOSI и SCK.
RX_LED/SS. Это дополнительный вывод по сравнению с Leonardo. Он подключен к RX_LED, который показывает активность передачи по шине USB, но также может использоваться как вывод выбора подчиненного устройства (SS) для связи по SPI.
LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне на этом выводе светодиод включен, при низком уровне – выключен.
Аналоговые входы: A0 — A5, A6 — A11 (на цифровых выводах 4, 6, 8, 9, 10 и 12). Всего Micro имеет 12 аналоговых входов, причем входы с A0 по A5 маркированы непосредственно на выводах, а другие, к которым также можно получить доступ в программе с использованием констант с A6 до A11, распределены соответственно на цифровых выводах 4, 6, 8, 9, 10 и 12. Все они также могут использоваться в качестве цифровых вход/выходов. Каждый аналоговый вход обеспечивает разрешающую способность 10 бит (т.е. 1024 различных значения). По умолчанию измерения на всех аналоговых входах производятся от потенциала земли до 5 В, но верхний предел этого диапазона можно изменить, используя вывод AREF и .
На плате имеются еще два вывода:
- AREF. Опорное напряжение для аналоговых входов. .
- Reset. Для сброса микроконтроллера переведите эту линию в низкий уровень. Обычно используется, чтобы добавить кнопку Reset на плату расширения, если эта плата закрывает доступ к кнопке на самом контроллере.
Распределение выводов Arduino Micro показывает полную функциональность всех выводов для использования их аналогично Leonardo.
Смотри также ATmega32u4-Arduino распиновка .
О плате
Ардуино Нано — это аналог Arduino Uno, которая также работает на чипе ATmega328P, но отличается формфактором платы, которая в 2-2,5 раза меньше, чем Уно (53 х 69 мм). Размеры подобны пачке сигарет, и позволяют легко собирать сложные схемы навесным монтажом, но после стадии создания макета идёт сборка действующих экземпляров, а для этого лучше подходит как раз Нано.
Размер Arduino Nano: 19 x 43 мм
Сравнение плат Arduino Uno и Arduino Nano
Отличие такой миниатюрной платы, заключается в отсутствии вынесенного гнезда для внешнего питания, но вместо него с легкостью можно подключиться напрямую к пинам. В плате используется чип FTDI FT232RL для USB-Serial преобразования и примененяется mini-USB кабель для связи с ардуино вместо стандартного. Связь с различными устройствами обеспечивают UART, I2C и SPI интерфейсы.
В остальном, способы взаимодействия и характеристики чипов совпадают с базовой моделью Уно, которая больше подходит для экспериментов, чем для реальных проектов. Нет более насущной проблемы для любителя электроники, чем желание красиво и компактно оформить своё устройство.
Платформа имеет контакты в виде пинов, поэтому ее легко устанавливать на макетную плату. Arduino Nano используется там где важна компактность, а возможностей Mini либо не хватает, либо не хочется заниматься пайкой.
Смотрите по теме: Индикатор уровня воды c помощью Arduino Nano
Пример работы
В качестве примера повторим первый эксперимент маячок из набора матрёшка.
- blink.ino
-
#define LED_PIN 13 void setup() { // настраиваем пин 13 в режим выхода pinMode(LED_PIN, OUTPUT); } void loop() { // подаём на пин светодиода «высокий сигнал» digitalWrite(LED_PIN, HIGH); // ждём одну секунду delay(1000); // подаём на пин светодиода «низкий сигнал» digitalWrite(LED_PIN, LOW); // ждём одну секунду delay(1000); }
Загрузим наш скетч в плату Iskra Mini.
После загрузки светодиод должен загораться и гаснуть раз в 1 секунду. Это значит, что всё получилось. Теперь можно смело переходить к «Экспериментам»
Описание пинов и распиновка платы Arduino Nano
На рисунке показаны номера и назначения контактов Arduino Nano (вид со стороны, на которой расположен микроконтроллер Atmega328):
Каждый из 14 цифровых контактов Nano может быть настроен как вход или выход с помощью функций pinMode (), digitalWrite () и digitalRead (). Контакты работают при 5 В. Каждый вывод имеет подтягивающий резистор 20-50 кОм и может выдерживать до 40 мА. Некоторые пины имеют специальные функции:
- Последовательная шина: 0 (RX) и 1 (TX). Контакты используются для приема (RX) и передачи (TX) данных TTL. Эти контакты подключаются к соответствующим контактам последовательного чипа FTDI USB to TTL.
- Внешнее прерывание: 2 и 3. Эти выводы могут быть настроены на запуск прерывания по наименьшему значению, по нарастающему или спадающему фронту или при изменении значения. Подробнее см. Функцию attachInterrupt().
- ШИМ: 3, 5, 6, 9, 10 и 11. Любой вывод обеспечивает 8-битный ШИМ с помощью функции analogWrite().
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти контакты используются для связи SPI, которая, хотя и поддерживается оборудованием, не включена в язык Arduino.
- Светодиод: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если вывод имеет высокий потенциал, светодиод горит.
Платформа Nano имеет 8 аналоговых входов, каждый с разрешением 10 бит (т. Е. Может принимать 1024 различных значения). Стандартно контакты имеют диапазон до 5 В относительно земли, однако верхний предел можно изменить с помощью функции analogReference (). Некоторые пины имеют дополнительные функции:
I2C: A4 (SDA) и A5 (SCL). Связь I2C (TWI) осуществляется через контакты. Для создания используется библиотека Wire.
Дополнительная пара штифтов платформы:
- AREF. Опорное напряжение для аналоговых входов. Используется с analogReference().
- Сброс настроек. Низкий уровень сигнала на выводе перезапускает микроконтроллер. Обычно он используется для подключения кнопки сброса на плате расширения, которая предотвращает доступ к кнопке на самой плате Arduino.
Расшифровка цвета
– серый цвет – физический вывод микроконтроллера Atmega328;
– светло-серый цвет (PD0, PD1 и т д.) – номер порта микроконтроллера, доступный для программ на ассемблере;
– зеленый цвет (ADC0 и т д.) – номера аналоговых выводов;
– синий цвет – контакты портов UART и SPI.
Назначение и обозначения выводов
USB – это USB-порт, предназначенный для подключения ардуины к компьютеру через USB-кабель (требуется разъем USB Mini-B).
VIN – сюда можно подавать питание от внешнего блока питания 7-12 В (блок питания приобретается отдельно). Напряжение будет подаваться на стабилизатор и упадет до 5 В. Поэтому оптимально на этот вывод подать примерно 9 В.
5V – через этот вывод можно запитать плату и от источника питания 5 вольт, однако напряжение должно быть более-менее стабильным, так как оно подается напрямую на микроконтроллер (стабилизатор не задействован), а значит высокое напряжение может убить основной микроконтроллер.
На этот вывод будет зафиксировано напряжение 3,3–3,3 В, которое генерируется внутренним стабилизатором платы. Этот вывод необходим для подключения некоторых внешних устройств, которым для работы требуется 3,3 В, обычно всех типов ЖК-дисплеев. Однако максимальный выходной ток не должен превышать 50 мА.
GND – Земля (заземляющий контакт).
AREF – это опорное напряжение для аналоговых входов. Используется по мере необходимости (настраивается с помощью analogReference()).
IOREF – позволяет узнать рабочее напряжение микроконтроллера. Редко используемый. На китайских столах он полностью отсутствует.
Reset – сбросить микроконтроллер, подать низкий уровень на этот вход.
SDA, SCL – вывод интерфейса TWI / I2C.
D0… D13 – цифровые входы / выходы. На контакте D13 висит встроенный светодиод, который загорается, если на контакте D13 ВЫСОКИЙ.
0 (RX), 1 (TX) – вывод порта UART (последовательный порт).
A1… A5 – аналоговые входы (также могут использоваться как цифровые).
Внешний вид платы Arduino Nano с подписанными выводами
Здесь:
Светодиоды RX + TX – светодиоды – мигают, когда данные передаются через последовательный порт UART (контакты RX и TX).
Кнопка сброса – кнопка перезапуска микроконтроллера;
(другие номиналы см выше)
FTDI USB Chip – микросхема FTDI FT323RL, используемая для подключения Arduino к компьютеру через USB-кабель. Со стороны Arduino это последовательный интерфейс. Этот интерфейс будет доступен на компьютере как виртуальный COM-порт (драйверы для микросхемы FTDI, обычно входящие в состав Arduino IDE, должны быть установлены).
Будет интересно Самые популярные проекты на Arduino
Схематично это выглядит так:
Номер пина, название, тип и описание пинов:
Clones
- See the Pro Micro category for controller boards that are pin-compatible.
- See the ATmega32U4 category for controller boards with the same microcontroller (but different pinout).
Beware that there are clones that differ from the original in incompatible ways:
- Longer circuit board
- Pin-compatible alternatives for the keyboard community may be longer for extra functionality, such as more pins, buzzer (for «click») and/or circuitry for a Bluetooth transceiver. They will not fit all keyboard PCBs.
- Wider circuit board
- Wider, with the rows of pins one or two positions farther apart. These will not fit a (keyboard) PCB made for the proper hole spacing.
- Shorts VBUS to Vcc
- Some 5V clones have no 5V voltage regulator and diode or connect the regulator only to the RAW pin. This can be a problem for some keyboards with a Pro Micro in each half of which only one is connected to the host: voltage on the VBUS input is usually used to determine which side should be master and which should be slave.
- 8 MHz crystal
- Both 5V and 3.3V Sparkfun Pro Micros have a 16MHz clock crystal. The max clock for 3.3V is 8 MHz, and software intended to run on Pro Micros at 3.3V could set the prescaler to halve the input frequency — and then instead run at 4 MHz.
Программирование
Все программы программируются с помощью бесплатной среды разработки для Arduino pro mini. В Arduino mini включен ATmega328, в который предварительно вшивается загрузчик. Поэтому пользователь может свободно загружать программы в память микроконтроллера.
Связь обеспечивает протокол STK500.
Как прошить Ардуино про мини без загрузчика с помощью внешнего программатора? Легко и просто.
Для начала потребуется отменить требование на нажатие кнопки перезагрузки перед тем, как прошивать код написанной программы.
Ардуино mini pro сконструирован так, что перезагрузка посредством программного обеспечения доступна напрямую с любого компьютерного устройства. В 6-контактных выводах есть один, который напрямую связан с линией сброса Arduino 328 pro с помощью конденсатора на 100 нФ.
Через управление вышеописанным выводом возможно преобразовать USB или последовательный порт путем подключения к разъему. Если сделать так, что появится уровень ниже нормы в течение продолжительного времени, платформа автоматически перезагрузится.
Arduino IDE дает возможность пользователю, чтобы тот загрузил программный код при одном нажатии на кнопку для загрузки бесплатной среды разработки.
Arduino IDE
Однако повышается риск неоправданных последствий и поломки платформы. Если на компьютере электронщика установлена операционная система Мак Ос или Линукс, то сбрасывание на микроконтроллере будет происходить каждый раз, когда программное обеспечение с помощью USB-кабеля с платформой.
Спустя половину секунды с момента сброса начинает свою работу загрузчик. В основном, загрузчик устроен так, чтобы не перехватывать другие данные, однако нередко все происходит наоборот: перехватываются первые байты данных программы, которые отправляются на плату при установленном соединении.
Чтобы устранить такой «баг», необходимо в коде программы, которая будет работать на Ардуино, проверить, как осуществляется процесс передачи данных программы с компьютера на платформу. Оптимальное время для отправления кода – секунда с момента установки соединения между устройствами.
Arduino UNO: порты ввода вывода, питание
Рабочее напряжение — 5 В при подключении через USB с любых устройств (компьютер, ноутбук, зарядка от смартфона и т.д.). При одновременном подключении внешнего адаптера (аккумулятора, кроны, блока питания), питание автоматически переключается, но плату можно по-прежнему программировать через компьютер. Рекомендуемое питание Arduino Uno от батареек или аккумулятора от 7 до 12 В.
Arduino Uno питание от блока питания 12 вольт
Arduino UNO: питание от внешнего источника
5V – на пин Ардуино подает 5В, его можно использовать для питания устройств
3.3V – на пин подается напряжение 3.3В от внутреннего стабилизатора
GND – вывод земли
VIN – пин для подачи внешнего напряжения
IREF – пин для информирования о рабочем напряжении платы
Можно питание на микроконтроллер подать через порт VIN с помощью проводов. «Плюс» от внешнего источника подается на порт VIN, а «Минус» на GND (заземление). Подача внешнего напряжения 5 Вольт на пин 5V не допустимо, так как питание Genuino Arduino Uno обходит стороной стабилизатор, что может привести к поломке. Все цифровые порты на плате выдают стабилизированное напряжение в 5 Вольт.