Схемы на atmega328p своими руками

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

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

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

Читайте дальше, и вы узнаете, как вы можете делать свои проекты на Ардуино меньше, дешевле и за короткое время.

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

Для этого проекта нам понадобится:

  1. Один работающий Ардуино. Мой магазин на Aliexpress, Banggood.
  2. Один чип ATMEGA328P-PU (Aliexpress, Banggood)
  3. Макетная плата (Aliexpress),
  4. Провода,
  1. LED-светодиод, и
  2. 330 Ом сопротивление для тестов (Aliexpress).

Скачайте и установите софт

На плате Ардуино есть внешний осциллятор с частотой 16 МГц, но на самом деле нам не нужен 16 МГц осциллятор, потому что у Атмеги328 есть встроенный 8МГц осциллятор.

Для того, чтобы Атмега работала в качестве stand-alone микроконтроллера на частоте 8 МГц, нам нужно скачать и установить библиотеку в наш софт Ардуино.

Чтобы это сделать, скачайте архив, который соответствует вашей версии Ардуино. Это будет версия 1-6-x.zip, или 1-5-x.zip or 1-0-x.zip.

Далее нам нужно найти папку, где хранятся программы/скетчи Ардуино. Нажмите File -> Preferences -> Sketchbook Location. В моем случае это будет “C:\Users\tomtomheylen\Documents\Arduino”. В вашем случае это может быть по-другому.

Скопируйте адрес и вставьте его в Проводнике в адресной строке, нажмите Enter.

Если вы видите папку с названием Hardware, откройте ее.

Если нет, нажмите правую кнопку мыши, создайте новую папку, назовите ее Hardware и откройте ее.

Скопируйте содержимое архива в папку Hardware.

Перезапустите ваш софт Ардуино и идите в Tools -> Board

Если все в порядке, вы должны увидеть в списке Atmega 328 on a breadboard (8 MHz internal clock)

Самая сложная часть сделана, теперь давайте повеселимся и закачаем жизни в Атмегу 328.

Прошивка бутлодера

Чтобы прошить бутлоадер, подключите ваш Ардуино к компьютеру, и идите в File -> examples -> ArduinoISP и выберите ArduinoISP. Загрузите эту программу в Ардуино, и отсоедините его от компьютера.

Далее мы соединяем Ардуино с Атмега 328, как показано на картинке.

Обратите внимание на полукруг на чипе. Убедитесь, что он на правильной стороне.

Теперь подключите ваш Ардуино и в софте Ардуино идите в Tools -> Programmer и выберите Arduino as ISP.

Далее идите в Tools -> Board и выберите Atmega328 on a breadboard (8 Mhz internal clock).

Теперь идите в Tools и выберите “Burn bootlader”.

Ваш бутлодер прошит и чип готов к загрузке программ.

Обычно я прошиваю бутлоадеры сразу в несколько чипов Атмега 328, чтобы они были готовы для будущих проектов.

Загрузка программ в Атмега 328

Чтобы загрузить программу, вам нужно вынуть Атмегу 328 из платы Ардуино, и вставить в макетную плату как показано на картинке.

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

На этой картинке показано, какой пин что представляет.

Например, если вы инициализируете пин 13 в софте Ардуино, он представляет пин 13 на плате Ардуино, или пин 13 на чипе Атмега 328, и так далее.

Если вы хотите пойти чуть дальше, вы можете заказать последовательный преобразователь FT232RL (Aliexpress, Banggood), и подключить его как показано на картинке. С софтом Ардуино они работают так же, как Атмега 328.

Готово. Теперь вы знаете, как это делать, и можете начинать делать свои собственные проекты на чипе Атмега.

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

Я хочу закончить это видео несколькими полезными советами:

Хорошая идея, если вы припаяете male или female разъемы к первым 3-м ножкам, тогда вы сможете загружать или изменять программы, которые вы записываете в чип.

Не забудьте, что у проекта должно быть питание 5 Вольт, это может быть что угодно, — power bank, аккумулятор, питание от солнечной батареи или от USB.

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

Наручные часы на ATmega328 и OLED дисплее

Главным стимулом создания этого проекта был вопрос - как много я смог бы втиснуть с точки зрения аппаратного и программного обеспечения в наручные часы, устройство которое не больше по размерам, чем его дисплей. OLED -дисплей был выбран из-за того, что его толщина только 1,5 mm, ему не требуется подсветка (каждый пиксель производит свой собственный свет), но главным образом потому, что он выглядит очень круто.

Первоначально для часов планировалось использовать дисплей 0,96", но это оказалось слишком сложно, чтобы воплотить в нем все свои идеи. Решение увеличить размер экрана до 1,3" было правильным.


Аппаратная реализация

В аппаратной части часы содержат микроконтроллер Atmel ATmega328P, 2,5 V регулятор напряжения Torex, часы реального времени DS3231M(RTC), 1.3" 128x64 монохромный OLED дисплей, 2 светодиода (красный и зеленый), зуммер, 3-х позиционный переключатель для навигации, питание от 150 mAh LiPo аккумулятора, который можно заряжать через USB и 2-х печатных плат(хотя одна используется только для монтажа OLED дисплея).

Принципиальная схема часов

Принципиальная схема часов

ATmega328P использует свой внутренний генератор 8 МГц и работает от 2,5 V линейного регулятора. Ее ток потребления составляет около 1,5 mА при активной и 100 nА в режиме сна.

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

Вы могли заметить, что на схеме светодиоды напрямую связаны с микроконтроллером без резисторов. Внутренние MOSFET микроконтроллера имеют сопротивление около 40 Omh, напряжение с 2,5 V падает до 2 V, что достаточно для питания светодиодов. Мне хотелось использовать синий светодиод, но у него большое падение напряжения, что потребовало бы увеличить напряжение питания до 3 V и ставить некоторые дополнительные резисторы и MOSFET.

Поскольку микроконтроллер работает от 2,5 V чтобы измерить напряжение батареи нужно понизить этот сигнал перед тем как подключить его к АЦП. Для этого используется делитель напряжения. Однако, делитель напряжения подключен параллельно батарее и через него будет постоянно протекать ток 350 uA, а это огромная трата энергии. В этой версии проекта добавлен P-MOSFET, чтобы делитель был включен только при необходимости.

2,5 V регулятор используется марки Torex XC6206, в первую очередь я выбрал его из-за своего крошечного ток покоя, всего 1 uA. Почему выбран линейный регулятор, а не импульсный? КПД у импульсного стабилизатора не менее 80% при нагрузке 2 mА, но с нагрузками 100 uА его эффективность падает до менее чем 50%. Так как потребление устройства в спящем режиме составляет 2-3 uA, импульсный стабилизатор показал себя невероятно плохо по сравнению с линейным регулятором. Эффективность 2,5 V линейного регулятора составляет до 60% с 4,2 V на входе и до 83% с 3 V на входе.


Нижняя сторона платы


Верхняя сторона платы под дисплеем

Программное обеспечение

Итак, мы имеем в нашем распоряжении хороший OLED-дисплей и 32 КB флеш памяти микроконтроллера, конечно же, мы можем иметь больше, чем просто время и дату?

Почти все анимировано

Много времени было потрачено на оптимизацию кода визуализации, который включает в себя копирование растровых изображений с флэш в кадровый буфер оперативной памяти и отправки кадра по SPI на OLED. Конечный результат был способен поддерживать 100 FPS почти во всех областях с частотой генератора микроконтроллера 8 МГц. Однако, поскольку кадр анимации длится определенное время, чтобы сократить расход энергии, частота кадров ограничена до 60 FPS.

Некоторые из основных анимированных кадров:

- CRT анимация при входе и выходе из спящего режима (по аналогии с анимацией Android CRT).
- Цифры главных часов имеют эффект Ticker.
- Меню имеет анимированные прокрутки влево/вправо, при входе в текущее меню, при навигации по меню выше или ниже.

Будильники

- Активация до 10 будильников.
- Количество будильников ограничено только количеством доступных EEPROM и RAM.
- У каждого будильника настраиваются часы, минуты и в какие дни недели он должен быть активным.

Будильники

Игры



