Как преобразовать Arduino в проект на базе ATmega328P?

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

Позвольте мне кратко рассказать вам о вопросе, который я задал: у меня есть плата Arduino, где я использую некоторые периферийные устройства, такие как ЖК-дисплей с i2c.

Теперь я хочу преобразовать эту схему на основе Arduino в схему на основе atmega328p, то есть atmega328p с ЖК-дисплеем и i2c

Вот мой актуальный вопрос: могу ли я использовать тот же скетч(двоичный файл), который я скомпилировал и загрузил для платы Arduino для atmega328p? Или мне нужно написать код c на основе atmega328p все вместе?

, 👍6


5 ответов


1

Не могу писать в комментариях. Если вы хотите использовать только необработанный atmega328p, вы можете использовать Arduino в качестве скетча ISP, а затем загрузить существующий скетч на новый чип. Я использую его для программирования чипов ATtiny 85 для небольших автономных проектов. Вот ссылка на сайт Arduino, которая подробно объясняет это.

,

4

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

Это может быть так же просто,как поставить чип на Uno и запрограммировать его там. Не делайте этого слишком часто, розетка для этого не предназначена. Однако вы могли бы получить 28-контактный разъем ZIF.

Есть несколько вещей, которые следует учитывать:

  • Голый чип нуждается во внешних компонентах, таких как кристалл и т. Д. чтобы функционировать; вы можете проверить схему Uno, чтобы увидеть, что вы хотите скопировать на свою печатную плату/макет;
  • Возможно, вы захотите включить способ программирования ATmega328P в схему с помощью ISP или чипа USB-to-serial;
  • Выводы будут разными, незначительное раздражение;
  • Возможно, то, что я забыл.

На сайте Arduino есть инструкция, а также описание того, как построить "целый" Arduino на макете.

,

Большое вам спасибо!, @Mahadev Panchal

Мы вам очень рады. Пожалуйста, примите ответ (если вы его принимаете), чтобы вопрос не оставался открытым., @ocrdu


1

Да, вы можете использовать один и тот же скетч, а также один и тот же шестнадцатеричный файл. Хотя загрузка зависит от вашей фактической настройки. Если вы включаете USB-мост UART, как у Arduino, то вы можете загрузить его через USB (при условии, что вы сожгли загрузчик на Atmega328p). В противном случае вы можете использовать свой Arduino в качестве программатора ISP и записать свой скетч на Atmega через него. Google для Arduino в качестве ISP для получения дополнительной информации

,

0

У Arduino уже есть чип 328p на плате, но с загрузчиком и кристаллом 16 МГц.

Если вы используете только чип, вам нужно создать плату, подобную arduino. Или вы можете расширить IDE с помощью этой библиотеки плат: https://github.com/MCUdude/MiniCore

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

,

2

Я уже строил печатные платы с автономным чипом ATmega328P на них для ситуаций, когда я хотел, чтобы вся моя электроника была встроена в одну плату. Это может быть отличный опыт обучения имо.

Я бы предложил сначала создать схему и реализовать ее на макете с DIP-пакетами, как показано на фотографии. Вам понадобится кристалл, загрузочные колпачки (22 пФ), а также байпасные колпачки (100нФ) и подтягивающие резисторы. Плюс любые другие компоненты, необходимые вашему приложению.

После этого обычно вы записываете загрузчик на чип, чтобы его можно было запрограммировать с помощью Arduino IDE.

Ник Гэммон предоставил отличный учебник по всему этому. Его статья была моим главным ресурсом, когда я делал свои печатные платы: http://www.gammon.com.au/breadboard

Как только вы получите все, что работает на макете, вы можете подумать о том, чтобы выложить печатную плату для более постоянного решения. Желаю удачи!

,