Ардуино мини как прошить: Страница не найдена » Ардуино Уроки

Содержание

Прошивка arduino pro mini | AlexGyver Community

Привет. Я нуб, я только начал, первый раз держу ардуинку в руках И сразу грабли :-/

Итак. Имею на руках горсточку ардуинок pro mini, несколько из них — на 3.3 вольта, одна — на 5. С чего начинает новичок? Правильно, заливает blink из примеров. Поскольку у меня про мини, заливаю через usb ttl конвертер. Контакта для сброса на нём нету, поэтому нужно хитро клацнуть reset на ардуинке перед загрузкой. Ну и что получилось у меня:

Беру 5 вольтовую. Немного практики и научился попадать reset-ом в нужный момент. По крайней мере, заливаю blink с разными интервалами морганий — моргания меняются.
Платы на 3.3 вольта, аж несколько. Получилось залить в них прошику, но лишь один раз. Т.е. если сейчас включать эти платы — они блинкают, прошивка в них попала. Но перезалить — не выходит никак
Я пробовал ед концом и сржать reset до начала компиляции, прямо перазу после компиляции. Пробовал зажать кнопку и отпускать в эти моменты. Пробовал после компиляции скетча жмакать раз в несколько секунд. Результат один — долгая загрузка после которой в консоли Ошибка загрузки на 10 попыток :-/

Чтобы снять лишние вопросы:

  • usb-конвертер явно рабочий, в 5 вольтовую то заливается. И драйвера в порядке
  • контакты значит подключаю тоже верно
  • джампер на нём переставляю, питание беру с 3.3 ноги
  • значит и reset давить когда нужно вроде научился
  • сказать бы, что неисправны ардуинки — так их 3 штуки, причём 2 куплены у одного продавца, одна у другого, маловероятен такой брак
  • и да, реализую вполне конкретный проект куда нужна именно 3.3 вольта и именно про мини

Поможет ли мне заливка, используя nano версию как программатор? Скоро будет на руках, могу попробовать.
Мог ли я угрохать платы неверной заливкой? Например, в настройках ide выбрал другой тип платы, процессора или загрузчика?
Может есть хитрости именно для 3.3 версии?
Может попробовать другой софт для загрузки? Я пока затестил ещё SinaProg, которая заливает уже скомпилированные скетчи в память, но результат тот же

Буду благодарен за любую помощь.

прошивка с помощью Arduino и Arduino IDE. Что для этого нужно

После приобретения платы Ардуино Про Мини некоторые пользователи сталкиваются с проблемой прошивки, так как, чтобы прошить эту плату , необходимо купить ещё специальный программатор. В связи с этим, вы заинтересуетесь, как можно прошить плату без программатора? К счастью, сделать это достаточно просто. В этой статье подробно рассмотрим, как прошить или перепрошить Arduino Pro Mini. Давайте разбираться. Поехали!

Для перепрошивки вам понадобится Ардуино Uno. Первым делом нужно соединить GND с землёй, UCC — с плюсом, RXI и NX0 с такими же входами на Uno, а GRN — с reset. Лучше всего будет подать трёхвольтное напряжение. При подаче питания на плате загорится красный индикатор. Не забудьте предварительно достать из Uno контроллер ATMEGA.

Теперь необходимо подключить плату к компьютеру. Затем запустите на своём ПК Sketch. Находясь в главном окне утилиты, откройте меню «Файл» и нажмите на пункт «Примеры», далее наведите курсор на раздел «Basics» и в появившемся списке нажмите «Blink». После этого перейдите к верхней панели и откройте меню «Сервис». Выберите в нём пункт «Плата». В списке плат необходимо будет отметить строку «Arduino Pro Mini (5V, 16MHz) w/ATmega328» вместо той, что отмечена по умолчанию. Также не забудьте указать в настройках необходимый com-порт.

Затем нажмите кнопку «Загрузить» в программе. Как только в нижней строке появится слово «загрузка», нажмите на плате «reset». На экране вы увидите сообщение о том, что загрузка завершена. Готово. Перепрошивка успешно выполнена.

Теперь рассмотрим, как сделать то же самое, только через Nano. Откройте Sketch и перейдите в меню «Файл», выберите раздел «Образцы». В появившемся списке кликните по «ArduinoISP». Затем нужно зайти в «Инструменты», выбрать пункт «Плата» и отметить «Arduino Nano».

Выполните прошивку Nano с помощью скетча ArduinoISP. Проверьте скорость порта в функции setup. Именно такой будет скорость во время прошивки Pro Mini. В стандартном Sketch скорость равна 19200.

Подготовив Nano, приступайте к сборке breadboard, чтобы перепрошить Про Мини. Подключите +5V к Vcc, GND соедините с таким же входом, D10 с RST, а D11, D12 и D13 с аналогичными входами на Pro Mini.

Теперь необходимо подключить Nano к ПК. Прежде чем приступить к перепрошивке, убедитесь, что у вас используются равные скорости порта, ориентируясь на скорость из Sketch. Отыщите текстовый файл «boards» в папке «arduino». Открыв его, найдите строку:

pro5v328.name=Arduino Pro Mini (5V, 16 MHz) w/ ATmega328

Если вы используете другую версию , выберите соответствующую. Проверьте заданную скорость. Также следует проверить настройки в текстовом файле «programmers».

Представьте такую ситуацию. «У вас есть плата от принтера (допустим китайского), которая содержит какую-то свою прошивку. И вот настал тот день и тот час, когда вы решили, что вам нужно эту прошивку поменять, по тем или иным причинам. Но вас всё ещё держит одно «но». Вы боитесь всё испортить и хотите иметь возможность откатиться обратно. Но как назло — нормальной информации в интернете по вопросу, как забэкапить прошивку особо не нагуглишь. Примерно с такой проблемой ко мне, намедни, обратился один из участников нашего сообщества. И я решил, что раз уж так, то почему бы не поведать всем о том, как же это можно сделать.

Но прежде чем писать умные мысли — всё надо проверять, чем я и занялся. Эксперименты я проводил с Arduino Mega 2560. О ней дальше я и буду писать.
Поначалу я попытался пойти привычным способом «влоб», достал программатор китайский (на заглавной фотке), подключился по ISP, и скачал прошивку. Попытался её залить назад… Льётся, но верификацию не проходит. Битых несколько часов рыл интернет, чтобы понять, как же можно нормально скачать прошивку с Меги по ISP. Толком ничего вразумительного не нашёл, но зато понял, что прошивку можно скачать и залить обратно и без программатора. Об этом опыте я и напишу ниже. А вот о том, как скачивать прошивку не с Arduino платы, да так чтобы она потом назад заливалась я напишу как-нибудь в следующий раз, когда у меня появится плата, которую можно безбоязненно пускать и в огонь и в воду.

Ладно, к делу. Для начала нам нужна утилита Avrdude, она входит в поставку Arduino IDE и в моей версии лежала в папке «%appdata%\Arduino15\packages\arduino\tools\avrdude\6.0.1-arduino2\bin». Открываем папку, жмём на пустом месте SHIFT + правая кнопка мыши, а в меню выбираем «Открыть окно команд». Теперь приведу простую команду, которая проверяет, что контроллер читается.

avrdude.exe -p atmega2560 -c wiring -P COM5

Если всё в порядке, то вы должны увидеть примерно такой текст (см. скриншот).

Атрибуты команды:
-p atmega2560 — установка типа контроллера.
-c wiring — установка программатора. Это внутренний программатор в плате Arduino Mega 2560. Может я и не правильно выразился, но тот же атрибут использует IDE, когда заливает скомпилированный скетч.
-P COM5 — настройка порта, в который воткнут USB шнурок от Arduin»ы. Подглядеть можно из IDE.

avrdude.exe -p atmega2560 -c wiring -PCOM5 -b115200 -Uflash:r:»printer_firmware».hex:i

Если всё хорошо, ориентируемся на скриншот, прошивка сохраниться в файле «printer_firmware.hex» рядом с avrdude.exe.

Новые атрибуты команды:
-b115200 — скорость порта для программатора.

Uflash:r:»printer_firmware».hex:i — указание считать прошивку в файл «printer_firmware.hex».

В этой статье, будет показан переход от программирования Arduino к программированию «сырого» микроконтроллера ATtiny84 с использованием привычных для Arduino скетчей.

Нам понадобится

Начинаем с простого скетча

Собирать мы будем устройство с потенциометром и светодиодом. В зависимости от угла поворота потенциометра будет изменяться яркость светодиода. Подключаем к Arduino ледующим образом: светодиод подключаем к цифровому пину №6 (поскольку на нем есть возможность генерации ШИМ-сигнала, за счет которого будет регулироваться яркость светодиода), а потенциометр — к аналоговому пину №0. Скетч содержит следующий код:

pwm-adc.ino // Номер пина для светодиода int ledPin = 6 ; // Номер аналогового пина int analogPin = A0; // Считываем значение // 0..255. Для этого делим значение на 4 analogWrite(ledPin, val / 4 ) ; }

Скетчи на ATtiny84

Итак, у нас Arduino Uno. Как же нам запрограммировать нашу «тиньку»? Для этого используется такое устройство, как программатор. Он необходим для того, чтобы залить в контроллер прошивку. Мы можем превратить в него нашу Arduino. И делается это элементарно, путем заливки скетча ArduinoISP.

Делаем программатор и собираем схему

Открываем соответствующий скетч «Файл → Примеры → ArduinoISP» и заливаем его. Все, превращение завершено. Теперь необходимо правильно собрать схему, чтобы прошить «тиньку». Обратимся к коду скетча, который был только что залит. Даже не к коду, а к комментарию перед ним.

ArduinoISP.ino // This sketch turns the Arduino into a AVRISP // using the following arduino pins: // // pin name: not-mega: mega(1280 and 2560) // slave reset: 10: 53 // MOSI: 11: 51 // MISO: 12: 50 // SCK: 13: 52 // // Put an LED (with resistor) on the following pins: // 9: Heartbeat — shows the programmer is running // 8: Error — Lights up if something goes wrong (use red if that makes sense) // 7: Programming — In communication with the slave

Сначала подключим светодиоды таким образом, как описано в комментарии, не забывая резисторы. После сборки схемы и подачи питания, светодиод, подключенный к пину 9 «Heartbeat» будет моргать, обозначая нормальное функционирование. Если этого не произошло, то ищите ошибки в подключении.

Теперь надо подключить пины 10-13 к ATtiny. Чтобы узнать распиновку последней, обратимся к даташиту, который можно скачать с сайта Atmel , производителя этих контроллеров. На второй странице расположена картинка, описывающая распиновку. Основываясь на даташите и комментарии из скетча, можем составить следующую таблицу подключения:

Arduino UNO ATtiny84
Reset 10 4
MOSI 11 7
MISO 12 8
SCK 13 9

Теперь подключим светодиод и переменный резистор. Резистор необходимо подключить в пину №6 (PA7), поскольку этот пин может быть входом для аналого-цифрового преобразователя, а светодиод — к любому другому, например, к 10 (PA3).

О нумерации пинов

Стоит немного рассказать о различии нумерации пинов в Arduino и при использовании «чистого» С. В Arduino пины нумеруются последовательно и исключаются системные (питание, земля и т.д.), а в реальности все немного иначе. Все выводы контроллера можно охарактеризовать двумя парметрами: номер порта (порт А, порт В и т.д.) и номер вывода (1..8).

На сайте Arduino можно найти карту пинов. Она выглядит следующим образом:

Для используемой нами ATtiny84 нумерация будет аналогична. В библиотеке Arduino-tiny, о которой речь пойдёт далее, можно найти следующую таблицу соответствия:

// ATMEL ATTINY84 / ARDUINO // // +-\/-+ // VCC 1| |14 GND // (D 0) PB0 2| |13 AREF (D 10) // (D 1) PB1 3| |12 PA1 (D 9) // PB3 4| |11 PA2 (D 8) // PWM INT0 (D 2) PB2 5| |10 PA3 (D 7) // PWM (D 3) PA7 6| |9 PA4 (D 6) // PWM (D 4) PA6 7| |8 PA5 (D 5) PWM // +—-+

В соответсвии с назначением каждой ножки контроллера, аналоговые пины (те, у которых есть вход АЦП) нумеруются в скетче по каналу АЦП. Напримем, пин сфизическим номером 11 может быть входом для второго канала АЦП (ADC2), поэтому в скетче он будет называться A2.

Теперь необходимо научить среду программирования Arduino понимать тот факт, что мы используем другой контроллер.

Учим среду разработки

Первым делом необходимо скачать библиотеку arduino-tiny , содержащую в себе все необходимое. Далее заходим в настройки Arduino и смотрим расположение папки со скетчами.
Переходим в эту папку и создаем там новую с названием «hardware». А в ней еще одну, «tiny». Копируем содержимое скачанного ранее архива в эту папку. И последнее действие — переименовываем файл «Prospective Boards.txt» в «boards.txt». Теперь перезагружем среду разработки и идем в меню «Сервис → Плата».
Можно видеть, то добавилось много новых пунктов.

Программируем ATtiny84

Выбираем в качестве нужного устройства «Сервис → Плата → ATtiny84 @ 8 MHz (internal oscillator; BOD disabled)» поскольку у нас нету внешнего кварца, который задает частоту работы контроллера. В качестве программатора выберем — «Сервис → Программатор → Arduino as ISP».

В качестве кода берем уже написанный нами код для светодиода и подстроечного резистора и изменяем там номера пинов.

attiny.ino // Номер пина для светодиода int ledPin = 2 ; // Номер аналогового пина int analogPin = A2; // В эту переменную считываем значение с аналогового входа int val = 0 ; void setup() { // Настраиваем пин светодиода на выход pinMode(ledPin, OUTPUT) ; } void loop() { // Считываем значение val = analogRead(analogPin) ; // val содержит значение из диапазона 0..1023, а диапазон значений для analogWrite // 0..255. Для этого делим val на 4 analogWrite(ledPin, val/ 4 ) ; }

Результат

Мы получили устройство, аналогичное тому, что могло бы быть сделано на Arduino, но использовали для него дешёвый и компактный микроконтроллер.

Так вы можете сгрузить некоторые обязанности в вашем большом проекте на отдельные микроконтроллеры, комбинировать их, заменять и делать много интересных, компактных вещей.

В этой статье не будем рассказывать что такое ардуино, так как такой информации везде навалом в интернете.А перейдем к тому,как и чем ее прошить. Программа так же в этой статье.

1. Качаем и устанавливаем Arduino IDE* .

При установке Arduio IDE должны автоматически установиться драйвера, то есть при появлении окошка «согласиться ли на установку драйверов » нажать да.
* Это программа для написания скетчей и прошивки Arduino

2. Для китайской Arduino NANO скачать и установить драйвер Ch441*, ссылка ниже, см.скриншот.


* На китайских НАНАХ стоят USB контроллеры Ch440/Ch441, для правильной работы нужен специальный драйвер. Это единственное отличие китайских Ардуин от оригинальных.

    При установке Arduio IDE должны автоматически поставиться драйвера.
    Если этого не произошло, установить драйвера Arduino из папки с Arduino IDE (C:\\Program files…), см. второй скриншот.

    Подключить Arduino к компьютеру, подождать, пока Windows её распознает и запомнит (первое подключение).
    P.S. Вылезет окошечко, сообщающее, что устройство опознано и подключено к COM порту с определённым номером (2, 3, 6, 9…)

Настраиваем Arduino IDE

Запустить Arduino IDE, выбрать плату (Инструменты\плата\»ваша плата»). См. первый скриншот.

Выбрать порт: инструменты\порт\«COM отличный от COM1, например COM3, COM5…» См. второй скриншот. Какой именно порт вы могли видеть при первом подключении Ардуино к компьютеру.
Примечание: если у вас только СОМ1 — значит либо не встали драйвера, либо сдохла плата.

Как пример — библиотека для дисплея на чипе TM1637, смотрите скриншот

В папке libraries должна появиться папка TM1637, в которой есть папка examples, и два файла с расширениями.h и.cpp . Эти два файла должны быть в каждой библиотеке.

Второй способ. Папка с библиотекой кладётся в папку со скетчем. Тогда скетч, использующий библиотеку, сможет ей пользоваться. Но для остальных скетчей эта библиотека будет недоступна!

Основные ошибки при прошивке Arduino (FAQ)

Ошибка компиляции

Возникает на этапе сборки и компиляции прошивки, ошибки компиляции вызваны проблемами в коде прошивки , то есть проблема сугубо софтварная. Слева от кнопки «загрузить» есть кнопка с галочкой — проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру .

    В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием .

    В чёрном окошке в самом низу Arduino IDE можно прочитать полный текст ошибки.

    В скачанных с интернета готовых скетчах часто возникает ошибка с описанием «название файла» no such file or directory . Это означает, что в скетче используется библиотека «название файла», и нужно положить её в Program Files/Arduino/libraries . Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки можно поискать в гугле по «название файла».

    При использовании каких-то особых методов и функций ошибкой может стать неправильно выбранная плата в «Инструменты/плата «.

    Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк.

Ошибка загрузки

Возникает на этапе, когда прошивка скомпилирована, в ней критических ошибок, и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за софта.

    USB кабель, которым подключается Arduino, должен быть Data кабелем . Существуют кабели, предназначенные только для зарядки , у них внутри 2 провода. Data кабель имеет 4 провода, два из которых нужны для передачи данных.

    Причиной ошибки загрузки являются неустановленные/криво установленные драйвера Ch440 , если у вас китайская NANO.

    Также будет ошибка, если не выбран COM порт , к которому подключена Arduino. Если кроме COM1 других портов нет — читай два пункта над этим, либо попробуй другой USB порт , или вообще другой компьютер .

    Большинство проблем при загрузке, вызванных «зависанием» ардуины или загрузчика, лечатся полным отключением ардуины от питания . Потом вставляется USB и прошиваем.

    Если в описании ошибки встречается слово averdude или bootloader is not responding — с вероятностью 95% сдох загрузчик, например при случайном коротком замыкании провода на плату. Оставшиеся 5% — загрузчик «слетел», и его можно прошить заново программатором или другой Ардуиной. Подробнее об этом можно почитать в гугле по «как перепрошить загрузчик на Ардуино «.

Введение

Приветствую Вас, читатели нашего ресурса. Сегодня мы поговорим об одном контроллере из серии Arduino, а именно об Arduino Pro Mini. Это маленький, компактный контроллер, имеющий все преимущества Arduino, но при этом очень компактный, можно сказать самый маленький из всех существующих Arduino контроллеров на данный момент. Многих так же привлекает и цена его Китайский копий, а стоят они от одного до двух долларов за штуку (местами и того меньше), что так же заставляет задуматься об его приобретении. Но существует и одна проблема, его не так-то уж и просто прошить, особенно Китайские копии, которые оснащают процессором Atmel ATmega168P, которыми некогда не оснащали официальные контроллеры Arduino Pro Mini и как следствие Arduino IDE отказывается их прошивать, сообщая о неправильной сигнатуре процессора.

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

Что для этого нужно?

Arduino Pro Mini очень компактный, а компактность требует жертв и жертва это — USB интерфейс который полностью выкосили в данном контроллере т.е. подключить Pro Mini к компьютеру напрямую у вас не получится и как следствие для этого понадобится либо специальный переходник USB в TTL или другой контроллер Arduino.

  • Первый способ. Прошиваем через адаптер USB в TTL — нужен сам адаптер в количестве одной штуки.
  • Второй способ. Прошиваем через Arduino UNO — нужна Arduino UNO, но не простая, а в классическом исполнении, это та Arduino, в которой процессор выполнен в DIP корпусе и вставлен в черный разъем.
  • Третий способ. Прошиваем через SPI интерфейс — нужна любая Arduino: UNO, Nano, Mega, Leonardo — не важно, главное чтобы был USB разъем для подключения к ПК.
Первый способ. Прошиваем через адаптер USB в TTL

Первым и самым простым способом загрузить свой скетч в Arduino Pro Mini — это приобрести специальный адаптер USB в TTL или как его называют UART переходник. Как правило, этот переходник это и есть та часть, которую вырезали из Arduino Nano, превратив ее в Arduino Pro Mini. Стоимость подобных переходников копеечная, а выбор и того больше. Китайцы наштопали их столько, что глаза разбегаться какой из них выбрать. При этом цена сего девайса не более одного вечно зеленого. После того как вы соедините Pro Mini и UART переходник проводами или шлейфом, остаётся только воткнуть его (переходник) в ПК, установить драйвер (не для всех переходников они требуются) и на этом собственно все. Ваш ПК определит переходник как очередной COM-порт, который появляется при подключении любой Arduino к ПК. Выбираете его, плату, с которой будете работать (Arduino Pro Mini) и спокойно загружаете свой скетч.

Единственным нюансом в данных переходниках, является наличие или отсутствие контактов RST или DTR. Рекомендую покупать переходники, на которых эти контакты есть. Они значительно упрощают жизнь и делают процесс прошивки беспроблемным. Если же вы купили уже переходник, на котором подобных контактов нет, то при каждой загрузке скетча в Arduino вам придется нажимать на кнопку Reset, что не всегда получается сделать вовремя, и это вносит свои неудобства.

Подключение переходник вы можете посмотреть по таблице ниже:

Второй способ. Прошиваем через Arduino UNO

Для этого способа нам понадобиться классическая Arduino UNO. Классическая эта та, в которой корпус микросхемы выполнен в DIP корпусе и вставлен в специальный разъем. Вот эту микросхему нам надо аккуратно поддеть отверткой. Тут важно не сломать процессор, поддевайте аккуратно, не погнув ноги.

Arduino UNO. Процессор выполнен в DIP корпусе.

Аккуратно поддеваем и вытаскиваем процессор отверткой.

После того как мы вытащили процессор из Arduino UNO мы по сути получили тот самый переходник USB в TTL, осталось только соединить проводами наш новый переходник и Arduino Pro Mini по следующей схеме:

Arduino UNO (без процессора)
Arduino Pro Mini
RX
RX
TX
TX
GND
GND
5V
VCC
RST
RST

