Что-то не удалось мне настроить Arduino IDE 1.6.5 - там появился Board manager, и с ним я что-то недопонял.
Поэтому, не упираясь в IDE 1.6.x, я поставил старенькую Arduino IDE 1.0.5. О том как прошивать ATtiny13 на Arduino информации много, но всё-таки мне пришлось собирать её из разных источников.
На всякий случай: у меня Ubuntu 14.04 LTS 64-bit, хотя это и не принципиально.
Конденсатор предотвращает автоматический перезапуск микроконтроллера после заливки нового скетча.
Резистор и светодиод для программирования ATtiny13 не нужны. Они понадобятся только для демонстрации результата на примере скетча blink.
Поэтому, не упираясь в IDE 1.6.x, я поставил старенькую Arduino IDE 1.0.5. О том как прошивать ATtiny13 на Arduino информации много, но всё-таки мне пришлось собирать её из разных источников.
На всякий случай: у меня Ubuntu 14.04 LTS 64-bit, хотя это и не принципиально.
Понадобятся
- ATtiny13 - собственно, его и программируем. Мой - ATtiny13A-PU (см. datasheet). PU - это DIP-корпус.
- Arduino UNO - это будет наш программатор.
- Breadboard.
- Провода для breadboard.
- Конденсатор 10 мкФ или больше.
- Для проверки наших трудов на скетче blink из Arduino IDE дополнительно понадобятся светодиод и резистор 250 Ом к нему.
Шаг 1
Превращаем Arduino UNO в программатор:
- Запускаем Arduino IDE 1.0.5.
- Убеждаемся, что:
Tools => Board => Arduino UNO,
Tools => Serial Port => что-то там,
Tools => Programmer => AVRISP mkll - Открываем скетч программатора:
File => Examples => ArduinoISP - Загружаем ArduinoISP в Arduino UNO.
Шаг 2
Собираем такую схему:Конденсатор предотвращает автоматический перезапуск микроконтроллера после заливки нового скетча.
Резистор и светодиод для программирования ATtiny13 не нужны. Они понадобятся только для демонстрации результата на примере скетча blink.
Шаг 3
Подготавливаем Arduino IDE 1.0.5 к работе с ATtiny13:
- Загружаем ZIP-файл с настройками для ATtiny13 из этого репозитория (кнопка "Download ZIP").
- Распаковываем каталог "attiny" из архива в каталог <каталог ArduinoIDE>/hardware. Там теперь должно быть 3 каталога: arduino, attiny, tools.
- ВАЖНО для работы функций delay, millis - редактируем файл <каталог ArduinoIDE>/hardware/arduino/cores/arduino/wiring.c. Ищем текст:
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
и дописываем в конец " || (__AVR_ATtiny13__)":
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || (__AVR_ATtiny13__) - Перезапускаем Arduino IDE.
Шаг 4
Заливаем пробный скетч в ATtiny13:- Открываем в Arduino IDE скетч blink (File => Examples => 01.Basics => Blink).
- Заменяем в скетче значения 13 (пин со светодиодом) на 4.
- Устанавливаем опции меню:
Tools => Board => ATtiny13 (internal 9.6 MHz clock),
Tools => Serial Port => что-то там,
Tools => Programmer => Arduino as ISP - Заливаем скетч как обычно File => Upload (Ctrl+U).
Комментариев нет:
Отправить комментарий