После сборки, если аккумулятор заряжен, необходимо подать питание, зелёный светодиод «Regist» должен начать мигать раз в секунду. Так же на модуле arduino мини тоже будет мигать чип светодиод обозначений на плате буквой«L»:
На видео, показан модуль arduino nano и как должен мигать светодиод, но суть остается та же. Мигание светодиода говорит о том, что модуль исправен, а светодиод «Regist» мигает потому что он подключен так же как и чип светодиод к 13-му пину arduino.
Теперь необходимо научится прошивать контроллер. Без специального загрузчика arduibo mini не прошить, но всё же существует несколько способов.
1. Используем модуль Arduino Uno. Предварительно копируем и заливаем в контроллер скетч:
#include <SoftwareSerial.h> // Подключаем библиотеку SoftwareSerial для общения с модулем по программной шине UART
SoftwareSerial softSerial(2,3); // Создаём объект softSerial указывая выводы RX, TX (можно указывать любые выводы Arduino UNO)
// В данном случае вывод TX модуля подключается к выводу 2 Arduino, а вывод RX модуля к выводу 3 Arduino.
// Инициируем работу шин UART с указанием скоростей обеих шин: //
void setup(){ //
softSerial.begin(38400); // Инициируем передачу данных по программной шине UART на скорости 38400 (между модулем и Arduino)
Serial.begin(9600); // Инициируем передачу данных по аппаратной шине UART на скорости 9600 (между Arduino и компьютером)
} //
//
// Выполняем ретрансляцию: // Всё что пришло с модуля - отправляем компьютеру, а всё что пришло с компьютера - отправляем модулю
void loop(){ //
if(softSerial.available()){ Serial.write(softSerial.read());} // Передаём данные из программной шины UART в аппаратную (от модуля через Arduino к компьютеру)
if( Serial.available()){softSerial.write( Serial.read());} // Передаём данные из аппаратной шины UART в программную (от компьютера через Arduino к модулю )
}
Как залить скетч в контроллер можно найти в интернете. Повторятся не хочу, и не вижу в этом надобности. Заинтересованный человек без труда найдет эту информацию.
Далее, пин TX MINI подключить к пину 2 UNO. Пин RX MINI к пину 3 UNO. Подключаем к USB порту компьютера.
Если плата MINI 3,3В, то нужно подключить на пин MINI Raw пин +5В UNO. Или пин VCC MINI к пину +3,3В UNO.
Подключаемся к компьютеру, ждем когда Arduino IDE определит что к порту подключен Arduino pro mini. Пробуем загрузить скетч.
Если произошла ошибка, тогда к пину TX UNO подключаем пин TX MINI, пин RX UNO к пину RX MINI.
Пин Reset UNO подключаем к GND UNO (отключаем Atmega 326 UNO от UART шины). Пробуем загрузить скетч.
Даная операция касается плат UNO, с припаянным Atmega 326, как на фото ниже. Отдельно следует отметить, что в определённый момент, в процессе загрузки необходимо перезагрузить плату MINI кнопкой RESET, что довольно не просто сделать. Нужно научится ловить нужный момент. Нужен опыт.
Хочу сразу сказать, что у меня не было под рукой модуля ардуино уно с не припаянным контролером, а был с припаянным. Поэтому я воспользовался этим методом. С первого же раза скетч сигнализации удалось загрузить в контроллер arduino mini. Но когда мне понадобилось перезалить скетч, у меня ни чего больше не выходило (не удавалось в нужный момент перезапустить контроллер, причина скорее всего была в плохих контактах. Как только я нажимал кнопку "сброс", скорее всего какой то провод терял контакт и скетч не загружался. Контакт терялся из за того что провода были подключены на скорую руку через макетную плату).
2. Если контроллер не припаян, тогда его можно аккуратно извлечь. На фото ниже показан модуль, из которого можно аккуратно, поддев отверткой извлечь микроконтроллер.
В этом случае необходимо соединить платы UNO — MINI как указано ниже:
Tx — Tx
Rx — Rx
GND — GND
+5 — Raw (если модуль MINI 3,3 вольтовый)
Rst — Rst
Выбираем в настройках Arduino IDE COM-порт, указываем, что мы теперь работаем с Arduino Pro Mini, также указываем тип процессора, 8 МГц или 16МГц. Теперь можно загружать скетчи.
Поскольку UNO не было с отделяемой микросхемой, а ловить момент перезагрузки как требуется у меня не выходило, пришлось поступить радикально, а именно испортить рабочий модуль arduino (мой подопытный был модуль NANO, с контроллером Atmega 168), благо он стоит копейки.
На исправном модуле arduino nano необходимо канцелярским ножом, аккуратно надрезать ножки чипа Atmega 326 или Atmega 168 (в зависимости какой модуль имеется в качестве подопытного). Удалить чип. Проследить что бы посадочное место и остатки ножек припаянных к нему ни где не замыкались между собой.
Всё, наш самодельный загрузчик готов, теперь им можно прошивать модули arduino mini.
необходимо соединить наш загрузчик к MINI как указано ниже:
Tx — Tx
Rx — Rx
GND — GND
+5 — Raw или +3,3 — VCC (если модуль MINI 3,3 вольтовый)
Rst — Rst
Выбираем в настройках Arduino IDE COM-порт, указываем, что мы теперь работаем с Arduino Pro Mini, также указываем тип процессора, 8 МГц или 16МГц. Теперь можно загружать скетчи.
Следующая статья: https://dzen.ru/a/ZExuvA0y0xLyBhr6