Эта страница только для чтения. Вы можете посмотреть исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Использование UNO в качестве конвертера для плат линейки Mini ====== ++++ Описание проблемы| Использование таких плат как Smart Mini, Pro Mini или Arduino Mini очень удобно для проектов, которые требуют экономии места. Эти платы очень малы по габаритам и могут поместиться даже в самые маленькие корпуса. Однако, в целях уменьшения размеров и снижения стоимости таких контроллеров, на них отсутствует встроенный преобразователь, поэтому напрямую контроллер к компьютеру подключить не получится. Для программирования подобных контроллеров используются USB-TTL конвертеры, которые берут на себя функции коммуникации между компьютером и контроллером платы. Однако, множество из них имеют свои недостатки. Например, на них отсутствует (или неправильно спаян) вывод, отвечающий за сброс контроллера перед загрузкой скетча. В связи с этим, для программирования контроллеров мини, вам потребуется физически нажимать на кнопку сброса, и определять время её нажатия. Это зачастую приводит к проблемам при загрузке скетчей на плату. Ниже мы рассмотрим способ загрузки скетчей через плату Smart Uno с помощью SPI-интерфейса. Этот способ более удобен (нам не придётся физически зажимать кнопку сброса на контроллере) и более предсказуем. <WRAP center round important 80%> Внимание! Все дальнейшие действия выполняйте внимательно и строго следуйте инструкциям. Вы соглашаетесь с тем, что все действия совершаемые по прошивке загрузчиков и записи скетчей выполняются вами на свой страх и риск. Администрация магазина снимает с себя любую ответственность за выполняемые вами действия. Если вы не уверены в своих силах и действиях, обратитесь к компетентным специалистам! </WRAP> ++++ ===== Загрузка скетчей на контроллеры Mini ===== ==== Шаг 0. Предварительно ==== Подразумевается что: * у вас установлена среда разработки Arduino IDE * у вас есть кабель для соединения контроллера Smart Uno с компьютером * у контроллера Mini припаяны выводы * у вас прошит загрузчик на контроллере Mini (если нет, [[main:info:mini_firmware|сначала сделайте это]]) <WRAP center round tip 80%> Если до этого, вы уже прошивали загрузчик на плату Mini, то вы можете сразу же перейти к шагу №6 и пропустить шаги №№ 1 - 5. </WRAP> ==== Шаг 1. Соберите необходимые компоненты ==== ^ Что нужно ^ Количество ^ | [[httpss://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart Uno]] | 1 | | [[httpss://smartelements.ru/collection/kontrollery/product/arduino-mini|Контроллер линейки Mini]] | 1 | | [[httpss://smartelements.ru/collection/provoda-i-kabeli/product/nabor-provodov-20-sht-20sm-papa-mama|Провода папа - мама]] | 6 | //**Примечание:** Часто контроллеры Mini продаются без припаянных выводов. В таком случае вам нужно их предварительно припаять, или воспользоваться иными соединительными проводами или элементами. // ==== Шаг 2. Сделаем UNO конвертер ==== На этом шаге мы сделаем из нашего контроллера Smart Uno - конвертер, который сможет прошивать такие платы как Mini. Подключите контроллер Smart Uno к компьютеру, выберите в среде разработки нужный COM-порт (Меню Инструменты - Порт). {{:главная:инфо:выберите_порт.jpg?nolink|}} Выберите скетч, который сделает из контроллера конвертер (Меню Файл - Примеры - 11. Arduino as ISP - ArduinoISP) {{:главная:инфо:скетч_ардуино_исп.jpg?nolink|}} Загрузите скетч на контроллер (с помощью горячих клавиш CTRL+U или меню Скетч - Загрузка). {{:главная:инфо:загрузка_скетча_исп.jpg?nolink|}} ==== Шаг 3. Подключите Mini к UNO (который теперь у нас выполняет функцию конвертера) ==== Соедините проводами выводы контроллера Smart Uno и контроллера Mini по схеме ^ Smart Uno ^ Mini (Pro Mini) ^ | 5V | VCC | | GND | GND | | 10 | RST | | 11 | 11 | | 12 | 12 | | 13 | 13 | //**Примечание:** Если вы используете версию Mini на 3.3 В, тогда вывод VCC контроллера Mini соедините с выводом 3.3V контроллера Smart Uno// ==== Шаг 4. Выберите в IDE плату Mini и её параметры ==== В среде разработки Arduino IDE выберите плату Mini (меню Инструменты - Плата): {{:главная:инфо:выбор_мини.jpg?nolink|}} и её параметры 3.3V или 5V, 8 или 16 Мгц (меню Инструменты - Процессор): {{:главная:инфо:выбор_параметров_мини.jpg?nolink|}} ==== Шаг 5. Укажите среде разработки тип загрузчика ==== Далее в среде разработки следует указать тип загрузчика (меню Инструменты - Программатор - Arduino as ISP): {{:главная:инфо:ардуино_как_исп.jpg?nolink|}} ==== Шаг 6. Выберите скетч для загрузки ==== Выберите скетч, который планируете загрузить на контроллер Mini. Самый простой вариант - это взять скетч из примеров, меню Файл - Примеры - 01 Basics - Blink {{ :главная:инфо:выбор_блинк.jpg?nolink |}} И немного изменим этот скетч, чтобы было нагляднее увидеть, что всё получилось. Перейдите в скетче к блоку **loop()** и увеличите время задержки на одну секунду, следующим образом: Найдите строки: <file Arduino> delay(1000); // wait for a second </file> И измените в них значение 1000 на значение 2000: <file Arduino> delay(2000); // wait for a second </file> {{ :главная:инфо:делэй_2000.jpg?nolink |}} ==== Шаг 7. Загрузите скетч на контроллер ==== В отличии от обычной загрузки скетча на контроллер, нам понадобится пункт меню **Скетч - Загрузить через программатор** или воспользоваться комбинацией клавиш **Ctrl + Shift + U**: {{ :главная:инфо:загрузить_через_программатор.jpg?nolink |}} Дождитесь окончания компиляции и загрузки. ==== Результат ==== В результате вы получите плату Mini с записанным на неё скетчем. Посмотрите внимательно, встроенный светодиод мигает с частотой в 2 секунды.