Микроконтроллер ATtiny85 - доступная и мощная альтернатива другим микроконтроллерам Arduino, особенно если вы хотите сократить свой проект. Чип имеет 8 контактов, шесть из которых являются контактами ввода / вывода (включая сброс), а два - контактами питания. Но как его запрограммировать, если у него нет интерфейса USB, как у других плат микроконтроллера? Итак, в этой статье я проведу вас через процесс программирования ATtiny85 из Arduino IDE с помощью Arduino Uno. По сути, мы будем использовать Arduino UNO в качестве программатора ATtiny85.
Компоненты, необходимые для программирования ATtiny85
- Arduino UNO
- ATtiny85 IC
- СВЕТОДИОД
- Резистор 220 Ом
- Макетная плата
- Перемычки
Микроконтроллер ATtiny85 - Введение
Atmel ATtiny85 - это высокопроизводительный 8-битный микроконтроллер с низким энергопотреблением, основанный на архитектуре Advanced RISC. Этот микроконтроллер имеет флэш-память ISP объемом 8 КБ, EEPROM 512 Б, 512-байтовую SRAM, 6 линий ввода-вывода общего назначения, 32 рабочих регистра общего назначения, один 8-битный таймер / счетчик с режимами сравнения, один 8-битный высокоскоростной таймер / счетчик, USI, внутренние и внешние прерывания, 4-канальный 10-битный аналого-цифровой преобразователь, программируемый сторожевой таймер с внутренним генератором, три режима энергосбережения, выбираемые программным способом, и debugWIRE для отладки на кристалле. Распиновка ATtiny85 приведена ниже:
Большинство контактов ввода-вывода микросхемы выполняют несколько функций. Ознакомьтесь с таблицей, приведенной ниже, чтобы узнать описание каждого контакта ATtiny85.
№ контакта |
Имя контакта |
Описание контакта |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: прерывание смены контакта 0, источник5 СБРОС: сбросить пин ADC0: входной канал ADC 0 dW: отладка WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Прерывание смены контакта 0, Источник3 XTAL1: вывод кварцевого генератора 1 CLKI: вход внешнего тактового сигнала ADC3: входной канал АЦП 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: прерывание смены контакта 0, источник 4 XTAL2: контакт 2 кварцевого генератора CLKO: выход системных часов OC1B: Таймер / Счетчик1 Сравнить Выход B ADC2: входной канал АЦП 2 |
4 |
GND |
Контакт заземления |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: вывод основных данных SPI / ввод данных ведомого DI: ввод данных USI (трехпроводный режим) SDA: ввод данных USI (двухпроводный режим) AIN0: аналоговый компаратор, положительный вход OC0A: таймер / счетчик 0, выход сравнения Match A AREF: внешний аналоговый опорный сигнал PCINT0: прерывание смены контакта 0, источник 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: ввод основных данных SPI / вывод данных ведомого устройства DO: Вывод данных USI (трехпроводной режим) AIN1: аналоговый компаратор, отрицательный вход OC0B: таймер / счетчик 0, выход сравнения B OC1A: Timer / Counter1 Compare Match A Output PCINT1: прерывание смены контакта 0, источник 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: последовательный тактовый вход USCK: часы USI (трехпроводный режим) SCL: часы USI (двухпроводной режим) ADC1: входной канал АЦП 1 T0: Таймер / счетчик0 Источник тактовой частоты INT0: вход внешнего прерывания 0 PCINT2: прерывание смены контакта 0, источник 2 |
8 |
VCC |
Вывод напряжения питания |
Шаг 1. Настройка Arduino Uno в качестве провайдера:
Поскольку ATtiny85 - это просто микроконтроллер, для его программирования требуется ISP (внутрисистемное программирование). Итак, чтобы запрограммировать ATtiny85, нам нужно сначала настроить Arduino Uno как ISP, чтобы он работал как программист для ATtiny85. Для этого подключите Arduino Uno к ноутбуку и откройте Arduino IDE. После этого перейдите в Файл> Пример> ArduinoISP и загрузите код Arduino ISP.
Шаг 2: Принципиальная схема для программирования ATtiny85:
Полная схема программирования ATtiny85 с помощью Arduino Uno приведена ниже:
Положительный вывод светодиода подключается к выводу 0 микросхемы ATtiny85 через резистор 220 Ом, а вывод GND подключен к заземлению IC. Полные соединения приведены в таблице ниже:
Контакт ATtiny85 |
Вывод Arduino Uno |
Vcc |
5В |
GND |
GND |
Контакт 2 |
13 |
Контакт 1 |
12 |
Пин 0 |
11 |
Сброс |
10 |
Шаг 3: Программирование ATtiny85 с использованием Arduino IDE:
Чтобы запрограммировать ATtiny85 с помощью Arduino IDE, сначала нам нужно добавить поддержку ATtiny85 в Arduino IDE. Для этого перейдите в меню «Файл»> «Настройки», добавьте указанную ниже ссылку в URL-адреса диспетчера дополнительных плат и нажмите «ОК».
После этого перейдите в Инструменты> Доска> Менеджер доски, найдите «attiny» и установите последнюю версию.
После его установки вы сможете увидеть новую запись в меню «Доска» под названием «Attiny25 / 45/85».
Теперь перейдите в Файл > Примеры> Основы и откройте пример Blink.
Измените номер контакта с LED_BUILTIN на 0.
Теперь вернитесь в Инструменты -> Плата и выберите «Attiny25 / 45/85», затем выберите ATtiny85 в разделе « Инструменты»> «Процессор».
Теперь идите и загрузите код. Если светодиод, подключенный к выводу 0 микросхемы Attiny85, мигает, значит, код загружен успешно.
Вот как вы можете программировать микроконтроллер ATtiny85 с помощью Arduino IDE и Arduino Uno. Ниже приведено рабочее видео. Если у вас есть вопросы, оставьте их в разделе комментариев. Вы также можете разместить свои технические вопросы на нашем форуме по электронике, чтобы получить более подробные сведения.