Программирование ATtiny85 с помощью Arduino Uno
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
Об этом проекте
Я работаю над проектом, который требует считывания данных нескольких датчиков в разных местах. Для этого требуется всего несколько выводов PWM, поэтому использование нескольких Arduino Uno было бы дорогостоящим и ненужным. Поэтому я решил использовать микроконтроллер ATtiny85 вместо плат разработки Arduino Uno. ATtiny85 - дешевая и мощная альтернатива, когда вам не нужно слишком много контактов PWM. Поскольку ATtiny85 - это просто микроконтроллер, нам понадобится Arduino Uno для его программирования. В этом проекте я объясню, как это сделать. Ниже представлена конфигурация выводов ATtiny85, а техническое описание можно найти здесь http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf.

Настройка Arduino Uno в качестве ISP (внутрисистемное программирование)
Чтобы запрограммировать ATtiny85, нам нужно сначала установить Arduino Uno в режим ISP. Подключите ваш Arduino Uno к ПК. Откройте Arduino IDE, откройте файл примера ArduinoISP (Файл -> Примеры -> ArduinoISP) и загрузите его.
Добавление поддержки ATtiny85 в IDE Arduino
По умолчанию Arduino IDE не поддерживает ATtiny85, поэтому мы должны добавить платы ATtiny в Arduino IDE. Откройте файл -> Настройки и в URL-адресах диспетчера дополнительных плат укажите этот URL https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json.

После этого откройте Инструменты -> Доска -> Менеджер доски

После открытия Board Manager прокрутите список вниз, где написано «attiny by Davis A. Mellis». Щелкните по нему и установите.

После установки вы сможете увидеть новую запись в меню «Доска»

Подключение ATtiny85 к Arduino Uno
Теперь, когда все готово, мы приступим к программированию attiny85. Подключите arduino uno к attiny85, используя макетную плату, как показано ниже.
Arduino Uno - ATtiny85
- 5 В - Vcc
- Земля - Земля
- Вывод 13 - Вывод 2
- Вывод 12 - Вывод 1
- Вывод 11 - Вывод 0
- Контакт 10 - сброс


Добавьте конденсатор 10 мкФ между RESET и GND в Arduino. Это сделано для того, чтобы избежать автоматического сброса Arduino при загрузке программы в attiny85. Если вы используете электролитический конденсатор, убедитесь, что анод подключен к заземлению uno.
Загрузка программы на ATtiny85
Теперь вернемся к Arduino IDE. Выберите ATtiny в разделе Инструменты -> Доска. Затем выберите ATtiny85 в разделе Инструменты -> Процессор. И выберите 8 МГц (внутренняя) в меню Инструменты -> Часы.


Затем убедитесь, что Arduino как ISP выбран в меню «Инструменты» -> «Программист»
.
По умолчанию ATtiny85 работает на частоте 1 МГц. Чтобы заставить его работать на частоте 8 МГц, выберите Инструменты -> Записать загрузчик.


Вы получите указанное выше сообщение, если запись загрузчика прошла успешно.
Теперь откройте пример Blink из примеров Arduino, измените номер пина с 13 на 0 и загрузите.


Вы можете увидеть сообщение выше, если все прошло успешно. Теперь мы загрузили программу мигания на ATtiny85 и теперь давайте ее протестируем.
Тестирование ATtiny85 Blink
Пришло время проверить. Снимите все соединения с Arduino и возьмите источник питания. Здесь я буду использовать кнопочную ячейку для питания ATtiny85.

Это программа мигания, работающая на ATtiny85 с одним аккумулятором для его питания. Вы можете выполнять множество проектов с низкой стоимостью, низким энергопотреблением и малым пространством. Здесь пределом является только ваше воображение и, конечно же, количество выводов ШИМ.
Превращение в щит
Я преобразовал указанную выше схему в щит, совместимый с Arduino Uno.





(Примечание:я разработчик программного обеспечения, это мой первый проект по электронике. Присылайте свои предложения, которые помогут мне сделать больше.)
Код
- Программа Blink
Программа Blink C / C ++
/ * Blink Многократно включает светодиодный индикатор на одну секунду, затем выключается на одну секунду. Большинство Arduinos имеют встроенный светодиод, которым вы можете управлять. На Uno и Leonardo он прикреплен к цифровому выводу 13. Если вы не знаете, к какому выводу подключен встроенный светодиод на вашей модели Arduino, проверьте документацию на http://arduino.cc Этот пример кода находится в общественное достояние. изменено Скоттом Фитцджеральдом 8 мая 2014 г. * /// функция настройки запускается один раз, когда вы нажимаете кнопку сброса или включаете плату .void setup () {// инициализирует цифровой вывод 13 как выход. pinMode (0, OUTPUT);} // функция цикла выполняется снова и снова навсегдаvoid loop () {digitalWrite (0, HIGH); // включаем светодиод (HIGH - уровень напряжения) delay (1000); // ждем второго digitalWrite (0, LOW); // выключить светодиод, установив напряжение LOW delay (1000); // ждем секунду}
Схема


Производственный процесс
- Python — программирование расширений с помощью C
- Часы Arduino с исламским временем молитв
- Управление монетоприемником с помощью Arduino
- Arduino с Bluetooth для управления светодиодом!
- Простой калькулятор UNO
- Отображение изображения на ЖК-экране TFT с помощью Arduino UNO!
- Постоянство видения
- Управление светодиодной матрицей с помощью Arduino Uno
- Светодиодный куб 4x4x4 с Arduino Uno и 1sheeld
- 4-контактный ШИМ-контроль вентилятора, 25 кГц, с Arduino Uno