цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno



Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Автор: Mike(admin) от 21-12-2020, 05:55

Микроконтроллер ATtiny85 – доступная и мощная альтернатива другим микроконтроллерам экосистемы Arduino, особенно если вы хотите сократить свой проект по бюджету. Этот микроконтроллер имеет 8 контактов, шесть из которых являются линиями ввода/вывода (включая сброс), а два – контактами питания. Но как его запрограммировать, если у него нет интерфейса USB, как у других микроконтроллерных плат? Итак, в этой статье мы проведем вас через процесс программирования ATtiny85 из Arduino IDE с помощью Arduino Uno. По сути, мы будем использовать Arduino UNO в качестве программатора ATtiny85.


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Atmel ATtiny85 – это высокопроизводительный 8-битный микроконтроллер с низким энергопотреблением, основанный на архитектуре Advanced RISC. Этот микроконтроллер имеет флэш-память ISP объемом 8 КБ, EEPROM 512 ГБ, 512-байтовую SRAM, 6 линий ввода-вывода общего назначения, 32 рабочих регистра общего назначения, один 8-битный таймер/счетчик с режимами сравнения, один 8-битный высокоскоростной таймер/счетчик, USI, внутренние и внешние прерывания, 4-канальный 10-битный аналого-цифровой преобразователь, программируемый сторожевой таймер с внутренним генератором, три программно выбираемых режима энергосбережения и debugWIRE для отладки на кристалле. Распиновка ATtiny85 приведена далее.


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Поскольку ATtiny85 – это просто микроконтроллер, для его программирования требуется ISP (внутрисистемное программирование). Итак, чтобы запрограммировать ATtiny85, нам нужно сначала настроить Arduino Uno в качестве ISP, чтобы он работал как программатор для ATtiny85. Для этого подключите Arduino Uno к ноутбуку и откройте Arduino IDE. После этого перейдите в Файл-Примеры-ArduinoISP (File-Example-ArduinoISP) и загрузите код Arduino ISP.


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Полная схема подключения для программирования ATtiny85 с помощью Arduino Uno приведена далее.


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Положительный вывод светодиода подключается к выводу 0 микросхемы ATtiny85 через резистор 220 Ом, а вывод GND подключен к заземлению микросхемы. Все соединения приведены в следующей таблице.


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Чтобы запрограммировать ATtiny85 с Arduino IDE, сначала нам нужно добавить поддержку ATtiny85 в Arduino IDE. Для этого перейдите в меню Файл-Настройки (File-Preferences), добавьте указанную ссылку https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json в URL-адреса диспетчера дополнительных плат и нажмите ОК.


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

После этого перейдите в Инструменты-Плата-Менеджер плат (Tools-Board-Board Manager), найдите «attiny» и установите последнюю версию.


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

После установки вы сможете увидеть новую запись в меню плат под названием «Attiny25/45/85».


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Теперь перейдите в Файл-Примеры-Основы (File-Examples-Basics) и откройте пример Blink.


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Измените там номер пина с LED_BUILTIN на 0.


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Теперь вернитесь в Инструменты-Плата (Tools-Board) и выберите «Attiny25/45/85», затем выберите ATtiny85 в разделе Инструменты-Процессор (Tools-Processor).


Как запрограммировать микроконтроллер ATtiny85 с помощью Arduino Uno

Теперь загрузите код. Если светодиод, подключенный к выводу 0 микросхемы Attiny85, мигает, значит, код загружен успешно. Вот как вы можете запрограммировать микроконтроллер ATtiny85 с помощью Arduino IDE и Arduino Uno.




© digitrode.ru


Теги: Arduino, ATtiny




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

Комментарии:

Оставить комментарий
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
Добрый день. Меня зовут Александр, 61 год. Я хочу сделать один проэкт для моих внуков на модельной жедезной дороге. Это должно работать на Attiny85. Составные части: 1. Attiny85 2. две кнопки ( не выключатели) 3. 1 штука LED 4. Servo мотор - 1 штука ( SG90 9G Micro Mini Servo) или подобный 5. RM065 10КОм (?) потенциометр - 1 штука Принцип работы: Начальное состояние так называемое "0" состояние- ничего не происходит. Внимание: мы имеем две кнопки: А и Б Сначало нажимается кнопка А, потом Б. После нажатия Б в Attiny85 срабатывает счеткик с 0 на увеличение 1. В это время начинает мигать LED (можно сказать симметрично по 0,5 сек.). Потом через 1 сек. ( после нажатия Б) поворачивается servo-мотор на 180 град. и останавливается. LED-продолжает мигать. При нажатии АБ - 2 раз, АБ - 3 раз , и более- счетчик считает 2, 3 и более. Если на счетчике не "0", LED постоянно мигает, а серво находится в полодении 180 град. Уменьшение на счетчике только после комбинации БА, БА. Если состояния счеткика становится на "0", Servo поворачивается в положение 0 град. и только потом ( при нулевом Servo) перестает мигать LED. Потенциометр необходим для регулирования скорости вращения servo (ШИМ сигнала) Если сможите такой скейч сделать, сколько это будет стоить. С уважением Александр
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
Здравствуйте!
Статья очень помогла! Но не указан пункт, что надо настроить "Инструменты -> Программатор -> Arduino as ISP" перед загрузкой скетча на attiny85. По умолчанию стоит не он и программирование останавливается с ошибкой.