Главная » Микроконтроллеры » Программирование микроконтроллеров ATtiny с помощью Arduino Uno. Руководство

Программирование микроконтроллеров ATtiny с помощью Arduino Uno. Руководство

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

Блок питания 0...30 В / 3A
Набор для сборки регулируемого блока питания...
Подробнее

Attiny85 — это симпатичный, компактный и недорогой 8-контактный чип, который идеально подходит для простых проектов. Если у вас есть Arduino, то вы с легкостью можете записать загрузчик и загружать свои скетчи в микроконтроллер Attiny85. Мы рекомендуем для этих целей приобрести один из дешевых клонов Arduino Uno.

Распиновка attiny85

Чтобы запрограммировать 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

Для облегчения вы можете собрать всю схему на макетной плате.

USB программатор AVR
Поддержка Linux, OS X и Windows, скорость прогр...
Подробнее

Схема

В нашем примере мы подключим микроконтроллер ATtiny85 к Arduino и запрограммируем его. Мы также подключим светодиод, который будем использовать в тестовых целях.

Подключение Attiny85 к Arduino следующее:

  • ATtiny вывод 7 — Arduino вывод 13
  • ATtiny вывод 6 — Arduino вывод 12
  • ATtiny вывод 5 — Arduino вывод 11
  • ATtiny вывод 1 — Arduino вывод 10

Вся схема должна выглядеть следующим образом:

Программирование микроконтроллеров ATtiny с помощью Arduino Uno - схема

Между RESET и GND Arduino обязательно нужно установить электролитический конденсатор емкостью 10 мкФ. Это необходимо для того, чтобы избежать автоматического сброса Arduino при загрузке программы в ATtiny85. Обратите внимание что анод (+) конденсатора подключен к GND Arduino.

Плата разработки Digispark Attiny85
8кБ флэш-память, I2C и SPI, питание от USB или 7-35В...
Подробнее

Программирование и загрузка скетча

Теперь мы готовы загрузить пример кода в ATtiny. Сначала нам нужно настроить IDE Arduino следующим образом:

  1. Выберите ATtiny в разделе «Инструменты — Плата».
  2. Выберите ATtiny85 в разделе «Инструменты — Chip».
  3. Выберите 8 МГц (internal) в меню «Инструменты — Clock».
  4. Выберите Arduino as ISP в разделе «Инструменты — Программатор».
  5. Выберите «Инструменты — Записать загрузчик»

Если все сделано правильно, вы должны увидеть сообщение об успешной записи Загрузчика.

Далее мы модифицируем стандартный скетч 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, должен мигать.

Цифровой мультиметр AN8009
Большой ЖК-дисплей с подсветкой, 9999 отсчетов, измерение TrueRMS...
Подробнее

Оставить комментарий

Ваш email нигде не будет показан. Обязательные для заполнения поля помечены *

*