какие микроконтроллеры можно программировать через ардуино

Работа с микроконтроллерами: прошивка с помощью Arduino

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

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

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

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

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

Скетчи на ATtiny84

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат

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

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

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

Источник

Какие микроконтроллеры можно программировать через ардуино

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Добавляем поддержку не родных м/к в среду Arduino IDE

Серия микроконтроллеров ATtiny

attiny13,attiny2313, attiny45, attiny44,attiny85, attiny84, attiny25, attiny24, attiny4313

Цоколевка микроконтроллеров

Для программирования ATtiny 13/25/45/85 подключим его к нашему программатору согласно даташиту:

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

У ATtiny 2313 и 4313 другая цоколевка,но подключается так же:

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Настройка Arduino IDE для микроконтроллеров ATtiny

Для этого необходимо дописать нужные микроконтроллеры в файл boards.txt и распаковать архив arduino-tiny в папку папка_arduino/hardware/arduino/

Последнюю версию arduino-tiny можно найти тут.

###########################################################################
attiny85.name=Optiboot ATtiny85 @ 8 MHz (internal osc)
attiny85.upload.protocol=arduino
attiny85.upload.speed=9600
#bootloader takes up last 10 pages, so there is a limit on the max size.
attiny85.upload.maximum_size=7616
attiny85.bootloader.low_fuses=0xE2
attiny85.bootloader.high_fuses=0xD7
attiny85.bootloader.extended_fuses=0xFE
attiny85.bootloader.path=optiboot
attiny85.bootloader.file=optiboot_attiny85.hex
attiny85.build.mcu=attiny85
attiny85.build.f_cpu=8000000L
attiny85.build.core=tiny
attiny85.build.variant=tinyX5
# вариант c частотой внутренного генератора 8 мгц.
###########################################################################

и добавляем в список boards.txt:

attiny13.name=ATtiny13 (internal 9.6 MHz clock)
attiny13.bootloader.low_fuses=0x7a
attiny13.bootloader.high_fuses=0xff
attiny13.upload.maximum_size=1024
attiny13.build.mcu=attiny13
attiny13.build.f_cpu=9600000L
attiny13.build.core=core13
attiny13.build.variant=tiny8

Сейчас мы можем программировать добавленные микроконтроллеры через плату Arduno или USBasp.

Другие микроконтроллеры ATmega

ATmega8 без загрузчика

Чтобы добавить м/к ATmega8 без загрузчика добавляем в boards.txt следущий текст:

Расмотрим пример на микроконтроллере ATmega32:

Расшифруем основные из них:

Обратите внимание,что новый м/к запрограммирован работать от внутреннего генератора и при прошивке загрузчика (через меню сервис-> записать загрузчик) поменяются фьюзы на режим от внешнего кварца.Загрузчик прошивать не обязательно,если Вы не хотите Заливать скетчи через последовательный порт.Перед прошивкой загрузчика можно поправить фьюзы в файле board.txt в строках bootloader.low_fuses и bootloader.high_fuses используя калькулятор фьзов.

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.

Источник

Какие микроконтроллеры можно программировать через ардуино

Часто можно слышать отзывы об Arduino, что это дорого, неэффективно, профанация идеи и т.п. Если задуматься, то окажется, что во многом эта критика справедлива. Одним Arduino сыт не будешь. Если мне требуется микроконтроллер для чего-то простого, например: дисплей и пара кнопок, то использование для такой тривиальной задачи Arduino, действительно можно сравнить с забиванием гвоздей электронным микроскопом. Но если отбросить эмоции и подумать, что наиболее ценное в Arduino-проектах? На мой взгляд, это колоссальный объем открытого кода написанного под различные проекты. Называя вещи своими именами, я не хочу писать с нуля программу для работы микроконтроллера с дисплеем, я хочу использовать уже готовую библиотеку, которую я использовал для Arduino. И не потому что мне «слабо», а потому что я не вижу смысла в изобретении еще одного велосипеда.

О портировании проектов Arduino для “младшего” семейства микроконтроллеров AVR ATtiny пойдет речь в этом посте.

Из литератуты рекомендую почитать книгу: Андрей Евстифеев «Микроконтроллеры AVR семейства Tiny»

Arduino использует старшее семейство микроконтроллеров ATmega. Портируя программы на ATtiny придется отказаться от некоторых плюшек. Что мы теряем кроме меньшей памяти и меньшего количества ног? Отказаться придется от UART и I2C интерфейсов(ATtiny2313 это по сути не совсем ATtiny). Если вас это не пугает, то идем дальше.