После того как вы соединили две Arduino воедино, можно приступать к прошивке Arduino Pro Mini. Подключаем Arduino UNO по USB к ПК. Выбираем в настройках Arduino IDE COM-порт, указываем, что мы теперь работаем не с Arduino UNO, а с Arduino Pro Mini и все, заливаем наши скетчи. Способ довольно интересный, если вы не боитесь испортить Arduino и рядом не оказалось переходника USB в TTL.

Третий способ. Прошиваем через SPI интерфейс

Третьим и самым неудобным способом загрузить свой скетч в Arduino Pro Mini это прошить его при помощи ICSP интерфейса. Данный интерфейс присутствует на большинстве плат Arduino. Основные контакты данного интерфейса выведены на порты с 10 по 13, а так же выведены отдельно в виде шести контактной колодки с подписью ICSP. Располагается колодка, как правило, в центральной правой части Arduino.

Прошивка Arduino Pro Mini в этом случае делиться на два этапа:

  1. Прошивка платы Arduino как ISP программатора.

Первым делом мы должны подготовить наш будущий программатор. Возьмем для примера всю туже Arduino UNO. Далее пошагово:

  1. Запускаем Arduino IDE.
  2. Файл — Примеры — 11.ArduinoISP — ArduinoISP.
  3. Инструменты — Плата — Arduino UNO.
  4. Инструменты — Порт — Выбираем COM-порт.
  5. Компилируем и заливаешь в Arduino UNO.
Arduino UNO (ISP)
Arduino Pro Mini
5V
VCC
GND
GND
10
RST
11 (MOSI)
11 (MOSI)
12 (MISO)
12 (MISO)
13 (SCK)
13 (SCK)

Теперь опять открываем Arduino IDE. Открываем в ней скетч который вы хотите залить в Pro Mini и выполняете следующие действия:

2. Инструменты — Плата — Arduino Pro Or Pro Mini
3. Инструменты — Процессор — ATmega168 (5V, 16 MHz)
4. Инструменты — Порт — Выбираете порт
5. Инструменты — Программатор — Arduino as ISP
6. Скетч — Загрузить через программатор

Как видите загружать скетч в этом режиме надо через специальное меню «Загрузить через программатор», а не через кнопку «Загрузить» на главной форме Arduino IDE. В этом и связано все неудобство. Если вы нажмете кнопку «Загрузить» как это делаете обычно, то вы зальете скетч в Arduino UNO, а не Arduino Pro Mini, что затрет там скетч программатора. Так же в этом режиме недоступен класс Serial, то есть отлаживать свой скетч обмениваясь сообщениями по COM-порту у вас так же не получится. Ну и еще одна ложка дегтя в том, что после данной перепрошивки, в большинстве случаев, перепрошить Arduino Pro Mini через переходник у вас так же больше не получиться. Исправляется это заливкой нового bootloader-а через меню «Инструменты» — «Записать Загрузчик».

Добавляем китайский Pro Mini в Arduino IDE

Как я уже говорил в данной статье, Китайские клоны порой оснащают процессорами которыми не оснащали официальные версии Arduino Pro Mini и как следствие при прошивке их вы можете увидеть следующую или подобную ошибку.

Avrdude: Expected signature for ATmega168 is 1E 94 06 Double check chip, or use -F to override this check. Найден неправильный микроконтроллер. Вы указали правильную плату в меню Инструменты -> Плата?

Исправляется это легко:

  • Для начала необходимо открыть папку в которой расположена Arduino IDE.
  • Затем переходим в следующую папку «Папка с Arduino IDE\hardware\arduino\avr\».
  • Ищем там файл «boards.txt» и открываем его в текстовом редакторе.
  • Ищем в файле следующую строку «pro.menu.cpu.16MHzatmega168.build.mcu=atmega168».
  • И заменяем ее на «pro.menu.cpu.16MHzatmega168.build.mcu=atmega168p».
  • Перезапускаем Arduino IDE и на этом все.
  • Если у вас к примеру 328 процессор то делаем все так же, только ищем строку с цифрами 328.
Заключение

В данной статье я привел аж три варианта загрузки скетчей в Arduino Pro Mini. Лично я использую второй. Мне он больше нравиться.

Что будете использовать вы — выбирать вам. Оставьте в комментарии какой вариант вы предпочитаете.

Успехов вам и удачи.

Пожалуйста, включите javascript для работы комментариев.

Just for duino: Загрузка прошивки в arduino

В некоторых своих статьях я привожу код на Си и ассемблере. Зачем это в статьях про ардуино? Какая практическая ценность этой информации? Конечно приятно наблюдать работу программы в симуляторе, но намного приятнее видеть работу этой программы в реальном устройстве. И в этой статье я расскажу как программу написанную и скомпилированную в любой среде разработки поддерживающей микроконтроллеры AVR загрузить в ардуино. Эта статья не о программировании микроконтроллеров AVR. В данной статье описано как загрузить прошивку используя исключительно возможности самой ардуино. Никакого дополнительного оборудования и специального программного обеспечения не потребуется.


На данный момент существует немало различных платок ардуино. В них используются разные микроконтроллеры. Но во все микроконтроллеры ардуино уже записан загрузчик (Boot Loader). Стандартный загрузчик ардуино вполне можно использовать для установки любой прошивки в микроконтроллер.

Сразу скажу, в разных платках ардуино установлены разные загрузчики. Однако для работы с ними всеми в Arduino IDE используется всего одна программа. Называется она AVRDUDE. Это очень хорошая программа, поэтому установка какого либо дополнительного программного обеспечения и не требуется.

При таком подходе сохраняется возможность программирования платок ардуино обычным образом. В любой момент можно вернутся к скетчам и родной Arduino IDE.

Информацию об AVRDUDE можно найти на http://www.nongnu.org/avrdude/ Это консольная программа. Но ничего страшного в этом нет. Работать с этой программой не сложно.

В качестве подопытного будет Arduino Nano с микроконтроллером ATmega168

Для этой статьи мной была написана небольшая программка на ассемблере

;---------------------------------------------
; Program      :
; Compiler     : AVR Studio
; Chip type    : ATmega168
; System Clock : 16 MHz
; Date         :
;---------------------------------------------

.include "m168def.inc"

;---------------------------------------------
; Interrupt vectors

        .cseg

        .org 0x0000    ; Reset
        jmp RESET
        .org 0x0002    ; External Interrupt Request 0
        reti
        .org 0x0004    ; External Interrupt Request 1
        reti
        .org 0x0006    ; Pin Change Interrupt Request 0
        reti
        .org 0x0008    ; Pin Change Interrupt Request 1
        reti
        .org 0x000A    ; Pin Change Interrupt Request 2
        reti
        .org 0x000C    ; Watchdog Time-out Interrupt
        reti
        .org 0x000E    ; Timer/Counter 2 Compare Match A
        reti
        .org 0x0010    ; Timer/Counter 2 Compare Match B
        reti
        .org 0x0012    ; Timer/Counter 2 Overflow
        reti
        .org 0x0014    ; Timer/Counter 1 Capture Event
        reti
        .org 0x0016    ; Timer/Counter 1 Compare Match A
        reti
        .org 0x0018    ; Timer/Counter 1 Compare Match B
        reti
        .org 0x001A    ; Timer/Counter 1 Overflow
        reti
        .org 0x001C    ; Timer/Counter 0 Compare Match A
        reti
        .org 0x001E    ; Timer/Counter 0 Compare Match B
        reti
        .org 0x0020    ; Timer/Counter 0 Overflow
        reti
        .org 0x0022    ; SPI Serial Transfer Complete
        reti
        .org 0x0024    ; USART, Rx Complete
        reti
        .org 0x0026    ; USART, UDR Empty
        reti
        .org 0x0028    ; USART, Tx Complete
        reti
        .org 0x002A    ; ADC Conversion Complete
        reti
        .org 0x002C    ; EEPROM Ready
        reti
        .org 0x002E    ; Analog Comparator
        reti
        .org 0x0030    ; Two-wire Serial Interface
        reti
        .org 0x0032    ; Store Program Memory Read
        reti

        .org INT_VECTORS_SIZE

;---------------------------------------------

RESET:

;---------------------------------------------
; Steck initialization

        ldi R16, Low(RAMEND)
        out SPL, R16
        ldi R16, High(RAMEND)
        out SPH, R16

;---------------------------------------------
; Input/Output Ports

        ldi R16, 0b00000000
        out PORTB, R16

        ldi R16, 0b00000001
        out DDRB, R16

        ldi R16, 0b00000000
        out PORTC, R16

        ldi R16, 0b00000000
        out DDRC, R16

        ldi R16, 0b00000000
        out PORTD, R16

        ldi R16, 0b00000000
        out DDRD, R16

;---------------------------------------------
; main

main:

        ldi R16, 0x00 ; low byte
        ldi R17, 0xD4 ; middle byte
        ldi R18, 0x30 ; high byte

loop:

        subi R16, 1
        sbci R17, 0
        sbci R18, 0
        brcc loop

        ldi R16, 0b00000001
        in R17, PORTB
        eor R17, R16
        out PORTB, R17

        rjmp main

;---------------------------------------------

Эта программа мигает светодиодом на восьмом цифровом выводе ардуино (PB0).

Скомпилированную в AVR Studio прошивку можно скачать с https://yadi.sk/d/0yTeoaGCbtewK Прошивочка в zip архиве. Прежде чем загружать прошивку в микроконтроллер её нужно извлечь из архива 🙂

Для удобства я создал папку avr на диске C и туда поместил прошивку.

Стандартное ПО ардуино у меня также установлено на диске C.

Далее нужно подключить Arduino Nano к ПК. Узнать какой номер COM порта Windows присвоила ардуино можно через Arduino IDE.

Теперь необходимо запустить программу для работы с avrdude. В Windows 7 это можно сделать как то так

Пуск — Все программы — Стандартные — Командная строка

В тестовых целях рекомендуется посмотреть краткую справочку по avrdude. Для этого в командной строке необходимо вызвать avrdude без каких либо параметров. В моем случае в командной строке нужно написать

C:\arduino-1.0.6\hardware\tools\avr\bin\avrdude.exe

Нажимаете Enter и просвещаетесь. Впрочем, тот кто ранее просмотрел документацию к avrdude ничего нового в этой справке не найдет.

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

C:\arduino-1.0.6\hardware\tools\avr\bin\avrdude.exe -C C:\arduino-1.0.6\hardware\tools\avr\etc\avrdude.conf -p m168 -c arduino -P com19 -b 19200 -D -U flash:w:»C:\avr\nano168.hex»:i

В итоге должно получится так

И светодиод на цифровой ножке 8 замигает. Программа написанная на ассемблере и скомпилированная в AVR Studio загружена в Arduino Nano (ATmega168).

Теперь немного пояснений.

C:\arduino-1.0.6\hardware\tools\avr\bin\avrdude.exe

Это путь к исполняемому файлу программы  avrdude.

-C

Эта опция предписывает avrdude использовать конфигурационный файл находящийся по указанному далее адресу.

C:\arduino-1.0.6\hardware\tools\avr\etc\avrdude.conf

Здесь в моей Arduino IDE размещен конфигурационный файл avrdude.

-p

Эта опция сообщает avrdude, что программе предстоит работать с указанным далее микроконтроллером

m168

Это обозначение микроконтроллера ATmega168 в конфигурационном файле avrdude Arduino IDE. При наличии желания можно посмотреть список всех микроконтроллеров с которыми работает конкретная версия avrdude. Для этого в командной строке нужно ввести

C:\arduino-1.0.6\hardware\tools\avr\bin\avrdude.exe -C C:\arduino-1.0.6\hardware\tools\avr\etc\avrdude.conf -p ?

Вообще то avrdude может работать с любым микроконтроллером AVR. Если контроллера нет в списке, то это можно исправить. Нужно лишь отредактировать конфигурационный файл avrdude сообщив программе параметры этого микроконтроллера.

-c

Эта опция сообщает avrdude о том, какой используется инструмент для программирования микроконтроллера.

arduino

Именно так обозначается загрузчик Arduino Nano в конфигурационном файле avrdude. Посмотреть список всех поддерживаемых avrdude инструментов программирования микроконтроллеров можно введя в командной строке

C:\arduino-1.0.6\hardware\tools\avr\bin\avrdude.exe -C C:\arduino-1.0.6\hardware\tools\avr\etc\avrdude.conf -c ?

Список весьма впечатляющий.

-P

Эта опция указывает avrdude на порт который Windows присвоила ардуино.

com19

У меня это COM19.

-b

Через эту опцию определяется скорость обмена данными между ардуино и avrdude.

19200

Именно на 19200 bps работает загрузчик Arduino Nano с микроконтроллером ATmega168.

-D

Эта опция предписывает avrdude не выполнять автоматическую очистку flash памяти микроконтроллера.

-U

Эта опция определяет, что avrdude будет делать с микроконтроллером. Мне нужно записать прошивку в flash память микроконтроллера. Поэтому далее я указываю

flash:w:»C:\avr\nano168.hex»:i

Эта строка также состоит из отдельных частей разделенных двоеточием.

flash

Эта часть указывает, что какие то манипуляции должны быть выполнены с памятью программ микроконтроллера.

w

Эта часть говорит avrdude, что необходимо выполнить запись данных.

«C:\avr\nano168.hex»

Здесь указывается полный путь к файлу содержащему прошивку которая должна быть записана в память программ микроконтроллера. Обратите внимание на кавычки. Они обязательны.

i

Эта часть сообщает avrdude, что данные в файле записаны в формате Intel Hex. Если формат не известен, можно вместо i ввести a. Тогда avrdude попытается самостоятельно определить формат.

В заключении я приведу таблицу, которая поможет аналогичным способом загружать прошивки в различные ардуинки.

Board Microcontroller Flash Memory -p -c -b
Arduino Uno ATmega328 32256 B m328p arduino 115200
Arduino Duemilanove ATmega328 30720 B m328p arduino 57600
Arduino Duemilanove ATmega168 14336 B m168 arduino 19200
Arduino Dicimila ATmega168 14336 B m168 arduino 19200
Arduino Nano ATmega328 30720 B m328p arduino 57600
Arduino Nano ATmega168 14336 B m168 arduino 19200
Arduino Mega 2560 ATmega2560 258048 B m2560 wiring 115200
Arduino Mega ATmega1280 126976 B m1280 arduino 57600
Arduino Leonardo ATmega32U4 28672 B m32u4 avr109 57600
Arduino Micro ATmega32U4 28672 B m32u4 avr109 57600
Arduino Mini ATmega328 28672 B m328p arduino 115200
Arduino Mini ATmega168 14336 B m168 arduino 19200
Arduino Pro Mini (5V, 16MHz) ATmega328 30720 B m328p arduino 57600
Arduino Pro Mini (5V, 16MHz) ATmega168 14336 B m168 arduino 19200
Arduino Pro Mini (3.3V, 8MHz) ATmega328 30720 B m328p arduino 57600
Arduino Pro Mini (3.3V, 8MHz) ATmega168 14336 B m168 arduino 19200
Arduino NG ATmega168 14336 B m168 arduino 19200
Arduino NG ATmega8 7168 B m8 arduino 19200

Немного поясню. В столбике Board перечислены платки ардуино. В столбике Microcontroller указан микроконтроллер используемый на этой платке. На платках с одинаковым названием могут использоваться разные микроконтроллеры. В столбике Flash Memory указан объем доступной программисту памяти программ. Часть памяти уже занята загрузчиком ардуино. Это нужно учитывать при написании программ для ардуино. Столбики -p, -c и -b содержат значения одноименных опций avrdude для каждой ардуино платки.

Arduino Pro распиновка. Arduino Pro Mini.

Одной из множества платформ Arduino является плата Arduino Pro и Arduino Pro Mini.

Arduino Pro Mini предназначена для установки в небольшие по размерам проекты.
По своим возможностям эти платы ничем не отличаются от плат больших размеров, например Arduino Nano или Arduino UNO.
Отличием является отсутствие возможности прошивать плату напрямую с USB порта компьютера, так как на плате отсутствует встроенный преобразователя FTDI FT232RL (или Ch440G).
Для прошивки надо использовать отдельный программатор, например USB программатор UART CP2102, или другую плату модель Arduino. Например Nano или UNO.
Также 3-х вольтовая плата отличается скоростью работы. Она работают на более медленной скорости 8 МГц.
Плата поставляется без распаянных выводов. Это дает возможность выбрать свой способ подключения платы: через разъемы или соединение проводами.

Выглядят платы так.

Arduino Pro

 

Arduino Pro Mini

Распиновка Arduino Pro Mini

 

Arduino Pro Mini ATmega168 3.3V/8MHz 5V/16MHz

Микроконтроллер ATmega168PA
Рабочее напряжение 3.3 В или 5 В (в зависимости от модели)
Напряжение питания (рекомендуемое) 3.35-12 В (модель 3.3 В) или 5-12 В (модель 5 В)
Напряжение питания (предельное) 3.35-20 В
Цифровые входы/выходы 14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы 6
ШИМ (PWM) пины 6
Постоянный ток через вход/выход 40 мА
Максимальный выходной ток вывода 3.3V 50 мА
Flash-память 16 Кб из которых 2 Кб используются загрузчиком
SRAM 1 Кб
EEPROM 512 байт
Тактовая частота 8 МГц (модель 3.3 В) или 16 МГц (модель 5 В)
Встроенный светодиод 13
Длина 33.0 мм
Ширина 18.0 мм
Вес 5 г
 

 

Arduino Pro Mini ATmega328 3.3V/8MHz 5V/16MHz

Микроконтроллер ATmega328P
Рабочее напряжение 3.3 В или 5 В (в зависимости от модели)
Напряжение питания (рекомендуемое) 3.35-12 В (модель 3.3 В) или 5-12 В (модель 5 В)
Напряжение питания (предельное) 3.35-20В
Цифровые входы/выходы 14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы 6
ШИМ (PWM) пины 6
Постоянный ток через вход/выход 40 мА
Максимальный выходной ток вывода 3.3V 50 мА
Flash-память 32 Кб из которых 2 Кб используются загрузчиком
SRAM 2 Кб
EEPROM 1 Кб
Тактовая частота 8 МГц (модель 3.3 В) или 16 МГц (модель 5 В)
Встроенный светодиод 13
Длина 33.0 мм
Ширина 18.0 мм
Вес 5 г

Питание
Arduino Pro и Arduino Pro Mini может получать питание: через кабель FTDI, от платы-конвертора, или от регулируемого источника питания 3.3 В или 5 В (зависит от модели платформы) через вывод Vcc, или от нерегулируемого источника через вывод RAW.

Выводы питания:

  • RAW. Для подключения нерегулируемого напряжения.

  • VCC. Для подключения регулируемых 3.3 В или 5 В.

  • GND. Выводы заземления.

 


Память
Микроконтроллер ATmega168 имеет: 32 кБ флеш-памяти для хранения кода программы (2 кБ используется для хранения загрузчика), 2 кБ ОЗУ и 1 кБ EEPROM
Микроконтроллер ATmega328 имеет: 16 кБ флеш-памяти для хранения кода программы (2 кБ используется для хранения загрузчика), 1 кБ ОЗУ и 512 байт EEPROM

Входы и Выходы
Каждый из 14 цифровых выводов Pro, используя функции pinMode(), digitalWrite(), и digitalRead(), может настраиваться как вход или выход. Выводы работают при напряжении 3,3 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
  • Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы имеют соединение с выводами TX-0 и RX-1 блока из шести выводов.

  • Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().

  • ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().

  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino.

  • LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.

На платформе Pro Mini установлены 6 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Четыре из них расположены на краю платформы, а другие два (входы 4 и 5) ближе к центру. Измерение происходит относительно земли до значения VCC.  Некоторые выводы имеют дополнительные функции:

  •  I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.

Существует дополнительный вывод на платформе:
  • Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.

 

Как прошить китайский Ардуино для работы с софтом Ардуино

Вы когда-нибудь думали о том, что дешевый китайский клон Ардуино действительно может работать?
Вы платите всего пару долларов, и получаете такой же продукт. Звучит слишком хорошо, чтобы быть правдой, не так ли?

Правда заключается в том, что некоторые из них работают, а некоторые – нет.
Читайте статью до конца, и вы узнаете, как сделать любой китайский клон рабочим за пару минут.

Я использую Arduino Uno для этого примера, но для других моделей процесс тот же самый.
Здесь у нас оригинальный Ардуино Уно и его китайская копия (Магазин на Aliexpress, Banggood).

Давайте проведем тесты.

Мой софт от Ардуино установлен на компьютер и работает нормально. Сначала я подключаю оригинальный Ардуино и все работает как надо.
Теперь я подключаю мою дешевую китайскую копию Ардуино, и компьютер не может определить устройство.

Проблема в том, что китайский клон не использует стандартный Serial to USB чип, хотя чип называется Ch440. Ваш компьютер не распознает эти Ch440 чипы, если вы их подключите.
Исправить это просто.

Скачайте софт от китайского производителя и установите себе на компьютер. Этот софт будет работать на всех версиях Windows.
Windows: http://www.wch.cn/download/Ch441SER_EXE.html

Теперь подключите свой китайский клон и попробуйте снова. Все должно работать. Китайский клон должен появиться в софте Ардуино и быть готов к использованию. Я загружаю программу мигания, и все работает нормально.

Но в некоторых случаях китайская плата все еще может не работать. Это потому, что bootloader не был установлен на контроллер Atmel.
Чтобы решить эту проблему, нам нужен работающий Ардуино и клон Ардуино, который мы хотим прошить.

Сначала мы подключаем работающий Ардуино к компьютеру и открываем софт Ардуино.
Мы идем File -> Examples и выбираем ArduinoISP. Загружаем это на плату. После загрузки отсоедините Ардуино.

Теперь клон Ардуино мы подсоединяем проводами к работающему Ардуино по этой схеме:

  • Разъем 10 подключается к Reset,
  • Разъем 11 подключается к разъему 11,
  • Разъем 12 – к 12,
  • Разъем 13 – к 13,
  • 5 Вольт – к 5 Вольт,
  • Земля – к Земле.

Следующий шаг – подключаем работающий Ардуино к компьютеру.

  1. Идем Tools -> Board и выбираем китайскую плату, которая не работает. В моем случае это Ардуино Уно.
  2. Теперь снова идем в Tools -> Programmer и выбираем “Arduino as ISP”
  3. Еще раз идем в Tools и выбираем “Burn Bootloader”.
  4. Снова Tools -> Programmer и устанавливаем “ArduinoISP”.

Ваша китайская копия теперь должна работать нормально.

Ардуино – прекрасный софт и полностью бесплатен для использования. Если вы покупаете китайские копии контроллеров Ардуино, подумайте о пожертвовании для поддержки разработчиков.

Надеюсь, статья была полезна. Оставляйте комментарии.

Прошивка ATmega 168 (Pro Mini) с помощью Arduino UNO

В рамках подготовки к моему сообщению о создании игры pong на Arduino я хотел прошить код игры на самую маленькую плату, совместимую с Arduino, которая у меня была (моя ATmega 168). Pro Mini мне достался с AliExpress). Сразу же столкнулся с проблемой, так как плата не имеет встроенного флешера из-за своего форм-фактора. После некоторого поиска в Google я узнал, что можно прошить плату с помощью Arduino UNO , используя описанный ниже процесс.

Чтобы сделать это, в первую очередь вам нужно удалить чип Atmel ATMega из UNO, как показано на рисунке ниже.

После удаления вам нужно будет подключить несколько перемычек к следующим контактам на UNO .

  СБРОС ................. (RST на цель)
5v ...................... (VCC на цели)
GND ................... (GND на цели)
TX (1) ................(TXO в цель)
RX (2) ................ (RXI в цель)
  

Следуя распиновке выше, выполните соответствующие соединения на Pro Mini , который вы хотите прошить, это должно выглядеть примерно так:

Теперь, когда вы включаете UNO , вы должны увидеть, что Pro Mini тоже получает питание.

Откройте Arduino IDE с UNO , подключенным к вашему компьютеру, и внесите следующие изменения в конфигурацию в меню Tools .

  Плата: Ардуино Нано
Процессор: ATmega168
Порт: (зависит от вашего ПК - у меня был COM3)
  

После этого вы должны увидеть свои настройки на нижней панели инструментов в Arduino IDE.

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

После завершения загрузки вы можете удалить подключенные перемычки.

Поздравляем, вы только что прошили свой Pro Mini , только не забудьте заменить свой «чип Atmel ATMega» на этом этапе, чтобы не потерять его.

Введение в Arduino Pro Mini


Привет друзья! Надеюсь у тебя все хорошо. Сегодня я собираюсь дать вам подробное введение в Arduino Pro Mini. Плата микроконтроллера, разработанная Arduino.cc и основан на микроконтроллере Atmega328.

Arduino Pro Mini очень похож на Arduino UNO по общей функциональности, однако основное отличие заключается в его размере и встроенном программаторе. Arduino Pro Mini очень маленький по размеру, в нем нет встроенного программатора и USB-порта. Arduino Uno поставляется с двумя встроенными регуляторами напряжения (то есть 5 В и 3,3 В), а Arduino Pro Mini поставляется с одним регулятором напряжения.

Доступны две версии Arduino Pro Mini, первая работает на 5 В и работает на частоте 16 МГц, а вторая — на 3.3В работает на частоте 8МГц.

Платы Arduino в основном используются для разработки автоматизации, робототехники, встроенных систем и других проектов в области электроники. Эти платы были разработаны с целью обеспечить простое сочетание аппаратного и программного обеспечения, которое дает быстрый доступ людям без технического образования.

3

Цифровые I / O Pins

32KB 2KB
Arduino Pro Mini Основные характеристики
No. Feature Value
1 Микроконтроллер ATmega328
2 Рабочая частота / кварцевого генератора 16 МГц / 8 МГц

3

14 4 4 80096 8
5 PWM (модуляция шириной импульсов) 6
6 Встроенный программатор Недоступно.
7 Порт USB Недоступно.
8 флэш-память
9 SRAM
10 ЭСППЗУ 1KB
11 Загрузчик 0.5KB в флэш-памяти.

В сегодняшнем уроке я расскажу обо всем, что связано с Arduino Pro Mini, поэтому вам не нужно копаться в Интернете и искать всю информацию в одном месте.Давайте начнем.

Знакомство с Arduino Pro Mini

  • Arduino Pro Mini — это компактная, малогабаритная плата микроконтроллера прикладного типа, разработанная Arduino.cc и поставляемая с микроконтроллером Atmega328, встроенным в плату.
  • Эта плата поставляется с 14 цифровыми контактами ввода/вывода , из которых 6 контактов используются для обеспечения выхода ШИМ .
  • Arduino Pro Mini Pinout также состоит из 8 аналоговых контактов .
  • Размер Arduino Pro Mini составляет 1/6 размера Arduino Uno, поэтому он довольно мал по сравнению с Arduino UNO.
  • В зависимости от рабочего напряжения Arduino Pro Mini бывает двух типов:
    1. Рабочее напряжение: 5,0 В, кварцевый генератор: 16 МГц, регулятор напряжения: KB33.
    2. Рабочее напряжение: 3,3 В, кварцевый генератор: 8 МГц, регулятор напряжения: KB50.
  • Чтобы уменьшить размер, порт USB и встроенный программатор удалены из Arduino Pro Mini, поэтому после загрузки кода вы можете просто поместить его в свое приложение (поэтому также называется типом приложения).
  • Официальное программное обеспечение Arduino под названием Arduino IDE (интегрированная среда разработки) используется для написания и загрузки программного кода. Код, который мы пишем для программирования этой платы, обычно называется скетч.
  • Arduino Pro Mini также имеет кнопку сброса и небольшой светодиод, подключенный к контакту 13.

Arduino Pro Mini Распределение памяти

  • Arduino Pro Mini поставляется с 3 типами встроенной памяти:
    1. Флэш-память из 32 КБ, из которых 0.5 КБ используется кодом загрузчика.
    2. SRAM объемом 2 КБ.
    3. ЭСППЗУ объемом 1 КБ.

Теперь позвольте мне дать вам краткий обзор этих воспоминаний, я подробно объяснил их здесь: Что такое микроконтроллер?

  • Флэш-память является энергонезависимой памятью и используется для хранения программного кода. Поскольку это энергонезависимая память, она сохраняет информацию даже при потере связи с источником питания.
  • SRAM (статическая оперативная память), обычно называемая оперативной памятью, является энергозависимой памятью и используется для хранения временных данных, т. е. переменных. Он теряет данные, если мы отключим питание.
  • EEPROM является полуэнергозависимой памятью и поэтому может быть стерта путем программирования.

Технические характеристики Arduino Pro Mini

Здесь я поделился некоторыми характеристиками и функциями Arduino Pro Mini.

  • Эта плата не поставляется с уже припаянными разъемами, что дает вам возможность припаивать разъемы любым удобным для вас способом в зависимости от требований и места, доступного для вашего проекта.
  • На плате имеется только один стабилизатор напряжения, то есть 3,3 В или 5 В в зависимости от версии платы.
  • Маркировка на регуляторе напряжения определяет версию платы, т. е. KB33 соответствует версии 3,3 В, а KB50 — версии 5 В. Однако версию платы также можно определить, измерив напряжение между выводами Vcc и GND.
  • Защита от перегрузки по току — еще одна функция, доступная в Arduino Pro Mini.
  • На следующем рисунке показаны технические характеристики платы.

Техническое описание Arduino Pro Mini

  • Вы можете скачать техническое описание Arduino Pro Mini, нажав кнопку ниже:

Загрузить техническое описание Arduino Pro Mini

Теперь давайте подробно рассмотрим распиновку Arduino Pro Mini:

Распиновка Arduino Pro Mini

  • Как мы знаем, каждому выводу микроконтроллера назначено несколько функций.
  • В приведенной ниже таблице я поделился ключевыми точками схемы выводов Arduino Pro Mini и пометил назначенные им функции: Номер контакта Описание контакта

    1

    Контакты 0–13

    14 цифровых входов/выходов. 2 Контакты A0 – A7 8 аналоговых контактов. 3 Контакты 3, 5, 6, 9, 10 и 11 6 Широтно-импульсная модуляция (ШИМ). 4 Контакты 0 (RX) и 1 (TX) Контакты последовательной связи. 5 Контакты 10, 11, 12 и 13 Контакты связи SPI. 6

    Контакты A4 и A5

    Контакты связи I2C. 7 Контакт № 13 Встроенный светодиод для тестирования. 8 Контакты 4 и 5 Контакты внешнего прерывания.
    • Вот принципиальная схема распиновки Arduino Pro Mini:

    Контакты питания Arduino Pro Mini

    • Vcc: 90 распиновка V004 Pro Mini.Он дает регулируемое напряжение, то есть 5 В или 3,3 В в зависимости от типа платы.
    • GND: На плате имеются 3 контакта GND (земля) .
    • СЫРЬЕ. Этот контакт используется для подачи необработанного напряжения на плату. К питанию можно подключить внешний блок питания напряжением от 5В до 12В.
    • Сброс: Плата Pro Mini поставляется с 2 контактами сброса, которые пригодятся, если плата зависнет в середине работающей программы, установка на этот контакт НИЗКОГО уровня приведет к сбросу платы.
    • На приведенном ниже рисунке я выделил контакты питания Arduino Pro Mini:

    Контакты разъема для программирования

    • Разъем для программирования: Шестиконтактный программатор FTDI подключен к этим контактам и используется для загрузки программного кода. на плате Pro Mini.

    Контакты ввода-вывода Arduino Pro Mini

    • Цифровые контакты: Arduino Pro Mini имеет всего 14 контактов цифрового ввода-вывода, промаркированных от 0 до 13, где контакт 0 — RX1, а контакт 1 — TX0.
    • Аналоговые контакты: Он имеет 8 аналоговых контактов, помеченных от A0 до A7. Эти контакты используются для ввода аналоговых сигналов и имеют общее разрешение 10 бит.

    На приведенном ниже рисунке я обвел цифровые контакты зеленым цветом, а аналоговые — оранжевым: датчики, регистры и т.и называются:

    1. Последовательный протокол.
    2. Протокол I2C.
    3. Протокол SPI (последовательный периферийный интерфейс).
  • Контакты TXD и RXD: Эти контакты используются для последовательной связи. TXD представляет собой передачу последовательных данных, тогда как RXD используется для приема данных. Код также загружается через последовательный протокол.
  • Контакты SPI: Четыре контакта 10 (SS), 11 (MOSI), 12 (MISO) и 13 (SCK) используются для связи по протоколу SPI.
  • Контакты I2C: Два контакта (A4 и A5) используются для развития связи I2C. A4 известен как последовательная линия данных (SDA), которая содержит данные, а A5 показывает последовательную линию синхронизации (SCL), которая обеспечивает синхронизацию данных.

Другие выводы

  • ШИМ. На плате имеется 6 цифровых контактов, помеченных как 3, 5, 6, 9, 10 и 11, которые обеспечивают ШИМ (широтно-импульсную модуляцию).
  • Внешние прерывания. Доступны два внешних прерывания, называемых T0 (на контакте 4) и T1 (на контакте 5).Они также известны как аппаратные прерывания.

