Микроконтроллер ATtiny85 является удобной и сравнительно мощной альтернативой старшим моделям микроконтроллеров семейства AVR. Его применение особенно оправданно в тех случаях, когда вы стремитесь к минимизации размеров вашего устройства.
Микросхема ATtiny85 содержит 8 контактов – 6 контактов ввода/вывода (включая Reset) и 2 контакта питания. Но как его программировать если он не имеет USB интерфейса как большинство современных микроконтроллерных плат? В этом случае его можно запрограммировать с помощью платы Arduino Uno (этот способ мы рассмотрим в данной статье) или сконструировать самодельный USB программатор для ATtiny85.
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress).
- Микроконтроллер ATtiny85 (купить на AliExpress).
- Светодиод (купить на AliExpress).
- Резистор 220 Ом (купить на AliExpress).
- Макетная плата.
- Соединительные провода.
Краткие сведения о микроконтроллере ATtiny85
ATtiny85 – это высокопроизводительный 8-битный микроконтроллер с низким энергопотреблением, построенный на основе архитектуры Advanced RISC. Он имеет 8 Кбайт перепрограммируемой флеш-памяти (память программ), 512 Байт EEPROM (энергонезависимой памяти), 512 Байт оперативной памяти (SRAM), 6 контактов ввода/вывода общего назначения 32 регистра общего назначения, один 8-битный таймер/счетчик с режимом сравнения, один 8-битный высокоскоростной таймер/счетчик, USI (универсальный последовательный интерфейс), внутренние и внешние прерывания, 4-х канальный 10-битный АЦП (аналого-цифровой преобразователь), программируемый сторожевой таймер с внутренним генератором, 3 программно управляемых режима энергопотребления.
Назначение контактов (распиновка) микроконтроллера ATtiny85 приведено на следующем рисунке.
Большинство контактов ATtiny85 могут выполнять несколько функций.
Пошаговое руководство по программированию ATtiny85 с помощью платы Arduino Uno
Шаг 1. Конфигурирование платы Arduino Uno в качестве ISP
Поскольку ATtiny85 является всего лишь микроконтроллером, то для его программирования необходимо использовать ISP (In-System Programming – внутрисистемное программирование. Поэтому нам необходимо сконфигурировать Arduino Uno в качестве ISP чтобы ее можно было использовать как программатор для ATtiny85. Для этого подсоедините Arduino Uno к компьютеру и запустите Arduino IDE. После этого откройте пункт меню File > Example > ArduinoISP и загрузите код ArduinoISP в плату Arduino Uno.
Шаг 2. Схема для программирования ATtiny85
Схема для программирования ATtiny85 с помощью платы Arduino Uno представлена на следующем рисунке.
В схеме положительный вывод светодиода подключен к контакту 0 микроконтроллера ATtiny85 через резистор 220 Ом. Полная схема соединений представлена в следующей таблице.
ATtiny85 | Плата Arduino Uno |
Vcc | 5V |
GND | GND |
Pin 2 | 13 |
Pin 1 | 12 |
Pin 0 | 11 |
Reset | 10 |
Внешний вид конструкции проекта в сборе выглядит примерно следующим образом:
Шаг 3. Программирование ATtiny85 с помощью Arduino IDE
Для программирования ATtiny85 с помощью Arduino IDE первым делом нам необходимо добавить поддержку ATtiny85 в Arduino IDE. Для этого откройте пункт меню File > Preferences, добавьте приведенную ниже ссылку в поле Additional Boards Manager URLs и нажмите ‘OK.’
Затем откройте пункт меню Tools > Board > Board Manager, запустите там поиск ‘attiny’ и установите его последнюю версию.
После этого вы увидите как у вас появится новый пункт в меню Arduino IDE – в пункте Board появится подпункт с именем 'Attiny25/45/85'.
Теперь откройте File > Examples > Basics и в нем откройте пример с миганием светодиода (Blink example).
Измените в этом примере номер контакта с LED_BUILTIN на 0.
Теперь снова откройте пункт меню Tools -> Board и выберите “Attiny25/45/85”, потом выберите ATtiny85 в пункте Tools > Processor.
Теперь можете произвести загрузку кода программы в микроконтроллер. Если после загрузки программы светодиод, подключенный к контакту 0 микроконтроллера Attiny85, начнет мигать, значит, программа загружена успешно.
В следующем видео вы можете более подробно посмотреть все описанные в статье процессы.
39 просмотров