Любой человек, интересующийся микроконтроллерами Arduino понимает, что хоть сама плата и не такая затратная, все же хочется создать эргономичное изделие, не теряя в функциональности. В таком случае, Arduino Mini является бюджетным и одновременно функциональным микроконтроллером. У данной платы отсутствует встроенный разъём USB, для того, чтобы скомпилировать код на плате, потребуется внешний программатор. В данной статье мы разберем подробную схему и распиновку данной платы, а также объясним то, как установить ее в Arduino IDE и прошить.
Размеры Arduino Mini можно сравнить с флешкой, при таких маленьких размерах она имеет 14 портов вводы-вывода, 6 из которых являются аналоговыми ШИМ. Плата основана на базе микроконтроллера ATmega168 с частотой 8 МГц или ATmega328 с частотой 16 МГц. Проще говоря, плата Arduino Pro Mini это прототип Arduino Nano, отличающийся размерами, при этом не обладающий встроенным преобразователем.
Характеристики
Характеристики данного микроконтроллера следующие: Построена на базе микроконтроллера ATmega168 или ATmega328,входное напряжение питания: 3,3-12 В/5-12 В. Тактовая частота 8 МГц на ATmega168 и 16 МГц на ATmega328 соответственно. Плата обладает 20 портами ввода-вывода, среди которых 6 с поддержкой широтно импульсной модуляции, 8 из них подключены к аналогово-цифровому преобразователю. Максимальный ток с одного пина ввода-вывода 40 миллиампер. Разрядность аналого-цифрового преобразователя составляет 10 бит. Флэш-память данной платы равняется 16 килобайтам, SRAM память равна 1 килобайту, EEPROM-512 байт, габариты платы, как упоминалось выше, сравнимы с флешкой и равны 33 x 18 мм.
Характеристики платы сравнимы с Arduino Nano. У платы Arduino Mini отсутствует микросхема для прошивки по USB-UART. Передача данных с ПК и на ПК осуществляется по кабелю FTDI, либо же при помощи дополнительной платы Sparkfun. Благодаря такому способу передачи данных плату смогли сделать эргономичной и компактной, да и к тому же с мощностью, равной плате, превосходящей ее в размерах в 1,5 раза.
Такой размер позволяет использовать её в эргономичных проектах, где требуются маленькие размеры и высокая производительность, при этом не уступающая платам, превосходящим ее в размерах.
Нумерация портов, назначение аналогичны Arduino UNO
Особенности Arduino MINI:
- Пины 0 и 1 являются контактами UART USB(то есть приёмник RX и передатчик TX) последовательной шины. Обладают соединениями с выводами TX-0 и RX-1 блока из шести выводов.
- Пин номер 2 и 3-являются входами для прерываний. Могут использоваться в качестве пинов, вызывающих внешнее прерывание на младшем значении, или же на переднем или заднем фронте, или же при изменении значения. Возможно использовать с функцией attachInterrupt().
- С 10 по 13 являются Serial Peripheral Interface контактами(соответственно 10-SS,11-MOSI,12-MISO и 13-SCK). Данными выводами поддерживается аппаратная связь SPI, не входящая в библиотеку Arduino C++. Обеспечивают функцией analogWrite() Широтно-импульсную модуляцию с разрешением, равным 8 бит.
- У 13 цифрового вывода присутствует встроенный светодиод. При высоком потенциале на выводе светодиод горит.
- A4 и A5 это контакты шины связи I2C(A4-SDA и A5-SCL соответственно). При помощи выводов осуществляется I2C TWI связь с использованием библиотеки Wire.
- ШИМ поддерживают пины номер 3,5,6,9,10,11
- В отличие от Arduino UNO, у MINI-версии отсутствует AREF пин, выдающий опорное напряжение для встроенного аналого цифрового преобразователя , управляемый функцией analogReference().
- Соответственно, после подачи низкого сигнала на пин RESET последует перезагрузка устройства.
- Рабочее напряжение: 3,3 или 5 В
- Плата обладает 6 аналоговыми входами, каждый разрешением по 10 бит(благодаря чему способен принимать 1024 различных значения). Измерение относительно GND до значения VCC.
Питание
Arduino Mini способен получать питание при помощи кабеля FTDI FT232RL,CH340G,или же от регулируемого источника питания в 3,3В или 5В(зависимость от модели микроконтроллера) через вывод Vcc, или от нерегулируемого источника через вывод RAW.
Обладает тремя типами выводов питания: RAW, используемых для подключения нерегулируемого напряжения, VCC для подключения 3,3 или 5В, преимущественно регулируемых и GND-выводы заземления.
Подключение платы Arduino Mini к ПК
Для этого потребуется приобрести программатор
Программатор для данной платы стоит в районе 2 долларов. Предпочтительны дешевые аналоги от Алиэкспресс. Разъём USB-A используется для подключения данной платы к персональному компьютеру. ISP-соединитель используется для подключения к плате, на которую требуется записать программу. JP1-джампер программатора, контролирующий напряжение на VCC ISP-коннектора. Данное напряжение может быть 3,3, так и 5 В. При использовании собственного источника питания программируемой платой нужно убрать перемычку.
JP2 нужен перепрошивка программатора, JP3-перемычка нужна при тактовой частотой ниже 1,5 МГц. Светодиод G-питание присутствует на программаторе, R- программатор соединен с целевым устройством.
На рисунке 1-USB тип А, 2-JP3-контролирует частоту тактов, 3-светодиоды, 4-ISP коннектор, 5-JP2-самопрограммирование, 6-JP1-питание целевого устройства.
В качестве связующего элемента для связи между персональным компьютером и платой используется специализированный кабель FTDI FT232RL(CH340), обладающий преобразователем интерфейса USB-USART. Контроллер обладает USART’ом, его сигналы находятся на торцевой части платы. Данным кабелем подключаемся к этим входам микроконтроллера, а также следует подключится к контактам VCC и к земле. Напряжение на 5В поступает в плату от ПК, что означает, что ПК питает плату. Существуют соединители, обладающие DTR контактом, сигнал на котором формирует сигнал сброса перед обновлением программы в контроллере. Без этого сброса невозможно записать новую программу. Таким образом, компьютер и Arduino Mini подключены. Плавно перейдем к теме настройки платы на персональном компьютере для последующей эксплуатации.
Настройка драйверных пакетов
В случае появления сообщения о том, что системе не удалось установить драйвер для данного устройства скачиваем драйвер программатора с официального сайта. После распаковки архива установим стандартным способом. Проверим диспетчер устройств, если он появился в «»Других устройствах», то он готов к работе.
Соединение платы и программатора
ISP-разъём программатора соединяем с выводами на Arduino Mini по данной схеме:
При помощи макетной платы и соединительных проводов соединим программатор и микроконтроллер-это является наиболее надежным и простым способом.
К тому же, есть возможность спаять специальный переходник для подключения программатора к плате. Примерный вариант на фото ниже.
Настройка платы в Arduino IDE:
- После открытия платформы для разработки IDE в меню Tools наведите на Board, после чего выберите Arduino Pro or Pro mini.
- В меню Tools > Processor выберите микроконтроллер, на котором сделана ваша плата ATmega328P(5В, 16 МГц), ATmega328P(3,3В, 8 МГц), ATmega128(5В, 16 МГц), ATmega168(3,3В, 8 МГц).
- В меню Tools > Port выберите последовательный порт платы. Вероятно, это COM3 и выше.
- Если ваш преобразователь CH340G, то предлагаем вам использовать программатор Arduino as IP во избежании конфликтов при программировании.
Загрузка программного кода на плату
Вводим программу, которую хотим записать на плату, например эту:
// на 13 пине на большинстве плат стоит светодиод
// имя-переменная:
int led = 13;
// при нажатии RESET
void setup() {
// переводим в режим вывода 13 пин
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // включение, потом 1 сек ожидание
delay(1000);
digitalWrite(led, LOW); // выключаем, задержка 1 сек
delay(1000);
}
Для организации записи программного кода на плату нажимаем Файл > Загрузить через программатор.
На данном этапе нам нужно выбрать тип программатора: Инструменты > Программатор > USBasp( на английской версии Tools > Programmer > USBasp).
В случае появления предупреждения в IDE, говорящего о том, что не может установить sck период попробуйте протестировать еще раз, он в любом случае заработает.