Arduino Pro Mini по сравнению с другими платами Arduino

  • Большинство плат Arduino поставляются с портом USB, который используется для отправки программы с компьютера на плату. Однако в случае Arduino Pro Mini вся схема USB удалена, чтобы сделать его как можно более компактным и маленьким. Вы можете запрограммировать плату с помощью кабеля преобразователя USB в последовательный порт. Последовательный USB-модуль FT232RL очень удобен и предпочтителен для программирования этой платы.Шестиконтактный разъем FTDI можно подключить к преобразователю USB в последовательный порт, который обеспечивает питание USB.
  • Если вы уже работали с платой Arduino Uno, то нет необходимости покупать кабель-переходник с USB на последовательный порт, так как вы можете запрограммировать Pro Mini с помощью платы Uno. Убедитесь, что версия Pro Mini, над которой вы работаете, имеет стабилизацию 5 В, поскольку она работает на частоте 16 МГц, как плата Arduino Uno. Программирование платы 3.3V Pro Mini не будет совместимо с платой Arduino Uno, поэтому программировать плату 3.3V будет очень сложно.3V версия платы Pro Mini.
  • Форм-фактор — еще одно важное отличие, которое делает это устройство уникальным.
  • Pro Mini имеет очень маленький и компактный размер, что делает его подходящим для большинства приложений. Но небольшой размер имеет одно ограничение: он не совместим с Arduino Shield, если вы не подключите плату напрямую к Arduino Shield.

Настройка Arduino Pro Mini

  • Во-первых, вам необходимо установить на компьютер программное обеспечение Arduino IDE, которое является официальным программным обеспечением, используемым для программирования плат Arduino.
  • Подключите плату с преобразователем USB в последовательный порт (последовательный модуль FTDI), который используется для передачи программы с компьютера на плату.
  • Напишите программу в среде IDE на языке C.
  • Для записи кода не требуется отдельного записывающего устройства. Вы можете напрямую записать код в программном обеспечении IDE и перенести его на плату.
  • После того, как вы записали и перенесли программу на плату, следующим шагом будет питание платы, чтобы сделать ее совместимой с вашим проектом.
  • Помимо использования последовательного модуля FTDI, есть два способа питания платы. Вы можете подать питание на плату через RAW, установив диапазон напряжения от 5 до 12 В. Он будет автоматически регулироваться до 3,3 В в зависимости от версии платы. Однако, если в вашем проекте используется регулируемое напряжение 3,3 В, вы можете подключить его напрямую к выводу Vcc платы. Убедитесь, что версия платы KB33 работает от 3,3 В, другая версия KB50 будет работать от 5 В.
  • Эти два способа включения платы полезны, когда вы отсоединили плату от компьютера и уже записали программу с помощью модуля FTDI.

Применение Arduino Pro Mini

Платы Arduino можно использовать во многих областях, но небольшой размер и простота использования выделяют Arduino Pro Mini среди других, особенно в тех случаях, когда проект требует большого пространства.

На сегодня все. Мы всегда стремимся предоставить вам качественную работу, основанную на ваших потребностях и требованиях. Однако, если вы не уверены или у вас есть какие-либо вопросы, вы можете обратиться ко мне в разделе комментариев ниже. Я хотел бы помочь вам, насколько мне известно.Держите ваши предложения; они помогают нам предоставлять вам лучший контент, чтобы вы продолжали возвращаться за тем, что мы можем предложить. Спасибо за прочтение статьи.

Автор: Adnan Aqeel

Он блоггер и технический писатель, который любит исследовать новые вещи из любопытства. Он верит в постоянную тяжелую работу, честность и страсть, которые являются важными составляющими для достижения окончательного успеха. Он не хвастается своими писательскими способностями, но хвастается своим мастерством. [helloworld]

Что такое Arduino Pro Mini? Руководство по началу работы

Сегодня в этом посте я подробно расскажу вам об Arduino Pro Mini.Я расскажу обо всем, что связано с Arduino Pro Mini, включая что такое Arduino Pro Mini, распиновку, описание контактов, как его программировать и приложения.

Платы Arduino

— это электронные макетные платы, используемые во встроенных системах, автоматизации, робототехнике и других электронных проектах. Arduino предоставляет как программные, так и аппаратные платформы для нетехнических людей, которые с самого начала боятся разрабатывать электронные схемы. Arduino — это платформа с открытым исходным кодом, что означает, что вам нужно заплатить только за плату, и вы можете бесплатно программировать эти платы с помощью программного обеспечения Arduino IDE.Кроме того, помощь от сообщества Arduino доступна для чтения, то есть, если вы столкнетесь с какими-либо трудностями при проектировании и разработке своих плат, вы можете получить помощь онлайн, даже не заплатив ни копейки.

Начнем.

Что такое Arduino Pro Mini?

Arduino Pro Mini — это небольшая, компактная плата для разработки с открытым исходным кодом, основанная на микроконтроллере Atmega328.

Эта плата доступна в двух версиях: одна работает на 5 В с тактовой частотой 16 МГц, а другая работает на 3.3В с тактовой частотой 8МГц.

Этот блок почти аналогичен плате Arduino Uno, но имеет небольшой размер и не имеет USB-порта и встроенного программатора. Кроме того, на Arduino UNO есть два регулятора напряжения, а на Arduino Pro Mini — только один регулятор напряжения.

Arduino Pro Mini имеет 14 цифровых контактов ввода-вывода, 6 из которых используются для выхода ШИМ, а 8 аналоговых контактов встроены в плату с маркировкой от A0 до A7.

Плата оснащена встроенным светодиодом, подключенным к контакту 13, а также кнопкой сброса, которая используется для перезагрузки платы.

Флэш-память контроллера составляет 32 КБ (из которых 0,5 КБ используется для загрузчика), которая используется для хранения кода, в то время как EEPROM составляет 1 КБ, а SRAM — 2 КБ.

Arduino Pro Mini Распиновка:

Arduino Pro Mini очень мал по размеру, что означает, что он идеально подходит для проектов, требующих меньше места и меньше контактов GPIO.

На следующем рисунке показана схема разводки Arduino Pro Mini.

Мини-контакт Arduino Pro Описание:

Теперь у вас есть небольшое введение в Arduino Pro Mini.В этом разделе мы обсудим описание каждого контакта, доступного на плате.

Цифровые контакты ввода/вывода: вы найдете на плате 14 цифровых контактов ввода/вывода, которые используются для соединения с внешними компонентами.

Аналоговые контакты: На плате имеется 8 аналоговых контактов, которые могут измерять напряжение от 0 до 5 В.

Контакты ШИМ: 6 контактов ШИМ встроены в плату, которая может управлять скоростью двигателя или яркостью светодиода.

Контакты сброса: 2 контакта сброса доступны на этом устройстве. Эти контакты полезны для сброса платы, если ваш код зависает в середине работающей программы. Подача НИЗКОГО значения на эти контакты приведет к сбросу платы.

Vcc: 2 контакта Vcc встроены в плату, которая обеспечивает регулируемое напряжение, т. е. 5 В или 3,3 В, в зависимости от используемой платы.

GND: На этом устройстве доступны 3 контакта заземления.

Заголовок программирования: Шестиконтактный программатор FTDI встроен в плату и используется для загрузки кода в контроллер.

Внешние прерывания: На плате доступны два внешних прерывания (также называемых аппаратными прерываниями). Маркированы как T0 на контакте 4 и T1 на контакте 5.

USART: Плата поставляется с протоколом последовательной связи USART, который имеет два контакта RX и TX. Контакт RX используется для приема последовательных данных, а контакт TX — это контакт передачи, используемый для передачи последовательных данных.

Связь SPI: Устройство поддерживает протокол связи SPI, в котором для осуществления этой связи используются четыре контакта 10 (SS), 11 (MOSI), 12 (MISO) и 13 (SCK).

Связь I2C: Платы также поддерживают связь I2C, которая поставляется с двумя контактами SDA и SCL. SDA — это вывод последовательных данных, используемый для передачи данных, а SCL — это последовательная линия синхронизации, используемая для синхронизации данных.

Как запрограммировать Arduino Pro Mini:

Эта плата запрограммирована с помощью программного обеспечения Arduino IDE (интегрированная среда разработки), которое является официальным программным обеспечением, представленным Arduino. cc для программирования всех плат Arduino.

Вы найдете интерфейс USB в большинстве плат Arduino, доступных на рынке, однако интерфейс USB удален из Arduino Pro Mini, чтобы сделать его небольшим по размеру.Плата поддерживает кабель преобразователя USB в последовательный порт, с помощью которого вы можете передавать код на плату.

Последовательный USB-модуль FT232RL обычно используется для программирования этого устройства. Шестиконтактный разъем FTDI обеспечивает питание USB, которое можно подключить к преобразователю USB в последовательный порт.

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

Плата поставляется со встроенным загрузчиком, что означает, что вам не требуется внешнее записывающее устройство для записи кода внутри контроллера.

Arduino Pro Mini Приложения:

Плата Pro Mini немного отличается от других доступных плат Arduino. Поскольку он имеет небольшой размер и не включает интерфейс USB, а есть только при наличии регулятора напряжения на плате. Ниже приведены основные области применения Arduino Pro Mini.

  • Устройство широко используется для встраиваемых систем и проектов автоматизации.
  • Может быть включен в проекты IoT и системы отображения.
  •  Arduino Pro Mini обычно используется для полустационарной установки на объектах.
  • Плата не имеет предварительно установленных разъемов, что означает, что вы можете подключать различные типы разъемов в зависимости от требований.

Это все, что касается Arduino Pro Mini. Надеюсь, вам понравилось читать эту статью. Если у вас есть какие-либо вопросы, вы можете связаться со мной в разделе ниже. Я хотел бы помочь вам как можно лучше.Спасибо, что прочитали эту статью

Как обновить загрузчик на Arduino Pro Mini 328

Некоторое время назад я купил дюжину или более плат Arduino Pro Mini 328 3.3V 8Mhz, но только недавно они мне пригодились. Я был очень разочарован, обнаружив, что 8 плат нельзя запрограммировать через Arduino IDE. Вот как я пересобрал и перепрограммировал загрузчик и исправил проблему, используя STK500 и Ubuntu Linux.

Настройка программного обеспечения

Вам понадобится работающая среда сборки Arduino и такой инструмент, как avrdude, который может общаться с программистом вашего интернет-провайдера:

 sudo apt-get установить сделать git
sudo apt-get установить gcc-avr avr-libc avrdude
sudo apt-get установить arduino 

Затем получите последний исходный код Arduino с GitHub:

 git клон https://github.com/arduino/Arduino.git 

Настройка оборудования

Для программирования загрузчика вам понадобится:

  1. Arduino Pro Mini 328.
  2. Внутрисистемный программатор (ISP). Я использую макетную плату STK500, но можно использовать и другие интернет-провайдеры или другой Arduino.
  3. Способ подключения 6-контактного разъема ISP вашего программатора к отдельным контактам на Pro-Mini. Такие прыгуны хорошо работают.
  4. Правильные параметры для связи с вашим провайдером.В моем случае я использую скорость передачи данных по умолчанию, протокол stk500v2 и /dev/ttyS0.

Подключите 6-контактный разъем ISP от вашего программатора к Pro-Mini следующим образом:

Обратите внимание, что на приведенной выше схеме числа внутри символа ARDUINO_MINI соответствуют схеме нумерации контактов Arduino, которая соответствует меткам, напечатанным на плате Pro-Mini.

Проверьте настройку, чтобы убедиться, что все работает, прочитав фьюзы (настройте порт и протокол в соответствии с требованиями вашего интернет-провайдера):

 $ avrdude -P /dev/ttyS0 -c stk500v2 -p m328p

avrdude: устройство AVR инициализировано и готово к принятию инструкций
Чтение | ################################################### | 100% 0.01с
avrdude: Подпись устройства = 0x1e950f
avrdude: safemode: Предохранители в порядке
avrdude сделано. Спасибо. 

Выбор загрузчика

На разных платах Arduino используется 8 различных типов загрузчиков. Определение для каждого типа платы Arduino, включая скорости передачи данных, протоколы программирования и загрузчики, находится в ./hardware/arduino/boards.txt. Когда вы выбираете плату в меню «Инструменты» Arduino IDE, свойства этой платы загружаются из плат.текст.

Если вы не уверены, какой загрузчик использует ваш Arduino, выполните поиск в файле boards.txt и найдите соответствующий «bootloader.file» в источниках. Вот запись для Arduino Pro Mini 3.3V:

.
 pro328.name=Arduino Pro или Pro Mini (3,3 В, 8 МГц) с ATmega328

pro328.upload.protocol=ардуино
pro328.upload.maximum_size=30720
pro328.upload.speed=57600

pro328.bootloader.low_fuses=0xFF
pro328.bootloader.high_fuses=0xDA
pro328.загрузчик.расширенные_фьюзы = 0x05
pro328.bootloader.path=атмега
pro328.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
pro328.bootloader.unlock_bits=0x3F
pro328.bootloader.lock_bits=0x0F

pro328.build.mcu=atmega328p
pro328.build.f_cpu=8000000L
pro328.build.core=ардуино
pro328.build.variant=стандартный 

Из boards.txt мы видим, что 3.3V Pro Mini использует загрузчик ATmegaBOOT_168_atmega328_pro_8MHz.hex, а версия 5V использует ATmegaBOOT_168_atmega328.шестнадцатеричный загрузчик. Эти файлы можно найти в ./hardware/arduino/bootloaders/atmega.

Оптибут

Я читал, что можно использовать альтернативный загрузчик Optiboot с переменным успехом. Если вы используете этот загрузчик, вы должны установить для платы «Arduino UNO» в IDE вместо «Arduino Pro Mini 3.3V» или настроить boards.txt. Чтобы быстро определить, какой загрузчик установлен на Pro Mini, подсчитайте количество миганий зеленого светодиода после сброса: стандартный загрузчик мигает один раз, а загрузчик Optiboot мигает 3 раза.Я предпочитаю использовать стандартный загрузчик на всех своих устройствах Pro Mini, чтобы избежать путаницы, но если вы хотите использовать загрузчик Optiboot, ознакомьтесь с процедурой записи загрузчика на Arduino UNO.

Сборка и запись загрузчика

Примените следующий патч к источнику в ./hardware/arduino/bootloaders/atmega. Это говорит компилятору использовать регистр EEPE вместо EEWE, оптимизировать по размеру и настроить Makefile для использования STK500 на правильном последовательном порту.

Этот следующий шаг является необязательным, так как исходный код Git уже включает предварительно собранный двоичный файл, но вы хотите собрать его самостоятельно:

 очистить
сделать atmega328_pro8 #3.3V, 8Mhz версия
сделать atmega328 #5V, 16Mhz версия 

Наконец, запишите загрузчик на плату, используя ISP, настроенный в Makefile:

 make atmega328_pro8_isp #3.3V, версия 8Mhz
сделайте atmega328_isp #5V, 16Mhz версия 

Если загрузчик был успешно обновлен, зеленый светодиод будет мигать и гаснуть до тех пор, пока не будет загружен скетч.Откройте Arduino IDE, установите для платы «Arduino Pro или Pro Mini (3,3 В, 8 МГц) с ATmega328» (или версию 5 В) и попытайтесь загрузить скетч.

Заключение

В случае с моими «сломанными» Pro-Mini, что-то пошло не так на заводе, когда на эти платы был запрограммирован первоначальный загрузчик. Кажется, я припоминаю сообщение где-то на форуме Sparkfun, в котором упоминалась плохая партия. Во всяком случае, вот что я видел перед обновлением загрузчика:

И далее:

Как прошить загрузчик Arduino без программатора — Блог Welldone

Если у вас Arduino Uno R3, то вам не нужен программатор для прошивки загрузчика в ATMEGA328P.

Как это работает: На плате Ардуино два микроконтроллера: ATMEGA328P (328P) и ATMEGA16U2 (16U2). Вы можете обновить прошивку 16U2, чтобы стать программатором AVRISP MKII, а затем использовать Atmel Studio для прошивки 328P.

Я начал с веб-сайта kosakalab, но у меня были некоторые проблемы, и шаги не очень хорошо для меня работали (особенно часть прошивки загрузчика через программное обеспечение Arduino). Проблем было больше и поэтому я решил выложить весь процесс в свой блог, чтобы другие люди могли сэкономить свое время.

Установите программное обеспечение Atmel FLIP

Вам потребуется программное обеспечение Atmel FLIP для обновления прошивки внутри 16U2.
1. Перейдите по адресу http://www.atmel.com/tools/FLIP.aspx и загрузите FLIP.
2. Установите его. У вас не должно возникнуть никаких проблем, просто следуйте указаниям мастера установки.
3. Возьмите плату Arduino, отключите ее от питания и USB. Установите ссылку на разъем ICSP1, контакты 5-6 (это сохранит 16U2 RESET в низком уровне).

4. Подключите Arduino к USB.
5. Отключите Link ICSP1 (5-6).В этот момент 16U2 переходит в режим DFU. Новое USB-устройство должно быть распознано.
6. ​​Если драйвер не устанавливается автоматически, установите его из «c:Program FilesAtmelFlip 3.4.7usb»
7. Перейдите в диспетчер устройств (Win+Pause -> (Оборудование) -> Диспетчер устройств) и проверьте, отображается ли драйвер установлен правильно. Он будет расположен в разделе USB-устройства Atmel -> ATmega16U2

.

Прошить прошивку AVRISP MKII в ATmega16U2

Готовы к перепрошивке внутри 16U2.
1. Загрузите шестнадцатеричный файл AVRISP MKII здесь. Если вы хотите узнать, как его скомпилировать, посмотрите Compile LUFA AVRISP MKII Project. Файл основан на проекте LUFA.
2. Отключите Arduino от кабеля USB и питания.
3. Установите перемычку на контакты 5–6 ICSP1.
4. Подключите Arduino к USB.
5. Отсоедините ссылку на контактах 5-6 ICSP1.
6. ​​Запустите программное обеспечение FLIP: выберите «Пуск» -> «Все программы» -> «Flip» -> «Flip».
7. Перейдите в Настройки -> Связь -> USB.
8. Нажмите «Открыть».
9. Перейдите в File -> Load HEX file и выберите LUFA-BOTH-AVRISP-MKII.hex
11. Нажмите «Выполнить».

12. ATMEGA16U2 теперь называется AVRISP MKII и работает в режиме Atmel Studio. Важно : Ваш «Arduino AVRISP MKII» может работать в двух режимах: Atmel Studio или Avrdude. Ниже я буду говорить только о режиме Atmel Studio, так как у меня было много проблем с режимом Avrdude.

Установить Atmel Studio

1. Загрузите и установите Atmel Studio (включая драйверы) с http://www.atmel.com/microsite/atmel_studio6/
2. После установки подключите Arduino к кабелю USB. Оба светодиода (RX и TX) должны мигнуть два раза (это означает, что 16U2 находится в режиме «Atmel Studio»). Новое устройство будет распознано.
3. Установите драйверы. Если они не распознаются автоматически, вы найдете их в «c:Program FilesAtmelAtmel USB Drivers»
4. Перейдите в Диспетчер устройств (нажмите Win+Pause -> (Оборудование) -> Диспетчер устройств) и проверьте, видите ли вы драйвер. правильно установлен.Он будет находиться в Jungo Connectivity -> AVRISP mkII

.

5. Вы готовы прошить ATMEGA328P. Перейти к следующему пункту.

Прошивка загрузчика Arduino в ATMEGA328P через ATMEGA16U2

1. Это самая сложная часть 🙂 Вам нужно будет припаять несколько проводов. По сути, нам нужно подключить:
ICSP1 MISO2.Pin.1 ICSP MISO.Pin.1
ICSP1 SCK2.Pin.3 ICSP SCK.Pin.3
ICSP1 MOSI2.Pin.4 ICSP MOSI.Pin.4
JP2 PB4. Pin.1 ICSP RESET.Pin.5
См. эту красивую картинку в сообщении kosakalab (спасибо Kimio):

2.Подключите плату Arduino к USB-кабелю. Светодиоды RX и TX должны мигнуть два раза. Драйвера должны корректно распознаваться (Jungo Connectivity -> AVRISP mkII)
3. Запустите Atmel Studio. Перейдите в Пуск -> Все программы -> Atmel -> Atmel Studio.
4. Перейдите: Инструменты -> Программирование устройства
5. Выберите: «Инструмент» -> AVRISP mkII; «Устройство» -> ATmega328P; «Интерфейс» -> Интернет-провайдер; и нажмите кнопку «Применить».
6. ​​Установите часы ISP на 16,1 кГц. Нажмите кнопку «Установить».
Примечание: Программирование не будет работать, если вы установите очень низкую тактовую частоту ISP.Вы получите сообщение об ошибке: «ispProgramMem: получен статус ошибки: получено 0x81, ожидается 0x00 (время выборки вывода RDY/nBSY истекло)». Однако максимальная скорость интернет-провайдера также ограничена и не может превышать 1/4 частоты устройства.

7. Перейдите в раздел: «Подпись устройства» и нажмите кнопку «Читать». Вы должны увидеть правильную «подпись устройства»: 0x1E950F
8. Нажмите «Воспоминания» и найдите шестнадцатеричный файл загрузчика Arduino. Он находится в папке «C:Program FilesArduinohardwarearduinobootloadersoptibootoptiboot_atmega328.hex”
9. Нажмите кнопку “Program”
ВАЖНОЕ ПРИМЕЧАНИЕ: Если вы используете новый незапрограммированный ATMEGA328P, вы также должны запрограммировать FUSES. Перейдите к Fuses и используйте следующие значения: low_fuses=0xff; high_fuses=0xde; расширенные_фьюзы = 0x05

10. Вы успешно запрограммировали 328P с помощью загрузчика Arduino. На следующем этапе мы вернем исходную прошивку 16U2.

Перепрошивка ATMEGA16U2 до оригинального программного обеспечения Arduino

