Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом Instuctable я расскажу пошаговое руководство по программированию микросхемы ATmega328P (тот же микроконтроллер, что и в Arudino UNO) с использованием Arduino IDE и Arduino UNO в качестве программиста, чтобы создать собственный Arduino, чтобы сделать ваши проекты более масштабируемыми. и рентабельно.
Большую часть времени при программировании ATmega328 вы будете использовать внешний кристалл с частотой 16 МГц, но в случаях, когда вам нужны приложения с низким энергопотреблением, вы должны использовать внешний кристалл с частотой 8 МГц. Микросхема имеет встроенный внутренний генератор на 8 МГц, но внутренние часы имеют более высокий дрейф по сравнению с кварцевым кристаллом, поэтому лучше использовать внешний кварцевый генератор.
Шаг 1. Необходимые компоненты
Вам понадобиться
1) Микросхема ATmega328P ……………… x1
2) Кварцевый генератор 8 МГц… x1
3) Конденсатор - 22пФ ……………..x2
4) Резистор - 10К ………………….х1
5) Резистор - 220 Ом ………..х1
6) Светодиод ………………………………….x1
7) Arduino Uno ………………… x1
несколько соединительных проводов, и все готово.
Шаг 2: Первоначальное подключение
Эта базовая настройка включит вашу ИС, и вы будете готовы к загрузке.
Контакт 1 - Vcc через резистор 10 кОм
Вывод 7 и вывод 20 - Vcc
Контакт 8 и контакт 22 - Gnd
Вывод 9 и вывод 10 - кварцевый генератор
Вывод 9 и вывод 10 - заземление через конденсаторы 22 пФ каждый
Контакт 19 - Gnd Через последовательную комбинацию резистора 220 Ом и светодиода
Шаг 3. Загрузочная загрузка
Микроконтроллеры обычно программируются с помощью программиста, если в вашем микроконтроллере нет микропрограммы, которая позволяет устанавливать новую микропрограмму без необходимости внешнего программиста. Это называется загрузчиком.
ВАЖНО - Это будет разовый процесс.
Чтобы загрузить загрузчик, мы сделаем несколько дополнительных подключений к основным подключениям питания.
Atmega - Arduino UNO
Контакт 1 - D10 (СБРОС)
Контакт 17 - D11 (MOSI)
Пин 18 - D12 (MISO)
Пин 19 - D13 (SCK)
Теперь откройте Arduino IDE.
1) Перейдите в Файл> Примеры> ArduinoISP.
2) Перейдите в Инструменты> Плата> Arduino UNO.
3) Выберите порт в Инструменты> Порт.
4) Загрузите скетч ArudinoISP на свою доску.
5) После успешной загрузки кода перейдите в Инструменты> Плата> и выберите Arduino Pro или Pro Mini.
6) Перейдите в Инструменты> Процессор> и выберите ATmega328P (3,3 В, 8 МГц).
7) Перейдите в Инструменты> Программист> и выберите Arduino в качестве ISP (не ArduinoISP).
8) Перейдите в Инструменты> Записать загрузчик
Это может занять некоторое время, и вам будет показан загрузчик Готово.
В этот момент светодиод на вашей макетной плате и светодиод Arduino UNO по умолчанию начнут мигать синхронно.
Шаг 4: Программирование ИС
Теперь вы готовы программировать свою микросхему ATmega328P так же, как ваш Arduino.
ВАЖНО - После загрузки удалите микросхему ATmega из Arduino UNO, потому что теперь мы будем использовать плату Arduino как программист ISP (в системном программисте).
Теперь удалите все 4 подключения, сделанные в процессе загрузки, и выполните следующие подключения.
ATmega - Ардуино
Контакт 1 - СБРОС
Контакт 2 - D0 (Rx)
Контакт 3 - D1 (Tx)
Теперь перейдите в Инструменты> Программист> и выберите AVRISP mkll.
Перейдите в Файл> Примеры> Основные> Blink.
Загрузите, измените задержки по своему усмотрению и загрузите эскиз
Теперь вы готовы со своим минимальным Arduino, теперь вы можете интегрировать все, что хотите, с вашим микроконтроллером и создавать собственные Arudinos, а также уменьшать размер и стоимость ваших проектов.
* Кроме того, при загрузке эскизов не забудьте использовать Arduino Pro или Pro Mini в качестве платы с процессором как ATmega328P (3,3 В, 8 МГц), а не Arduino UNO, поскольку мы использовали загрузчик Pro Mini, потому что мы подключили кристалл 8 МГц.