Приложения


Фонарик. Включаетвсе пикселиOLEDи

светодиоды, а также имеетрежим


Некоторые возможности:

- 3 канала регулировки громкости для:

Основного режима;
Будильника;
Почасового сигнала.

Регулировка громкости

- Режим ожидания
- Регулировка яркости дисплея
- Анимация

Вы же не собираетесь, от этого отказываться, или может g shock купить спб ?

Энергосбережение

В активном режиме микроконтроллер пытается уйти в режим сна при каждой возможности. В режиме сна контроллер просыпается на миллисекунду чтобы посмотреть нуждается устройство в обновлении, если нет, то он возвращается в режим сна, это обычно занимает менее 100 us, если дисплей не нуждается в обновлении. В этом режиме ток потребления может быть примерно от 0,8 мА до 2 мА, в зависимости от того, как долго высвечивается кадр.

В режиме сна микроконтроллер отключает OLED дисплей и уходит в спящий режим, где его разбудит только нажатие кнопки, сигнал от RTC или при подключении к USB. В этом состоянии микроконтроллер потребляет ничтожные 100 nА.

В спящем режиме общий ток потребления часов 6 uA. В активном режиме ток может варьироваться от 2 мА до более чем 70 мА, средний ток потребления 10 mA.

Общее потребление тока, емкость аккумулятора: 150mAh

Если часы находятся в активном режиме в среднем 1 минуту в день (с 5-секундный тайм-аутом сна и проверкой времени 12 раз в день), то они должны работать около 1 года 4 месяцев на одной зарядке. (30 дней, если часы просыпаются на 1 минуту в час).

Потребление тока для отдельных компонентов

Дальнейшее совершенствование проекта

- Программирование через USB.
На данный момент используются 4 провода для SPI программирования, при частом подключении к разъему программирования, боюсь что он расшатается.

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

- Поддержка различных микроконтроллеров.
Текущая прошивка использует примерно 28 KB из 32 KB свободного места памяти ATmega328P, при использовании других микроконтроллеров с большим объемом памяти, необходимо будет добавить больше возможностей, например калькулятор. Тем не менее, ATmega328P имеет самое большое количество памяти для AVR в 32 контактных TQFP корпусах, чтобы иметь больше памяти я должен был бы использовать 44 контактный AVR. ATmega1284 выглядит очень интересно.

- Импульсный стабилизатор, регулятор подкачки заряда или может быть гибридное решение?
Линейный регулятор который используется в данный момент не является особо эффективным, импульсный регулятор, кажется, не очень хорош при низком токе. Может есть возможность использования регулятора подкачки заряда или гибридное решение - линейным регулятор для неактивного режима и импульсный стабилизатор для активного режима?


вообщем появился в сети улучшенный прибор по измерению полупроводников и всякой прочей лабуды. теперь он также показывает индуктивность, ЕПС конденсаторов и меряет стабилитроны.
для тех кто собрал прибор старой версии можно легко его доделать. изменения минимальны. добавляется ИОН на TL431, кварц с кондерами. также я добавил на всякий случай резистор на 27к от +питания на 13 ногу контроллера



фьюзы в CVAVR (аналогично понипрог) галка=0 (бит активен)

в архиве печать (непроверенная), различная информация о приборе на забугорном языке и прошивка


также добавлю схему включения TL431

номинал резистора приближенный. главное чтобы ток источника опорного напряжения не превышал 10мА

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

вот небольшой фотоотчет
биполярник

полевик

дроссель 20мкГ

дроссель 8мкГ показывать отказался

минимальный кондер 30пФ

кондер 4,7мкФ

100мкФ

330мкФ. то о чем я говорил. начинает завышать в 2,5 раза

1000мкФ

стабилитрон 3,9В

Восьмиканальная цветомузыкальная установка для самостоятельной сборки на микроконтроллере ATmega328p, с использованием элементов поверхностного монтажа (SMD) и микросхем в DIP ( Dual In-line Package) корпусе.

Для реализации данного устройства понадобятся навыки изготовления печатных плат, монтажа SMD компонентов и “прошивания” микроконтроллеров, а так же наличие программатора для AVR микроконтроллеров.