Почти готово. Нам нужно вернуть исходное программное обеспечение в ATMEGA16U2.
1. Отключите Arduino от питания и USB.
2. Поместите ссылку на ICSP1 и закоротите контакты 5-6.
3. Подсоедините кабель USB.
4. Удалите ссылку 5-6 ICSP1.
5. Запустите программное обеспечение FLIP. Перейдите в: Пуск -> Все программы -> Перевернуть -> Перевернуть.
6. ​​Перейдите: Настройки -> Связь -> USB.
7. Нажмите «Открыть».
8. Перейдите: Файл -> Загрузить HEX-файл. Выберите этот файл «c: Program FilesArduinohardwarearduinofirmwaresatmegaxxu2arduino-usbserialArduino-usbserial-atmega16u2-Uno-Rev3.hex»
9. Нажмите «Выполнить».
10. Отсоедините USB-кабель и подсоедините его снова. Новое USB-устройство должно быть распознано. Если драйвер не установлен автоматически, вы найдете его в «c: Program FilesArduinodrivers».
11. Зайдите в Диспетчер устройств (Win+Pause -> (Оборудование) -> Диспетчер устройств) и проверьте правильность загрузки драйвера. Вы должны увидеть его в разделе Порты -> Arduino Uno

.

12. Отлично! Теперь мы можем протестировать пример Blink. Запустите программное обеспечение Arduino (Пуск -> Arduino).
13. Нажмите на значок «Открыть» (стрелка вверх) -> 01.Основы -> Blink.
14. Выберите COM-порт: Инструменты -> Последовательный порт -> COM (выберите порт, на котором была распознана плата).
15. Щелкните значок «Загрузить» (стрелка вправо).
16. Пользовательский светодиод должен начать мигать 🙂
17. Готово! Вы успешно перепрограммировали ATMEGA328P без использования внешнего программатора.

Научитесь проектировать свои собственные платы онлайн — на основе Arduino

После этого курса вы создадите свою собственную плату, подобную Arduino.Этот курс предназначен для всех, кто никогда раньше не проектировал доски и хотел бы попробовать.

Как зарегистрироваться на этот онлайн-курс?

Шаг 1: Зарегистрируйтесь и войдите на веб-сайт Академии FEDEVEL — нажмите здесь
Шаг 2: Выберите свой курс (необходимо войти в систему) — нажмите здесь

Узнайте больше об этом курсе из этого короткого вводного видео

Нравится:

Нравится Загрузка…

Родственные

Программирование Arduino Pro Mini с помощью USBasp V2.0 · @ndrew

By Андрей Березовский

UPD 14.05.2016: Arduino Nano с Ch440 поставляется с Aliexpress дешевле чем 2 доллара – я рекомендую вам купить его (если только вы не знаете, что делаете).

Вам действительно нужно платить 25 долларов за Arduino? У многих моих друзей есть оригинальный Arduino, и они отлично работают, но я хотел посмотреть, как дешево я могу идти.Первоначально я купил стартовый комплект SunFounder, и он работал на 100%, как рекламируется. Сегодня мы посмотрим, сможем ли мы получить полнофункциональную Arduino менее чем за 5 долларов.

Недавно я наткнулся на очень дешевые клоны Arduino Pro Mini и решил купить один, чтобы увидеть, если он работает! Я также получил клон программатора USBasp:

Наконец-то у меня было время поиграть с ним во время семестровых каникул. Под вами найду шаги, которые я должен был выполнить, чтобы запрограммировать Pro Mini от Arduino ИДЕ.

Во-первых, вам нужно припаять контакты к Pro Mini. я хотел немного сэкономить пространство и припаял боковые контакты к нижней стороне. В результате доска не вписывается в макетную плату идеально. Поэтому, если вы собираетесь использовать его в основном в макете, примите это во внимание. Кроме того, некоторые контакты продублированы, поэтому вам может вообще не понадобиться припаивать некоторые выводы.

Следующим шагом является вставка Pro Mini в макетную плату, а также подключение Контакты IDC-10 (см. распиновку с маркировкой Kabel ).

Источник: Программатор USB ISP для Atmel AVR (USBASP)

После подключения USBasp к порту USB вы должны увидеть мигающий светодиод (запрограммировано в Pro Mini на заводе), и VCC должен выводить правильное напряжение (3,3 В или 5 В, в зависимости от вашей версии Pro Mini):

Без нагрузки (Pro Mini), USPasp выдает правильные 5,00 В

Наконец, компьютерная часть (я использую Ubuntu 14.04 LTS). Если вы используете Windows, получите драйвер со страницы USBasp.Изменить следующие настройки в Arduino IDE:

  • В разделе Tools > Programmer выберите USBasp .
  • В разделе Инструменты > Плата выберите свою версию Arduino Pro или Pro Mini .

Наконец, вам нужно обновить свои правила udev , иначе вы столкнетесь с проблемы с разрешениями (больше правил в Arch Wiki):

$ кошка /etc/udev/rules.d/41-arvdude.rules
# Правила USBasp Programmer http://www.fischl.de/usbasp/
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="andrew", MODE="0666"
 

Теперь загрузите образец эскиза в File > Examples > 01. Basics > Blink и затем используйте Загрузить с помощью программатора . Если вы не видите ошибок, поздравляю! Вы все еще можете столкнуться с предупреждением, подобным этому:

.
avrdude: предупреждение: нельзя установить период ожидания. Пожалуйста, проверьте наличие обновления прошивки usbasp.
 

Решается перепрограммированием самого программатора, как описано в статья Как обновить прошивку на USBasp V2.0. Вам понадобится еще один программатор для это, однако.

Если вы хотите продолжить взлом, но все еще ищете вдохновения, ознакомьтесь с этими ресурсами:

¿Как программировать на Arduino Pro Mini 328?

В этом учебном пособии объясняется, как программировать Arduino Pro Mini, используя преобразователь USB в последовательный порт (TTL), проверяя, что вы используете и программируете его легко, как на платах Arduino.

Плата Arduino, подключенная к ПК, использует USB-танго для программы, используемой для обмена данными, для этого разъема на плате Arduino используется чип, который используется для преобразования USB в последовательный TTL. En las primeras versiones de Arduino las placas utilizaban el puerto COM o RS232 para comunicarse con la PC, pero este puerto es cada vez menos común por lo que ahora se utiliza el puerto USB. Текущие версии Arduino Uno и Arduino Mega используют микроконтроллер Atmega как преобразователь, в качестве преобразователя Arduino Leonardo или Micro, который интегрирован в основной микроконтроллер.

El Arduino Pro Mini отличается от плат, не включающих преобразователь на плате (по теме преобразования цены), для которого необходимо использовать внешний преобразователь для программы чипа или серийного номера связи. Вы можете преобразовать USB-Serial TTL в чипы: FTDI232, PL2303, Ch440G и CP2102 , которые используются в этом учебнике.

На рынке, где можно сравнить различные модели Arduino Pro Mini, следует учитывать основные различия между функциями и частотой кристаллов.Две основные модели, такие как Arduino Pro Mini 328 – 5 В/16 МГц и Arduino Pro Mini 328 – 3,3 В/8 МГц .

Существующие формы программатора Arduino Pro Mini, первый пример использования последовательного USB-преобразователя TTL модуля, а также вторая программа, специально предназначенная для микроконтроллеров Atmel AVR. В этом учебном пособии вы найдете первый метод: используйте оболочки или USB-последовательный порт.

Dentro de los conversores USB-Serial el CP2102 destaca por incluir el pin DTR, que Será de gran utilidad al Momento de Programar Nuestro Arduino Pro Mini.El Pin DTR предназначен для автоматического сброса на Arduino Pro Mini. Перезагрузите RESET в Arduino, чтобы запустить загрузчик данных (Bootloader), в этот момент ПК загрузите данные с новым «эскизом» и перепрограммируйте Arduino, пройдя 1 или 2 секунды, но не загрузив данные, el Arduino ejecutará su фактический эскиз.

— Контактный штифт преобразователя DTR

— Преобразователь Sin Pin DTR

Программатор Arduino Pro Mini используется для конвертера с выводом DTR


Пункт este caso tan solo basta conectar el Arduino pro mini y el conversor de la siguiente manera.


Pro Mini CP2102
DTR <- DTR
TXO -> RXD
RXI <- TXID
VCC <- 5V
GND <- GND


      * Плата Arduino Pro Mini с питанием 3,3 В, подключение VCC к контакту 3V3 преобразователя

En nuestro ejemplo hemos usado un modulo conversor CP2102, pero el orden de pines puede cambiar entre los diferentes modelos.

Одноразовый пакет для выбора новой версии Arduino Pro Mini в среде IDE Arduino

  

  

Ahora seleccionamos el Puerto COM корреспондент CP2102 en nuestro caso es el COM5

  

Si tienen varios puertos COM o no están seguros si es el puerto COM корреспондент al modulo conversor pueden averiguarlo en Equipo->Propiedades>Administración de dispositivos

  

  

Una vez seleccionado el typeo de tarjeta, el puerto COM y haber hecho las conexiones корреспондентес, solo hace falta hacer clic en «cargar».Si todo es correcto, la programación o carga no debe tener problemas y no debe arrojar ningún tipo de error.

  

  

  

Программатор Arduino Pro Mini, используемый для конвертера с контактом DTR

En este caso dejamos sin conectar el pin DTR del Pro mini, lo demás conectamos igual que en el caso anterior.

  
Pro Mini    PL2303
TXO      ->      RXD
RXI     <-         TXD
VCC    

    * Плата Arduino Pro Mini 3.3V, el VCC debe conectarse al pin 3V3 del Conversor


Ahora como en el caso anterior seleccionamos en tarjeta al Pro Mini y el puerto COM корреспондент al conversor, el puerto COM del conversor lo puedes ver en «administración de dispositivos» (игуал que en el caso anterior):

    

   

   

  

Разница между другими модулями и моментом программы Cargar, не имеет значения для PIN-кода DTR, IDE для Arduino и не требует автоматического сброса в Pro Mini, для того, что нужно для получения руководства по форме:

Щелкните в программе cargar y después reseteamos manualmente el Arduino justo un segundo antes o en el cambio de «compilando» a «Cargando».

Otra forma más fácil puede ser en tener presionado el botón de Reset desde el momento que se da clic en cargar y soltarlo cuando pasa de «compilando» a «cargando».

Сделай правильный вывод в IDE debe indicar: «Carga Terminada»

   

  

Si no se logra resetear el Arduino Pro Mini en el momento adecuado, tenremos el siguiente error:

   

   

Si a pesar de indicar «carga terminada» aparecen errores en la consola, significa que no se ha cargado correctamente el programa, por lo que debemos volver a cargar el sketch.

*Примечание 1: Плата Arduino Pro Mini питается от внешнего источника напряжения, который не подключен к преобразователю 5 В.
*Примечание 2: Arduino Pro Mini используется в учебном пособии для 5V/16Mhz, если существуют модели 3.3V, для тех, у кого есть время питания, а также для заряда, VCC Se tiene que conectar al pin de 3.

Добавить комментарий

Ваш адрес email не будет опубликован.