Самодельный Arduino из контроллера ATMEGA328P-PU

Контроллер ATMEGA328P-PUПлатформа Arduino стала нынче практически мейнстримом.
В этой статье напишу о том, как собрать минимальную платформу на контроллере Amega 328P-PU, чтобы ее можно было программировать на платформе Arduino IDE.

Контроллер Atmega 328 от компании ATMEL является сердцем платформ Arduino UNO , Arduino Nano, Arduino Pro Mini и ряда других. Данные платы вместе с многочисленными «шилдами» и модулями удобны для создания прототипов, но довольно громоздки и избыточны для готовых устройств.

Конечное устройство можно собрать на макетной или печатной плате. Для этого приобретаем контроллеры Atmega. Я покупал наплощадке aliexpress.com.

Цена на момент покупки была $20 за 10 контроллеров, 10 панелек и 10 кварцевых резонаторов на 16МГц. (Сейчас цена стала немного дороже)

Ссылка на товар на сайте aliexpress.com

 

Буковка «P» в названии микросхемы означает низкое энергопотребление, а PU-корпус DIP28, который удобно паять обычным паяльником.

Контроллеры ATMEGA328P-PU с панельками и кварцами
Контроллер ATMEGA328P-PU. Комплет

Контроллеры пришли, как их теперь готовить?

Yеобходимо установить загрузчик в наши контроллеры. Для этого используем плату Arduino Uno и купленный заранее очень дешевый программатор USBasp. Чтобы не мудрить с проводками, лучше сразу взять еще и такой переходник на 6-ти пиновый разъем ICSP.

Качаем и ставим драйвер программатора.

Описываем параметры микроконтроллера в файле c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt

Для себя я сделал две конфигурации — внутренний кварц 8МГц с загрузчиком optiboot и отключенной проверкой на напряжение питания (чтобы можно было запитать микросхему вольт так от трех)

atmega328_8_33.name=Atmega328 (3.3V, 8 MHz internal)

atmega328_8_33.upload.protocol=arduino
atmega328_8_33.upload.maximum_size=30720
#atmega328_8_33.upload.speed=19200
atmega328_8_33.upload.speed=57600

atmega328_8_33.bootloader.low_fuses=0xC2
atmega328_8_33.bootloader.low_fuses=0xE2
atmega328_8_33.bootloader.high_fuses=0xDE
atmega328_8_33.bootloader.extended_fuses=0x07
atmega328_8_33.bootloader.path=optiboot
atmega328_8_33.bootloader.file=optiboot_atmega328.hex
atmega328_8_33.bootloader.unlock_bits=0x3F
atmega328_8_33.bootloader.lock_bits=0x0F

atmega328_8_33.build.mcu=atmega328p
atmega328_8_33.build.f_cpu=8000000L
atmega328_8_33.build.core=arduino
atmega328_8_33.build.variant=standard

и точная такая же с внешним кварцевым резонатором на 16МГц.

atmega328_16.name=Atmega328_16 (3.3V, 16 MHz external)

atmega328_16.upload.protocol=arduino
atmega328_16.upload.maximum_size=32256
atmega328_16.upload.speed=115200
atmega328_16.bootloader.low_fuses=0xff
atmega328_16.bootloader.high_fuses=0xde
atmega328_16.bootloader.extended_fuses=0x07
atmega328_16.bootloader.path=optiboot
atmega328_16.bootloader.file=optiboot_atmega328.hex
atmega328_16.bootloader.unlock_bits=0x3F
atmega328_16.bootloader.lock_bits=0x0F
atmega328_16.build.mcu=atmega328p
atmega328_16.build.f_cpu=16000000L
atmega328_16.build.core=arduino
atmega328_16.build.variant=standard

Аккуратно вынимаем из панельки Arduino контроллер и ставим туда наш.

Программатор USBASP + Arduino UNO

Запускам стандартную ArduinoIDE, выбираем в меню «Сервис->Программатор->USBasp», плату Atmega328 (3.3V, 8 MHz internal) или Atmega328_16 (3.3V, 16 MHz external) и нажимаем «Записать загрузчик». После окончания процесса загрузки мы получаем контроллер,  в который можно уже в дальнейшем заливать программы через стандартный USB Ардуины.

В принципе, если вам не требуется низковольтное питание, можно не править фал board.txt, а пошить контроллер как Arduino Uno.

Дальнейшая работа с контроллером такая — либо шить его вставляя на плату Arduino Uno через стандартный USB порт этой платы. Прошив контроллер на работу с внутренним кварцем, можно сразу использовать его практически без всякой обвязки. Например, мигать светодиодом на 13-м порту, как на этой картинке.

Самодельный Arduino из контроллера ATMEGA328P-PU

Если же нужно постоянно использовать контроллер в своей плате, не переставляя его — то нужно собрать такую схему

Самодельный Arduino из контроллера ATMEGA328P-PU. Схема

и прошивать его через конвертер USB-RS232.

Контроллер с внешним кварцем работает быстрее и гораздо стабильнее.

Где это уже работает?
Контроллер управления вентилятором в ванной комнате

101

Контроллер управления светодиодной люстрой

102

А как же мозг не вскипел все это реализовывать?

Ну конечно же был помощник

Самодельный Arduino из контроллера ATMEGA328P-PU. Помощник

Полезные ссылки к данной статье:

 

 

 

 

Вы можете оставить отзыв или трекбек со своего сайта.

59 комментариев на «Самодельный Arduino из контроллера ATMEGA328P-PU»

  1. Я так понял есть 2 способа шить старый через RS232 протокол тогда и Arduino не пригодится, и второй через Arduino, что бы не паять схему используем Arduino UNO. Просто не совсем пойму 2 способ зачем если платка Arduino продается в сборе. А если уж и собираемся паять другую схему то это максимум для отладки, почему сразу нельзя было отлаживать в плате Arduino и не паять лишнее.

  2. Alexey Alexey:

    Способы собственно такие:
    Шить через загрузчик Arduino или программатором
    У Arduino это Serial интерфейс или ICSP которые живут на разных ногах МК
    Все остальное, это нюансы разводки по платам.

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

  3. Вадим:

    добрый день! вы писали про 2 способ — и прошивать его через конвертер USB-RS232.
    а как конкретно с какой программой ? можно подробнее про это?

    • Alexey Alexey:

      Arduino IDE или любой другой, работающей с Arduino.
      При таком подключении. Конвертер подключить RX/TX/GND и шить как обычную Ардуину.
      Только RESET не забывать нажимать. Или конвертер с выходом RESET использовать.

  4. вадим:

    всмысле нажимать reset ? ничего не понял(

    • Alexey Alexey:

      После нажатия RESET программа, находящаяся в загрузчике ждет некоторое время начала загрузки новой программы с последовательного порта.
      Если ничего с порта не пришло, запускается программа, загруженная ранее.
      То есть для программирования нужно перед самой загрузкой нажать RESET. Более навороченные программаторы, например такой, имеют дополнительную ногу DTR, которую можно подключить к RESET входу микроконтроллера и тогда нажимать RESET вручную не нужно.
      Это все относится к контроллерам без встроенного преобразователя USB/SERIAL, например Arduino Pro Mini и к самодельным из этой статьи.

  5. вадим:

    помоги Алексей! в общем у меня щас такой программатор собран http://dxportal.ru/shemy/programmatory/3454-programmator-na-ft232rl-bez-upravlyayuschego-mk.html.
    загрузчик залил через него прогой sina prog. потом запустил ардуино иде, потключил к меге 328 rx И Tx зеркально. и попробовал залить через ардуино иде и этот программатор скетч. в итоге выходит такая ошибка.
    http://s019.radikal.ru/i621/1411/64/26e1eb57c1fa.jpg
    как починить что я делаю не так?
    когда подключил програматор появился ком порт как полагается. в Иде выбрал его, выбрал плату ардуино уно, программматор arduino as is и другие пробовал не пашут.
    помогите!

    • Alexey Alexey:

      Такая ошибка возникает, когда в нужное время загрузчик контроллера не выдает готовность загрузки скетча
      Причины — или загрузчик записался с ошибкой (может быть фьюзы выставлены не правильно) или тип контроллера не соответствует
      В первом случае снова переписать загрузчик программатором или загружать скетчи программатором без загрузчика. Во втором, подобрать тип контроллера или создать свой тип в файлt Board.txt

  6. Юрий:

    Добрый день! Спасибо вам огромное, целый день промучился пытаясь запустить свой ATMega328P-PU на внутреннем 8MHz резонаторе под напряжением 3.3V.

    • Alexey Alexey:

      Получилось?
      С завода 328 вроде сразу идут под внутренний кварц, только загрузчик поставить

  7. Vlad:

    подключаю к своему самодельному ардуино вот такой програматор http://ru.aliexpress.com/item/FREE-SHIPPING-2PCS-LOT-CP2102-USB-2-0-to-UART-TTL-6PIN-Connector-Module-Serial-Converter/1095621364.html
    Обмен данными идет, даже после компиляции резетит платку, а при выгрузке выдает ошибку: avrdude: stk500_recv(): programmer is not responding. Может знаете куда копать.

    • Alexey Alexey:

      1. Не проходит RESET в заданное время
      2. Настройки в board.txt не соответствуют
      3. Загрузчик в Ардуину не встал или встал с ошибкой

  8. Максим:

    Добрый день. Спасибо за статью! Очень помогла, так как нужна была компактная схема, без дополнительных элементов. Проковырялся весь день, но всё таки запустил свою ATmega 328P-PU от 3 вольт и на внутреннем резонаторе. Но вот возник один ньюанс. Через Arduino nano заливаются скетчи в МК, а вот через USB TTL не могу залить, стандартная ошибочка — avrdude: stk500_getsync(): not in sync: resp=0x00. Насколько я понял, раз через Arduino nano я могу заливать скетчи, значит фьюзы правильно подобрал. Фьюзы поставил (0xE2 0xDE 0x05). Резет пробовал и с USB TTL и ручной ставил, не помогает. Подскажите, что может быть?

  9. Alexey Alexey:

    А через NANO заливается через серийный интерфейс или ICSP ?

  10. Alexey Alexey:

    Отладка на Serial идет?

    Ну тогда либо загрузчик не записался
    Либо описание в board.txt косячное, например, начальный адрес загрузчика или скорость

  11. Максим:

    вот что добавил в board.txt, заливка загрузчика проходит успешно.

    atmega328_8.name=Atmega 328p (3.3V, 8 MHz internal)

    atmega328_8.upload.protocol=arduino
    atmega328_8.upload.maximum_size=30720
    atmega328_8.upload.speed=57600

    atmega328_8.bootloader.low_fuses=0xE2
    atmega328_8.bootloader.high_fuses=0xDE
    atmega328_8.bootloader.extended_fuses=0x05
    atmega328_8.bootloader.path=optiboot
    atmega328_8.bootloader.file=optiboot_atmega328.hex
    atmega328_8.bootloader.unlock_bits=0x3F
    atmega328_8.bootloader.lock_bits=0x0F

    atmega328_8.build.mcu=atmega328p
    atmega328_8.build.f_cpu=8000000L
    atmega328_8.build.core=arduino
    atmega328_8.build.variant=standard

  12. Alexey Alexey:

    Я такой загружал

    atmega328_8_33.name=Atmega328 (3.3V, 8 MHz internal)

    atmega328_8_33.upload.protocol=arduino
    atmega328_8_33.upload.maximum_size=30720
    atmega328_8_33.upload.speed=57600

    atmega328_8_33.bootloader.low_fuses=0xC2
    atmega328_8_33.bootloader.high_fuses=0xDE
    atmega328_8_33.bootloader.extended_fuses=0x07
    atmega328_8_33.bootloader.path=optiboot
    atmega328_8_33.bootloader.file=optiboot_atmega328.hex
    atmega328_8_33.bootloader.unlock_bits=0x3F
    atmega328_8_33.bootloader.lock_bits=0x0F

    atmega328_8_33.build.mcu=atmega328p
    atmega328_8_33.build.f_cpu=8000000L
    atmega328_8_33.build.core=arduino
    atmega328_8_33.build.variant=standard

  13. Дмитрий:

    Тоже подумываю об использовании МК, вместо Ардуины. В этом деле пока новичок и возникло несколько вопросов:
    1)Если запитать ее от например 3 вольт, то у нее логическая единица будет 3 вольта?
    2)В чем выражается нестабильность работы внутреннего кварца? Частота зависит от температуры и т.п.? В результате будут врать функции связанные с вычислением времени?
    3)Собственно главное — какой выигрыш получится в энергопотреблении? Например, сколько потребляет МК, к которому ничего не подключено и он не в спящем режиме?

    • Alexey Alexey:

      1. Да. Кстати, работа микроконтроллера на частоте 16МГц может быть нестабильной при 3В, так как по даташиту напряжение на этой частоте должно быть от 4.5В
      На деле все контроллеры работают от 3.3В.
      2. Внутренний RC-генератор у Atmegи имеет стабильность 5%. Для многих устройств, управляемых по частоте этого может оказаться мало для стабильной работы
      3. Я достигал минимального энергопотребленение в 30мкА. Если это важно, я думаю, нужно переходить на более экономные контроллеры. Теже Atiny, yfghbvth

  14. Сергей:

    всё хорошо но где взять optiboot_atmega328.hex, у меня такого нет в библиотеки

    • Alexey Alexey:

      Ардуино IDE его сюда складывает
      c:\Program Files (x86)\Arduino\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.hex

  15. Сергей:

    так поучилось что мне надо собрать низкогерцовую компактную ардуино выбрал 328 чип как один из ёмких и не сложных а вот с кварцем беда нигде у нас не продают СМД а для лодочки уже нет места, решил попробовать без кварца ищё способы как сделать правильно и не запороть всё.
    В статье http://www.arduino.cc/en/Tutorial/ArduinoToBreadboard прошивка без кварца выглядит иначе
    ##############################################################

    atmega328bb.name=ATmega328 on a breadboard (8 MHz internal clock)

    atmega328bb.upload.protocol=stk500
    atmega328bb.upload.maximum_size=30720
    atmega328bb.upload.speed=57600

    atmega328bb.bootloader.low_fuses=0xE2
    atmega328bb.bootloader.high_fuses=0xDA
    atmega328bb.bootloader.extended_fuses=0x05
    atmega328bb.bootloader.path=arduino:atmega
    atmega328bb.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
    atmega328bb.bootloader.unlock_bits=0x3F
    atmega328bb.bootloader.lock_bits=0x0F

    atmega328bb.build.mcu=atmega328p
    atmega328bb.build.f_cpu=8000000L
    atmega328bb.build.core=arduino:arduino
    atmega328bb.build.variant=arduino:standard

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

    • Alexey Alexey:

      По вашему описанию ничего не скажу — нужно пробовать. У меня на 8МГц с внутренним генератором такая работает:

      ##############################################################

      atmega328_8_33.name=Atmega328 (3.3V, 8 MHz internal)

      atmega328_8_33.upload.protocol=arduino
      atmega328_8_33.upload.maximum_size=30720
      #atmega328_8_33.upload.speed=19200
      atmega328_8_33.upload.speed=57600

      atmega328_8_33.bootloader.low_fuses=0xC2
      ##atmega328_8_33.bootloader.low_fuses=0xE2
      atmega328_8_33.bootloader.high_fuses=0xDE
      atmega328_8_33.bootloader.extended_fuses=0x07
      atmega328_8_33.bootloader.path=optiboot
      atmega328_8_33.bootloader.file=optiboot_atmega328.hex
      atmega328_8_33.bootloader.unlock_bits=0x3F
      atmega328_8_33.bootloader.lock_bits=0x0F

      atmega328_8_33.build.mcu=atmega328p
      atmega328_8_33.build.f_cpu=8000000L
      atmega328_8_33.build.core=arduino
      atmega328_8_33.build.variant=standard

      Загрузчик в ЧИП можно перепрошивать программатором сколько хотите даже если предыдущий загрузчик мертвый и программы не заливаются

  16. Сергей:

    Arduino: 1.6.3 (Windows 7), Плата»Atmega328 (3.3V, 8 MHz internal)»

    Ошибка при загрузке бутлоадера: пропущен ‘bootloader.tool’ параметр конфигурации

    Это сообщение будет содержать больше информации чем
    «Отображать вывод во время компиляции»
    включено в Файл > Настройки

    такое выводит на обе конфигурации, это не может быть причиной из за версии
    моя 1,6,3

    файл у меня по этому пути

    c:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot\optiboot_atmega328.hex

    • Alexey Alexey:

      Ну так это фишка новой версии 1.6
      добавьте
      atmega328_8_33.upload.tool=arduino:avrdude
      atmega328_8_33.bootloader.tool=arduino:avrdude

      или

      atmega328bb.upload.tool=arduino:avrdude
      atmega328bb.bootloader.tool=arduino:avrdude

  17. Сергей:

    спасибо что помогли, но всё же не обошлось без аксесов, первое надо было уровнять скорости записи в скетче и конфигурации 19200, потом перенести файл
    c:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot\optiboot_atmega328.hex отсуда
    c:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot_atmega328.hex суда, так и не понял где это прописано
    сильно помогла эта статья http://habrahabr.ru/post/222201/ также я без труда залил скетч ничего не меняя
    правда вопрос у чипа есть RX TX специальные входы для такого дела можно ли с помощью ардуино нано заливать не боясь испортить нанку, всех примерах что я видел с УНО там снимают чип, что в моём случаи проблематично

    • Alexey Alexey:

      UNO и NANO имеют в основе один и тот же чип. Atmega 238p. В разных корпусах (иногда)
      Про «специальные выводы» вы имеете ICSP для загрузки через программатор?
      Тогда делайте так
      NANO от MINI только наличием UAST/USB конвертора отличается. ICSP там к тем же самым выводам нужно подключать

  18. Сергей:

    я имел ввиду именно TX/RX так получилось что выводы 10/11/13 заняты радио модулем по умолчанию и поменять их я не могу у меня есть такой программатор http://www.aliexpress.com/snapshot/6501724803.html?orderId=65862962673917 или ардуино нано этими вещами можно заливать скетч через TX/RX ?

  19. Сергей:

    может гуру выручит советом ещё раз
    задумал переписть загрузчик на атмеге 328 на внешний кварц для эксперимента
    но ничего не вышло, думал запорол старый загрузчик, при попытки вернуть с внутренним кварцем тоже не вышло
    Arduino: 1.6.3 (Windows 7), Плата»Atmega328 (3.3V, 8 MHz internal)»

    avrdude: Yikes! Invalid device signature.

    Double check connections and try again, or use -F to override

    this check.

    Ошибка при записи загрузчика

    Это сообщение будет содержать больше информации чем
    «Отображать вывод во время компиляции»
    включено в Файл > Настройки

    ничего не менял в настройках до этого всё прекрастно работало порой выдаёт такое
    stk500_disable() unknown response=0x12,
    я уже в оканцовку запутался

  20. Сергей:

    я либо какой то особенный лили делаю что то не то, 3 способа записи бутлодера не один не реагировал, но я ими писал загрузчик, взял ардыну типа уны у друга и через неё залил, причём точно так как и заливал до этого другой, обе рабочие…… что я упускаю, это может быть питание или какая то другая особенность?

  21. Calvin:

    что означает ошибка :
    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override this check.

    помогите пожалуйста !!

  22. Сергей:

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

  23. Александр:

    Интересный пример, который сподвиг меня на повторение. Попробовал — получилось.
    Но есть НО!
    В описании фьюзов у вас есть косяк:
    atmega328_8_33.bootloader.low_fuses=0xC2
    atmega328_8_33.bootloader.low_fuses=0xE2
    Я понимаю что действует последний, но все же с толку сбивает.
    Еще меня смущает то, что для 8МГц (внутренний генератор) используется тот же загрузчик (optiboot_atmega328.hex), что и для 16МГц (кварц). Я конечно пробовал подставить другой (который для Про Мини 8МГц), но с ним воще как то скетчи не грузятся.
    Сделал автономный light-сенсор, бросил его пока на балкон, запитал от 2х АА.

  24. Александр:

    А можно загрузчик переделать на 8 и на 4 Мгц с внешним генератором, нужна стабильность и малое потребление задачи не сложные.

    • Alexey Alexey:

      Нужно выставить правильные фьюз-биты в микроконтроллере
      В частности, CKSEL3…0 = 0111 – от 3 до 8 MHz
      Одновременно нужно отключить контроль напряжения питания BODEN, чтобы можно было его снизить
      Подробнее про фьз-биты можно почитать здесь:
      http://easyelectronics.ru/avr-uchebnyj-kurs-konfiguraciya-fuse-bit.html
      Калькулятор здесь:
      http://www.engbedded.com/fusecalc/

      Далее после расчета фьюзов редактируете их в board.txt для данного типа контроллера, выставляете build.f_cpu=4000000L

      Еще лучше посмотреть в сторону микроконтроллеров ATtiny той же компании с низким потреблением

  25. Олег:

    Собрал схему, как на рисунке, загрузил скетч с миганием, все работает… но, без кондеров по 22 пф. когда их подключаю, диод перестает мигать. Проверил все: менял, прозванивал кондеры, менял кварц и даже атмегу. Подскажите, в чем может быть проблема?

    • Alexey Alexey:

      Может и без кварца у вас работает?
      Тогда у вас контроллер прошит на работу с внутренним резонатором

      • Олег:

        Нет, без кварца не работает. заливал стандартный бутлоадер. напряжение питание 4,9в.

  26. freeneutron:

    ой сори, думал 20$ за 1 ((

  27. Сергей:

    Подскажите,нашел несколько схем на контроллере Amega 328P-PU,суть одна а комплектация разная..в мануалах ничего нет а авторы разработок разных, ставят все по разному..к примеру пару кондеров видел,еще какие то отличия..есть ли единая схема,чтоб подключено все как надо а как буду использовать не важно..даже схемы ардуинок и то с отличиями..

    • Alexey Alexey:

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

      Схемы Ардуинок получаются так. Интальянцы разрабатывают максимально удобную/функцилнальную схема, Китайцы ее потом жестко «модернизируют» с целью удешевления

  28. Anar:

    Здравствуйте. Спасибо большое за статью. Мне нужна конфигурация.на внешний кварц 8 mhz.напряжение 3,3V. Atmega328 (3.3V, 8 MHz external) Буду вам очень признателен. Заранее спасибо.

    • Alexey Alexey:

      В этой статье как раз приводил пример
      http://samopal.pro/board-txt/

      • Anar:

        Я читал именно эту статью. У меня почему то не получается создать меню.

        • Alexey Alexey:


          atmega328_8ext.name=Atmega328 (3.3V, 8 MHz внешний)

          atmega328_8ext.upload.tool=avrdude
          atmega328_8ext.upload.protocol=arduino
          atmega328_8ext.upload.protocol=arduino
          atmega328_8ext.upload.maximum_size=32256
          atmega328_8ext.upload.speed=57600

          atmega328_8ext.bootloader.tool=avrdude
          atmega328_8ext.bootloader.unlock_bits=0x3F
          atmega328_8ext.bootloader.lock_bits=0x0F
          atmega328_8ext.bootloader.path=optiboot
          atmega328_8ext.bootloader.file=optiboot\optiboot_atmega328.hex
          atmega328_8ext.bootloader.low_fuses=0xff
          atmega328_8ext.bootloader.high_fuses=0xde
          atmega328_8ext.bootloader.extended_fuses=0x07

          atmega328_8ext.build.mcu=atmega328p
          atmega328_8ext.build.core=arduino
          atmega328_8ext.build.variant=standard
          atmega328_8ext.build.f_cpu=8000000L

  29. dizzel:

    Скажите а загрузчик можно залить только через саму плату ардуино уно? или еще как-нибудь?

  30. Евгений:

    SevenSegmentDisplay<true, BiDigit > ss(9, 8, 7, 6, 5, 4, 3, 2);
    подскажите почему эту строчку при компиляции выделяет жёлтым и пишет ошибку

  31. Роман:

    Ребят, я новичёк в деле программирования МК и хочу спросить, можно ли через программатор USB — TTL (UART) на микросхеме CH340G программировать контроллеры типа ATMEGA8-16PU-?

  32. Роман:

    «Нужно в мегу записать загрузчик через внутрисхемный программатор», а как это сделать?

Ваш отзыв