Пример работы

Руководство по эксплуатации

Справочно: Все варианты цветомузыки, представленные в данном разделе являются одним и тем же устройством в разном конструктивном исполнении. Руководство для них идентично.

Принципиальная схема

Устройство можно поделить на несколько основных блоков:

1. Микроконтроллер ATmega328p с обвязкой и элементы управления / индикации устройства.

Принципиальная схема

2. Фильтр низких частот на базе операционного усилителя (ОУ) LM358N

Схема устройства: фильтр на ОУ LM358N

Печатная плата

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

Плату разводил из расчета, что элементы управления и индикации будут прикручиваться/встраиваться в корпус устройства, а соединяться с основной платой будут посредством штыревых разъемов. Тактовые кнопки были предназначены для предварительного бескорпусного тестирования. Особой необходимости их установки нет.

Варианты разводки плат:

Разводка 1 вариант включает:

  • Микропроцессор ATmega328p
  • Фильтр низких частот на ОУ LM358N
  • 3 вывода на кнопки управления (Demo, Fade Speed, Runlight)
  • 3 вывода для индикации скорости затухания (Fade Speed status LED)
  • вывод на светодиодную ленту со светодиодами ws2812b (Dout)
  • стерео вход (Audio IN)
  • вход для микрофонного предусилителя / линейный вход (Mic Amp IN)
  • вывод для индикации наличия питания (Power LED)
  • 3 вывода для индикации режима работы (Mode status LED)
  • вывод индикации нажатия (Button press blink)



Важно: Плата не имеет защиты от неправильной подачи полярности питания и стабилизатора напряжения. Поэтому на плату необходимо подавать стабилизированное питание в 5 вольт.

Ширина дорожек 0,5. Посадочные места под SMD резисторы и конденсаторы для типоразмера 0603 или 0805. Если между контактами проходит дорожка, то практичнее использовать 0805. При монтаже главное контролировать отсутствие замыканий при установке последних.

Справочно: Плату можно с легкостью можно адаптировать под обычные корпусные радиоэлементы с вертикальным монтажом типа "Фонтан". Места на плате более чем достаточно.



Аудио сигнал подается одним из способов:

1. Сигнал с линейного выхода подаётся на 3-х пиновый вход “AUDIO IN”. Сумматор каналов предусмотрен на плате (по резистору в 1 кОм на каждый канал).

2. При использовании микрофонного усилителя сигнал в обход сумматора подается на “MicAmp IN”.

Если необходимо подключить регулятор громкости, то предварительно суммированный стереосигнал через регулятор громкости (переменный резистор в 10кОм) подается на вход “MicAmp IN” (в обход сумматора на плате). Сумматор в простом исполнении – по резистору в 1 кОм на каждый канал.

Разводка 2 вариант

Модифицированная разводка варианта 1 – выведены все задействованные выводы микроконтроллера и убраны перемычки. Здесь также используются элементы в DIP корпусе для микросхем и в SMD для остальных элементов. Данная разводка на железе еще не была проверена.



Разводка платы от Александра (от 19.06.2019)

Модифицированная разводка варианта 1 – выведены все задействованные выводы микроконтроллера и убраны перемычки. В отличии от остальных вариантов Александр развел плату под дискретные компоненты, за что ему огромное спасибо. Данная разводка на железе еще не была проверена.



Разводка платы от посетителя сайта - Алексея (от 06.12.2019)

Появился еще один вариант разводки. В данном исполнении плата была максимально уменьшена в размере без потери функционала. Работоспособность данной разводки успешно проверена на железе.



Перечень компонентов

РезисторыКоличествоКонденсаторыКоличествоДругоеКоличество
100 kΩ11.5 nF1ATmega328p1
10 kΩ2100 nF = 0.1 μF5LM358n1
150 Ω110 nF1Quartz 16 (20) MHz1
1 kΩ222 pF2
2.4 kΩ327 nF1
220 kΩ2470 nF = 0.47 μF1
330 Ω3470 μF 16v1
Итого:14 12 3

Прошивка