У меня под рукой оказался ATtiny45
какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Источник

Превращаем Arduino в полноценный AVRISP программатор

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

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

Меня уже давно спрашивают — можно ли прошивать hex файлы при помощи Arduino? Изменять фьюзы? Считывать прошивку? И всякое такое… Ответ — можно, и я сегодня вам расскажу, как я это делаю.

(Данное видео дублирует представленную ниже информацию)

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

Небольшая предыстория:
Одного прекрасного дня, я наткнулся на отличный проект на ATtiny13, но увы автор выгрузил в сеть только hex-файл и схему, ну и конечно же, я так и не смог его попробовать в железе. Меня этот вопрос мучил всё больше и больше, и тут я случайно наткнулся на одно видео в сети, где автор утверждал, что он при помощи Arduino прошил другой микроконтроллер, имея только hex-файл, ну и схему, само собой. Именно он мне подсказал — используй SinaProg, но с Arduino’вскими файлами…

Загуглив на тему SinaProg, я скачал SinaProg 2.1.1.RUS, но он работать отказывался с Arduino, потому я закинул пару-тройку файлов из Arduino IDE в папку SinaProg 2.1.1\data\ и всё заработало.

Пройдёмся коротко по возможностям софта:

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

В блоке Hex-file выбираем hex или eep(первый — прошивка, второй — содержимое энергонезависимой памяти).

А той части, где кнопка «>», мы можем видеть всякие сообщения, типа «OK», или «ERROR», сама же кнопка «>» открывает логи Avrdude.

В блоке Flash есть кнопки:

Program — запись hex-файла в микроконтроллер(возможно, когда выбран Hex-file);
Verify — проверка прошивки, что в микроконтроллере, и hex-файла(проще говоря, их сравнение), если всё норм — программа говорит OK;
Read — считать hex-файл.

С блоком EEPROM всё по аналогии.

Далее блок Device, тут можно выбрать нужный микроконтроллер, вот весь список поддерживаемых(список выдрал из файла Device.txt, который лежит в папке SinaProg 2.1.1\data\):

Шутка, вон их сколько:

AT90CAN128
AT90CAN32
AT90CAN64
AT90PWM2
AT90PWM2B
AT90PWM3
AT90PWM3B
AT90USB1286
AT90USB1287
AT90USB162
AT90USB646
AT90USB647
AT90USB82
AT90s1200
AT90s2313
AT90s2323
AT90s2333
AT90s2343
AT90s4414
AT90s4433
AT90s4434
AT90s8515
AT90s8535
ATmega103
ATmega128
ATmega1280
ATmega1281
ATmega1284P
ATmega128RFA1
ATmega16
ATmega161
ATmega162
ATmega163
ATmega164P
ATmega168
ATmega169
ATmega2560
ATmega2561
ATmega32
ATmega324P
ATmega325
ATmega3250
ATmega328P
ATmega329
ATmega3290
ATmega3290P
ATmega329P
ATmega48
ATmega64
ATmega640
ATmega644
ATmega644P
ATmega645
ATmega6450
ATmega649
ATmega6490
ATmega8
ATmega8515
ATmega8535
ATmega88
ATtiny11
ATtiny12
ATtiny13
ATtiny15
ATtiny22 2343
ATtiny2313
ATtiny24
ATtiny25
ATtiny26
ATtiny261
ATtiny44
ATtiny45
ATtiny461
ATtiny84
ATtiny85
ATtiny861
ATtiny88
ATxmega64A1
ATxmega128A1
ATxmega128A1D
ATxmega192A1
ATxmega256A1
ATxmega64A3
ATxmega128A3
ATxmega192A3
ATxmega256A3
ATxmega256A3B
ATxmega16A4
ATxmega32A4
ATxmega64A4
ATxmega128A4

Как видите, есть все популярные микроконтроллеры фирмы ATmel, в частности ATmega328P, ATmega8, ATtiny13, ATtiny2313 и всякие другие…

Далее — кнопка Search, если её нажать, то программа попытается прочитать сигнатуры того микроконтроллера, который подключен к программатору, проще говоря, поищет микроконтроллер. Потом может ответить „OK“ или „ERROR“ в информационном блоке, если всё нормально, или нет, соответственно.

В блоке Fuses есть предустановки для ATmega8 для работы на разных частотах, но, увы, только для ATmega8 и ATmega32, можно добавить в файле Fuse.txt (который лежит в папке SinaProg 2.1.1\data\).

