В этом руководстве мы рассмотрим вопрос программирования микроконтроллеров Attiny с помощью Arduino Uno. Весь процесс программирования мы продемонстрируем на примере микроконтроллера Attiny85.

Attiny85 — это симпатичный, компактный и недорогой 8-контактный чип, который идеально подходит для простых проектов. Если у вас есть Arduino, то вы с легкостью можете записать загрузчик и загружать свои скетчи в микроконтроллер Attiny85. Мы рекомендуем для этих целей приобрести один из дешевых клонов Arduino Uno.
Чтобы запрограммировать ATtiny85, нам нужно сначала настроить Arduino Uno в качестве ISP программатора.
Для этого подключите ваш Arduino Uno к компьютеру. Запустите IDE Arduino, откройте файл примера ArduinoISP («Файл — Примеры — ArduinoISP») и загрузите его. Если сообщений об ошибках нет, значит, Arduino готов к работе.
По умолчанию IDE Arduino не поддерживает ATtiny85 (как и всю линейку ATtiny). Но, к счастью, довольно легко можно добавить поддержку микроконтроллеров ATtiny в IDE Arduino. Узнать об этом можно из нашей статьи: Установка поддержки микроконтроллеров ATtiny в IDE Arduino. Инструкция

Итак, предположим, что вы уже добавили поддержку ATtiny в IDE Arduino. Теперь перейдем к самому процессу программирования.
Для демонстрации мы соберем простую схему, и для этого нам понадобятся некоторые радиокомпоненты:
- C1 — конденсатор электролитический емкостью 10 мкФ
- LED1 — красный светодиод
- Part1 — Arduino Uno
- R1 — резистор с сопротивлением 470 Ом
- U1 — микроконтроллер ATtiny85
Для облегчения вы можете собрать всю схему на макетной плате.
Схема
В нашем примере мы подключим микроконтроллер ATtiny85 к Arduino и запрограммируем его. Мы также подключим светодиод, который будем использовать в тестовых целях.
Подключение Attiny85 к Arduino следующее:
- ATtiny вывод 7 — Arduino вывод 13
- ATtiny вывод 6 — Arduino вывод 12
- ATtiny вывод 5 — Arduino вывод 11
- ATtiny вывод 1 — Arduino вывод 10
Вся схема должна выглядеть следующим образом:
Между RESET и GND Arduino обязательно нужно установить электролитический конденсатор емкостью 10 мкФ. Это необходимо для того, чтобы избежать автоматического сброса Arduino при загрузке программы в ATtiny85. Обратите внимание что анод (+) конденсатора подключен к GND Arduino.
Программирование и загрузка скетча
Теперь мы готовы загрузить пример кода в ATtiny. Сначала нам нужно настроить IDE Arduino следующим образом:
- Выберите ATtiny в разделе «Инструменты — Плата».
- Выберите ATtiny85 в разделе «Инструменты — Chip».
- Выберите 8 МГц (internal) в меню «Инструменты — Clock».
- Выберите Arduino as ISP в разделе «Инструменты — Программатор».
- Выберите «Инструменты — Записать загрузчик»
Если все сделано правильно, вы должны увидеть сообщение об успешной записи Загрузчика.
Далее мы модифицируем стандартный скетч Blink, изменив вывод №13 на №4 в Attiny85.
void setup() { // initialize digital pin 4 as an output. pinMode(4, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(4, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(4, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
Загрузите данный скетч, и если ошибок нет, светодиод, подключенный к контакту 3 вашего Attiny85, должен мигать.