Справочно: Все варианты цветомузыки, представленные в данном разделе являются одним и тем же устройством в разном конструктивном исполнении. Прошивка у них идентична.

Светодиодные ленты WS2812B

41 комментарий

Приветствую посетителей и автора!
Столкнулся с проблемой.
НЕХ загруженный в ардуину прекрасно работает. А вот на DIP не могу запустить.
На 27 ноге (D0) ATmega328P как и положено идут серии импульсов для адресации, но лента их не определяет. Всё что я имею, это включенные на яркий белый 24 пиксела. Если в мегу залить например НЕХ для 8 диодов, то просто будут гореть белым все 8. При этом мега реагирует на кнопки и переключает как и положено светодиоды индикации режима.
Сравнил временные интервалы импульсов у Ардуины и у ATmega328P, так вот у меги они гораздо более длинные по времени. Перепробовал несколько микросхем, у всех результат одинаковый. Менял кварцы, ёмкости, всё одно…
Понимаю, что зубы по интернету не лечат, но всёже… Может у кого возникнет идея куда копать?

Привет!
Ну если лента на одном работает, а на другом нет, то значит дело не в ленте xD.
Странно конечно, но ардуина эта та же мега. Разница только в том, что на ардуине с завода выставлены фьюзы, а на меге надо выставлять вручную. Возможно загвоздка там.
Обрати внимание на бит CKDIV8. Это делитель тактовой частоты на 8 и по умолчанию он включен. Его надо выключить.
С включенным как раз длинна импульсов будет в 8 раз больше положенного.

Благодарю Вас за ответ!
Да, действительно интуитивно понятно, что дело в тактовой частоте. На ногах кварца что-то более похожее на помеху в 50 гц.
Начал рыть в сторону фьюзов. Перечитал кучу статей, что за что отвечает. Разобрался с калькулятором, проверил все галки на вашем скрине и тем, что по логике должно быть. Ну просто нЕ к чему прицепиться. Но кварц-то не работает!
Наконец нашел в чём ошибка… Проверил прошитые фьюзы, а там всё по умолчанию… ))
У меня это первый опыт работы с AVRDUDE_PROG, сразу не догадался что фьюзы нужно прошивать отдельно.
Прошил как нужно и кварцованый генератор заработал.
Вот такой ляп случился ))
Сейчас всё работает как положено. Полностью согласен, что это одна из лучших, если не самая лучшая цветомузыка. Благодарю за возможность воспользоваться прошивкой!
Делать печатную плату мне показалось слишком заморочным. Схемка простая и в ней не так уж много деталей. Поэтому собирал как в Советском НИИ “на слепыше”, луженой жилкой и проводом МГТФ. Так гораздо быстрее.

Вот вы написали программу, и залили её в свой UNO. Всё великолепно работает, но такую громадную железку не запихнуть в миниатюрный корпус. Да и вдруг, вы хотите сделать 100 таких устройств, а зачем вам увеличение себестоимости, ведь на платах Arduino куча ненужного барахла.

Ну что же, попробуем. Для начала, как мы помним, в самых распространённых платах Nano и Mega, используется камень AtMega328P. Логично, что для его запуска, нам нужно подать питание на него. Для этого здесь достаточно много пинов VCC и GND, особенно в планарных типах корпуса. Связано это с топологией чипа на уровне производства, ведь каждый пин контроллера держит токовую нагрузку, поэтому МК должен быть запитан равномерно со всех сторон


Пин AREF отвечает за опорное напряжение АЦП, туда можно подать напряжение, относительно которого вы хотите читать результаты, или, если это будет 5в, или 2.5 от внутреннего делителя, то подтянуть конденсатором к питанию. Также, по классике, на линию питанию нужно повесить конденсаторы для сглаживанию питающего напряжения – от этого зависит стабильность микроконтроллера.

Знаете, на arduino, есть такая кнопка – Reset, от которой можно перезагрузить МК. Это такой выход i/o, на который на который вроде бы можно повесить периферию, но с большими ограничениями. Поэтому, если вам хватает ног, лучше не трогайте этот пин. Изначально он подтянут внутренним резистором, но лучше, для надёжности и стабильности сделать внешнюю подтяжку резистором 10кОм. Перезагружать готовое устройство нужды особой нет – кнопку ставить не будем.

Теперь нужно разобраться с тактированием. Arduino работает на частоте 16Мгц, т.е. от внешнего кварца. Если вы продолжаете работать на этой частоте, то этот кварц нужно установить на создаваемую плату, вместе с конденсаторами 22пФ.

Тактирование atmega328p

Но если точность вычислений вам не сильно нужна, а хочется сэкономить в размерах, как иногда мне, то кварц можно вообще не ставить, а тактироваться от внутренней RC цепочки с 8Мгц. Как скомпилировать прошивку в arduino с другой частотой в 8Мгц, я расскажу позже. А пока рассмотрим самую важную часть – как программировать то голый микроконтроллер? Ведь usb выхода у него нет. Есть разные пути, но самый простой – использовать внутрисхемное программирование SPI. И купить дешёвый программатор USB ASP. Мой выглядит так, у него не подписаны контакты


Нарисовал удобную распиновку, если смотреть со стороны контактов. Для SPI нам важны 5 контактов, но я обычно беру и питание с программатора – MISO, MOSI, SCK, RST, GND


Также у меня лежит самодельный UsbAsp, но он громоздкий, и у него не сделан вывод 3.3в, поэтому я его давно не использую


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

Теперь если подать питание, и подключить выводы программатора MOSI, MISO, SCK, RESET, GND то можно приступать к программированию. Как помните, из предыдущей статьи, где мы рассказали как достать HEX файл из среды Arduino, IDE делает два файла – *.hex и *with_bootloader.hex. Загрузчик нам не нужен, поэтому будем использовать обычный *.hex. Есть один нюанс – при покупке голого кристалла, он запрограммирован на RC цепочку 1Мгц. Да и вообще у atmega, есть система фьюз-битов. Выглядит это обычно не очень понятно, но конечно в среде Arduino всё это вырезано, чтоб не смущать новичков. Чтобы добраться до этих конфигураций, полезно будет скачать программу AVRDUDE. Главное окно выглядит так, здесь нужно сразу выбрать нужный МК


Переходим во вкладку Fuses – здесь, чтобы не наделать бед, а если вы запишите неправильные данные, контроллер можно превратить почти в кирпич (что не очень удобно на распаянной smd плате), я сначала СЧИТЫВАЮ биты, заодно можно убедиться в правильности подключения программатора к МК. Если всё хорошо – получаем такую картинку


Чтобы правильно выставить fuse-биты, нужно воспользоваться помощью специального калькулятора. Я пользуюсь этим. Тут также нужно выбрать чип, способ тактирования и другие параметры. В принципе для смены частоты достаточно сменить блок CKSEL фьюзов. В данном случае я выбрал Int RC – 8Mhz.


Получил картинку фьюзов.


А теперь переносим параметры в AVR DUDE, также калькулятор включает делитель на 8, бит CKDIV8, он нам не нужен. Можете пользоваться нижеприведённым скриншотом, для запуска atmega 328p на 8Мгц от внутреннего RC осциллятора.


Жмём запись – и МК принимает необходимую конфигурацию. Теперь осталось залить прошивку, но ведь она у нас рассчитана на 16Мгц, но в Arduino IDE, есть простой путь скомпилировать прошивку для atmega 328, для частоты 8Мгц. Нужно выбрать плату arduino pro, и указать частоту 8mhz


Как вы заметили, напротив чипа, стоит напряжение 3.3В при пониженной частоте – всё верно, но это не означает, что нельзя запитать кристалл от 5В. Зато от 3.3В теперь можно). Теперь после компиляции нам осталось по знакомому пути найти файл прошивки в формате HEX, и вернуться в AVR DUDE. Выбрать файл прошивки – и нажать программирование.


Всё! Вы избавились от лишней периферии Arduino, можете сделать плату в своём дизайне PCB, а прошивку использовать с вашего прототипа. В следующей статье, мы сделаем свою плату игральных костей в размере 4х4 см, чтобы упаковать в маленький корпус, и проделаем эти шаги на практике.

Читайте также: