21 июня 2012 г.

Программируем Arduino Pro mini через USB converter

Arduino mini - это такая маленькая ардуинка. В качестве процессора в ней стоит та же самая ATmega328, только в корпусе TQFP-32. Программировать ее ничуть не сложнее, чем обычную Arduino, если использовать специальный Mini USB адаптер.

Arduino Pro Mini

Возможности Arduino Mini ничем не отличаются от UNO (кроме того, что шилды на нее вешать как-то не с руки). Как видно на рисунке ниже, на пины платы выведены все необходимые ноги процессора ATmega328: 14 цифровых пинов, 4 аналоговых, UART, питание, земля, сброс. Дополнительные аналоговые пины и прочие радости можно сделать самостоятельно с помощью паяльника.


В живую плата выглядит вот так:


Разработчики Arduino советуют быть поосторожнее с Mini, поскольку если вы сожжёте чип, подав на него недопустимое напряжение, у вас не будет возможности вытащить и заменить его так же просто, как в UNO. 

Для программирования Arduino Mini используется USB Converter, который, по сути, является преобразователем USB-UART:


Подключение USB Converter к Arduino Mini

От USB конвертера к Arduino идут всего два проводка - TX и RX - последовательное соединения для заливки кода. Но дофига где надо соединять землю и питание. Я схематично изобразил подключение конвертера к мини на рисунке:


Красные провода - питание, черные - земля, синие - последовательное соединение. Все просто! Вот как это выглядит у меня в живую:


Когда вы впервые включите конвертер в USB-порт, и если вы используете Windows, вам придется подождать, пока ОС установит на него драйвер.

Программирование Arduino Pro Mini

Для программирования Mini в среде разработки Arduino нужно правильно выбрать борд из списка:


Видно, что существуют Arduino Mini с процом ATmega168 или с питанием 3,3В, поэтому будьте внимательны при выборе борды: убедитесь, какая именно у вас в руках. 

Также обратите внимание, на каком COM-порте у вас сидит Mini (это видно внизу окна), и выберите его в пункте меню Serial Port.

При нажатии кнопки Upload необходимо сделать маленькую хитрость, чтобы программа смогла залиться. Если пустить все на самотек, то программа будет долго пытаться залиться и, наконец, выдаст ошибку. Для избежания ошибки необходимо в ручную сделать ресет проца в момент, когда прога скомпилилась. Этот момент случается, когда в поле состояния вылазит строка Binary sketch size: xxx bytes (of a xxxxx byte maximum):


В этот момент быстро нажмите и отпустите кнопку на плате, и тогда прога успешно зальется! Если на конвертере начали быстро моргать зеленая и красная лампочки - все идет правильно. Если этого не произошло, возможно, вы нажали не вовремя - попробуйте еще раз.

Успехов в ваших проектах!

Еще по теме:
Программируем Arduino Pro mini через USBasp

5 комментариев:

  1. Чтобы не нажимать кнопку "ресет" вручную нужно соединить контакт "RST" конвертера с контактом "Reset" Мини через конденсатор 0,1 мкф. Все будет работать автоматически. так же как на Uno. И кстати необязательно использовать такой конвертер, есть варианты подешевле например на микросхеме CP2102. Я покупал такой за ~ $3.

    ОтветитьУдалить
    Ответы
    1. Про автоматическую перезагрузку я знал, просто у меня не было нужных материалов под рукой ;). Спасибо за информацию про CP2102!

      Удалить
  2. Люди еще используют датакабели от старых телефонов, но сейчас такие уже трудно найти в продаже.

    ОтветитьУдалить
  3. Я понял :)
    Эт я для тех кто имеет МИНИ но еще не выбрал чем заливать туда скетчи.

    ОтветитьУдалить