Есть кнопка Program — записать предустановки, смотрим на абзац выше.

А так же Advanced — лихая кнопка, после её нажатия можно увидеть вот такое окно:

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Device signature — какие-то циферки, я так понял это идентификатор микроконтроллера, по ним программа опознаёт, что за микроконтроллер мы ей суём.

Информационная часть, всё как выше.

Чуть ниже идут фьюзы… если уж зачешется, то не забывайте их сначала считать кнопкой Read(чтобы не нарочно изменить важные фьюзы, например «SPIEN» или «RSTDSBL»), записать фьюзы — кнопка Write, кнопка Chip Erase стирает микроконтроллер, что-то примерно напоминает — форматирование флешки на компьютере(но фьюзы не устанавливаются по умолчанию, так что забывать об этом не стоит).

Пару слов о фьюз-битах — это такие как бы тонкие подстройки микроконтроллера, то частоту поднять, то убавить, то вкл/выкл тактирование от внутренней RC цепочки то ещё что-то… в общем, туда лезть только в крайнем случае, иначе можно заблокировать микроконтроллер(нашаманить так, что перестанет работать, серьёзно), и уже без Atmega fusebit doctor никак.

Вот первая ссылка с гугла по запросу «калькулятор фьюзов», но предупреждаю, тыкать что-то там, не зная зачем оно, и потом это записывать в микроконтроллер — ни к чему хорошему не приведёт, я-то знаю.

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

Итак, последний блок основного окна программы — Programmer, тут выбирается тип программатора, если вы используете Arduino в качестве программатора — ставьте всё, как у меня на скрине, только не COM19, это у меня такой, у вас, наверное, будет другой, в любом случае точно не COM1, первый это системный, актуален только для программаторов, которые подключаются к реальному COM порту, например, Программатор Громова. На ноутбуке COM-порта может не быть, а на компьютерах, как правило, COM-порт ещё есть, особенно тех, что постарше. Можно использовать и другой программатор, к примеру, USBASP, только не забываем выбрать его в списке, скорость для него я ставлю такую же как и в случае с AVRISP.

Список поддерживаемых программаторов:

Gromov
USBtiny
ALF
Arduino
AT ISP
AVR109
AVR910
AVR911
AVRISP
AVRISP 2
AVRISP mkII
AVRISP v2
Bascom
Blaster
BSD
Butterfly
C2N232I
DAPA
DASA
DASA 3
Dragon_DW
Dragon_HVSP
Dragon_ISP
Dragon_JTAG
Dragon_PP
DT006
ERE-ISP-AVR
Frank-STK200
Futurlec
JTAG 1
JTAG 1Slow
JTAG 2Slow
JTAG 2
JTAG 2Fast
JTAG 2ISP
JTAG 2dW
JTAG mkI
JTAG mkII
MIB510
pAVR
Picoweb
Pony-STK200
ponyser
SI Prog
SP12
STK200
STK500
STK500 HVSP
STK500 PP
STK500 v1
STK500 v2
STK600
STK600 HVSP
STK600 PP
USBasp
Xil

Лично я тестировал только на программаторах AVRISP(Arduino с прошитым скетчем ArduinoISP) и USBasp, на двух микроконтроллерах — ATmega8 и ATtiny13.

Чтобы можно было шить/читать/изменять фьюзы/ убить микроконтроллер при помощи Arduino, предварительно нужно зашить скетч ArduinoISP, подключив всё, как я писал, например вот тут:

Если в двух словах, то подключаем пины Reset, MOSI, MISO, SCK микроконтроллера, который будем прошивать/считывать прошивку/изменять фьюзы так, как указано в скетче в комментариях, а именно:

Вот пример подключения к ардуине ATmega8:

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Ну и по аналогии… Ищем карту пинов, например, в даташите (техдокументация на МК) интересующего нас микроконтроллера, вот, к примеру, первая ссылка из гугла по запросу «ATmega8 pdf».

PS У меня было такое, что ATtiny13 перестала прошиваться, на попытки её программирования, после того, как я попробовал запустить её на частоте 128 kHz, откопал где-то вот такой, слегка модифицированный код ArduinoISP который заставляет прошивку/изменение фьюзов происходить медленнее в несколько раз и может ещё какая-то магия, не разбирался, честно.

Источник

Программирование микроконтроллеров AVR с помощью Arduino на примере ATmega8

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

В семействе AVR огромное множество микроконтроллеров на любой вкус. Для стандарт tinyAVR (ATtinyxxx) характерны небольшое количество флеш-памяти (до 16 килобайт) и количество линий ввода-вывода в совокупности с низким энергопотреблением, а для стандарта megaAVR (ATmegaxxx) доступно уже до 256 килобайт памяти и до сотни портов ввода-вывода (зависит от модели МК), так же доступна расширенная система команд и периферийных устройств. Сегодня будем прошивать ATmega8, цифра 8 в названии говорит нам о том, что у этого микроконтроллера 8 килобайт встроенной памяти. На картинке ниже расписаны выводы микроконтроллера в DIP корпусе. Кстати у ATmega48/88/168/328 выводы расположены аналогичным образом.

Для прошивки нашего микроконтроллера понадобятся его порты последовательного периферийного интерфейса (SPI — Serial Peripheral Interface) — это синхронный протокол последовательной передачи данных, используемый для связи микроконтроллера с одним или несколькими периферийными устройствами. В нашем случае это выводы:

В первую очередь необходимо из ардуинки сделать программатор, в этом нет ничего сложного, нужно просто загрузить в неё код из готового примера «ArduinoISP».

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

После его загрузки в плату (кстати я буду использовать Arduino UNO для наглядности, но это не принципиально, можно и другую) в меню Инструменты — >>Программатор необходимо выбрать «Arduino as ISP».

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Дальнейшие действия по подключению МК к Ардуинке описаны в комментариях к коду который мы в неё загрузили, а именно подключаем следующие пины:

Дополнительно подключим на нулевой цифровой выход ATmega8 (вторая ножка микросхемы) светодиод через токоограничивающий резистор на 220 Ом, для наглядного подтверждения того, что микроконтроллер работает.

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

// 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

Как видно из описания примера «Arduino ISP» к 7, 8 и 9-му пинам платы Ардуино можно подключить информационные светодиоды (через резисторы) отображающие ход работы программатора, но это по желанию.

Теперь почти всё готово, осталось только сообщить среде программирования, что именно мы собираемся прошивать. Для этого нужно добавить нашу ATmega8 в среду разработки Arduino IDE, тоесть нужно установить так называемое ядро, или как оно называется в самой IDE – плату.

MiniCore – ядро для поддержки микроконтроллеров ATmega328, ATmega168, ATmega88, ATmega48 и ATmega8, для его установки нажимаем Файл —>> Настройки и в открывшемся окне ищем строчку: «Дополнительные ссылки для менеджера плат:», в это поле необходимо ввести ссылку:

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Далее заходим в Инструменты —>> Плата —>> Менеджер плат находим и устанавливаем нужное ядро.

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

После всех манипуляций в менеджере плат должно появиться следующее:

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

В качестве платы выбираем нашу ATmega8, параметр «Clock:» устанавливаем «Internal 8 MHz», так МК будет работать от внутреннего генератора.

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Все готово! Теперь подключаем плату Ардуино к компьютеру и не забыв выбрать нужный COM порт, выбираем в меню «Инструменты» пункт «Записать загрузчик».

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Теперь МК знает от какого генератора и на какой частоте ему работать, можно загружать в него свои программы. Для примера загрузим классическую мигалку, только поменяем порт вывода на нулевой (вторая нога МК), именно к нему по схеме мы подключили светодиод.

void setup() <
pinMode(0, OUTPUT);
>

void loop() <
digitalWrite(0, HIGH);
delay(1000);
digitalWrite(0, LOW);
delay(1000);
>

Загружать нужно не кнопкой как обычно, а через меню Скетч —>> Загрузить через программатор, если все сделано правильно, то светодиод начнет мигать.

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

В Arduino IDE можно прошить ATmega8 и без установки дополнительных плат, выбрав в качестве платы «Arduino NG or older» и в качестве процессора «aTmega8». Но в таком случае не будет возможности выбора от какого генератора (внешнего или внутреннего) и на какой частоте будет работать МК, а работать он будет от внешнего генератора на чистоте 16 MGz, и перезаписать его настройки в дальнейшем без подключения кварцевого резонатора к выводам 9 и 10 будет невозможно, будьте внимательны!

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

какие микроконтроллеры можно программировать через ардуино. Смотреть фото какие микроконтроллеры можно программировать через ардуино. Смотреть картинку какие микроконтроллеры можно программировать через ардуино. Картинка про какие микроконтроллеры можно программировать через ардуино. Фото какие микроконтроллеры можно программировать через ардуино

Ну и напоследок приведу ссылки на ядра для работы с микроконтроллерами серии ATtiny, устанавливаются они аналогично MiniCore:

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *