Программирование ATtiny85
Давайте посмотрим, как программировать чип ATtiny с использованием среды разработки «Ардуино» и платы «Ардуино Уно» в качестве программатора ISP. Во-первых, вы должны приобрести ATtiny85 или 45. Эти чипы можно приобрести у крупных производителей, таких как RS Components или Farnell, они имеют минимальную цену по сравнению с ценой «Ардуино»; в действительности ATtiny имеют меньше разъемов и меньший объем памяти. Прошивки, которые вы можете загрузить на эти чипы, не могут быть очень большими, потому что у нас есть четверть доступного пространства в сравнениис микросхемами ATmega328. В случае, если пространства ATtiny не достаточно, вы можете также использовать ATmega.
ATtiny85 имеет только восемь выводов, два из которых используются для питания и один для сброса.
Остаются только пять выводов, которые могут быть использованы в качестве цифровых входов или выходов. Два из этих пяти выводов могут генерировать ШИМ-сигналы, а три остальных могут быть использованы в качестве аналоговых входов. Напряжение питания должно быть в пределах от 2,7 до 5,5 В.
При превышении 5,5 В чип сгорит! Таблица 9.2 перечисляет выводы микросхемы, «логические» номера контактов, которые будут использоваться в скетче, а также функцию выводов.
Таблица 9.2. Функции выводов ATtiny85
Для программирования ATtiny85 вы должны загрузить программу Patch для среды разработки «Ардуино». Данная операция работает с программным обеспечением версии 1.0.4 «Ардуино». Избегайте использования версии 1.0.2, потому что скетч «АрдуиноISP» содержит ошибку.
Чтобы установить среду программирования и загрузить первый примет, нам понадобятся:
• «Ардуино UNO»;
• микросхема ATtiny85 AVR от ATMEL;
• конденсатор на 10 мкФ;
• светодиод;
• резистор на 220 Ом;
• макетная плата;
• провода или перемычки.
Приступить к сборке.
1. Скачайте файл с программной Patch. Файл называется ATtiny_master.zip (http://bit.ly/attiny85patch).
2. Распакуйте файл ATtiny_master.zip, содержащий папку attiny-master, в которой вы найдете папку Attiny.
3. Ищем рабочую папку «Ардуино», папка также называется sketchbook.
4. Создаем папку «аппаратное обеспечение» в папке sketchbook (папка может уже присутствовать).
5. Копируем папку Attiny в папку hardware.
6. Запускаем среду «Ардуино».
7. Проверяем, загрузилось ли содержание Attiny, открываем меню Настройки =› Плата. Должен появиться длинный список с наименованием микросхем ATtiny.
8. Теперь преобразуем нашу «Ардуино UNO» в программатор AVR, открываем скетч «Ардуино ISP», который мы находим в меню Файл =› Примеры.
9. Подсоединяем «Ардуино» к компьютеру с помощью USB-кабеля; убедитесь, что последовательный порт настроен правильно.
10. Создаем скетч и переносим его на плату, нажав кнопку Проверить и затем Загрузить.
11. Загружаем скетч Blink, который мы находим в меню Файл =› Примеры.
12. Скетч заставит светодиод мигать на выводе 13, но ATtiny85 не содержит столько выводов.
Изменим вывод и вместо 13 запишем 0, что соответствует выводу номер 5 интегральной схемы.
// Blink для ATtiny85
// вывод 0 на самом деле соответствует выводу номер 5 микросхемы
void setup() {
pinMode(0, OUTPUT);
}
void lоор() {
digitalWrite(0, HIGH); // зажигаю светодиод
delay(1000); // жду одну секунду
digitalWrite(0, LOW); // выключаю светодиод
delay(1000); // жду одну секунду и повторяю цикл
}
13. Откройте меню Сервис =› Плата и выберите ATtiny85 (8 МГц).
14. Вставьте ATtiny85 на макетную плату и соедините выводы 10, 11, 12 и 13 «Ардуино» с ATtiny.
15. Подключите также Землю (GND) и 5В к ATtiny, чтобы обеспечить электропитание.
16. Подключите конденсатор на 10 мкФ к выводам Сброс (RESET) и к Земле (GND) «Ардуино». Положительный вывод конденсатора должен быть соединен с RESET.
Рис. 9.8. Подключение ATtiny85 для программирования с помощью «Arduino SP»
1. В меню Настройки =› Программатор, выберите Arduino as ISP.
2. Нажмите на кнопку Загрузить.
3. Если не появилось никаких сообщений об ошибках, то мы успешно перенесли скетч на микросхему.
4. Отсоедините «Ардуино» от компьютера.
5. Отключите провода, используемые для программирования (выводы 10, 11, 12 и 13), но не перемычки, используемые для питания (5В и GND).
6. Добавим светодиод и сопротивление на 220 Ом на вывод номер 5 микросхемы.
7. Снова подключим «Ардуино» к компьютеру с помощью USB-кабеля. «Ардуино» будет служить только в качестве источника питания для ATtiny.
8. Светодиод будет мигать!
Рис. 9.9. ATtiny85, подключенный к светодиоду, «Ардуино» служит в качестве источника питания
Если что-то пошло не так, то светодиод не будет мигать, и, вероятно, на панели среды «Ардуино» появятся дополнительные оранжевые надписи.
• Проверяем, возможно, вы сделали опечатку в коде программы. Анализируя оранжевые надписи, можно получить некоторую информацию о типе ошибки и ее расположении в скетче.
• Если в сообщении об ошибке вы видите код «SK500», это значит, что возникла проблема во время переноса информации с «Ардуино» на ATtiny. Проверим все перемычки и при необходимости заменим их.
• Проверим правильность настроек последовательного порта.
Существует альтернативный подход к использованию ATtiny с «Ардуино». Проект называется Arduino-tiny (http://bit.ly/arduinotiny).
Совместимость между «Ардуино» и ATtiny
Микроконтроллеры AVR семейства ATtiny являются менее мощными по сравнению с «Ардуино». Вы можете программировать эти чипы в среде «Ардуино», но количество доступных функций будет ограничено. Мы можем использовать почти все команды, предусмотренные для «Ардуино»: