Attiny85: ATtiny85 — 8-bit AVR Microcontrollers

Большой обзор Digispark Attiny85 — блог

Сигнализатор открытой двери

Одним из самых насущных примеров применения устройства на базе ATtiny85 является сигнализатор дверного замка. Любой из жителей городской квартиры сталкивался с проблемой не закрытой входной двери.

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

Чтобы этого не делать раз за разом, достаточно собрать небольшое устройство на базе ATtiny85. Для этого кроме микроконтроллера понадобится микропереключатель, пьезокерамическая пищалка и батарейка.

Для работы устройства необходим будет простой код, который будет включать звук через 3-5 минут после начала работы микроконтроллера. Для включения контроллера необходим микропереключатель, который будет взаимодействовать с ригелем дверного замка. Если ригель не давит на включатель, то устройство срабатывает через заданный тайм аут. Звук предупредит, что замок входной двери не закрыт.

При включении устройства (при открытии замка) раздается короткий писк, предупреждающий о том, что сигнализатор работает, а его батарейка все еще генерирует энергию.

Сигнализатор открытой двери имеет компактные габариты, легко помещается в дверной коробке.

Автоматическая подсветка гардероба

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

Кроме микроконтроллера ATtiny85 для создания подобного устройства понадобиться корпус от светильника, датчик света, батарейный отсек, передатчик на 433 МГц и датчик движения.

Датчик света можно взять от сломанного фонаря на солнечной батарее, датчик движения – надежный и простой HC-SR 501. Сборка все это в единое целое не займет много времени, а код и отладочная плата прекрасно завершат работу.

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

Для этого можно использовать в конструкции выключатели Livolo, принимающие сигнал по радио. При отсутствии движения ATtiny85 выключает светильник, тайм аут можно настроить на любое время, оптимальным вариантом является 1 минута.

Это позволяет экономить энергию, которая в спящем режиме потребляется не менее 60 мкА. В процессе работы устройство потребляет 8-9 мА.

Датчик контроля протечек

Конечно, подобных систем немало в свободном доступе, но большинство из них срабатывает уже при затоплении. В ряде случае сигнал от такого датчика оказывается запоздалым – соседи снизу приходят быстрее.

Теоретически, при протечке должна быстро увеличиваться влажность, так как ситуация развивается в небольшом по объему помещении. За основу прибора по этой причине был взят популярный датчик влажности и температуры, для подключения которого был написан соответствующий код.

Минусом данного устройства, как датчика протечки, оказался порог срабатывания. Тестировался прибор в сантехническом шкафу и оказалось, что влажность в нем на протяжении суток может колебаться в значительных пределах без каких-либо протечек.

В то же время изрядно промокшая тряпка, помещенная в шкаф, показания влажности изменила не критично. То есть, если вода будет тихонько стекать по стенке, сигнал от устройства не поступит.

Подобный результат опытов огорчил, но не сильно, ведь устройство может прекрасно работать в качестве метеодатчика, передавая данные о динамике уровня влажности.

ПРОГРАММИРУЕМ ATTINY85 ИЗ ARDUINO ISP

 

Распиновка микроконтроллера Attiny85

Начнем с того, а есть ли у вас ардуино и Attiny85? Нет? Идем покупать, и снова за статью. Для тех у кого есть Arduino — устанавливаем среду программирования Arduino IDE. Кратенько напомним как это сделать.

Идём на сайт arduino.cc и скачиваем Arduino IDE (на данный момент версия Arduino 1.0.5), Windows Installer, чтобы ни чем не заморачиваться, пусть сама думает куда ставится, чего, и как называть. Скачать ардуино можно по ссылке http://arduino.googlecode.com/files/arduino-1.0.5-r2-windows.exe

Запускаем установку от имени «Администратора», трудностей с установкой как правило не возникает, только если у вас система супер экзотическая, далее соглашаемся доверять программному обеспечению… на этом с установкой ArduinoIDE все.

Теперь для тех у кого есть Attiny85, и вы решили узнать что это такое…. Чтобы настроить Arduino IDE для работы с микроконтроллерами ATtiny, нужны следующие вещи:

Макетная плата, можно самую маленькую.
Соединительные провода.
Arduino UNO или Duemilanome.

Электолитический конденсатор 10Мкф на 25V.
Светодиод.
Резистор 200 Ом.

Платформа Arduino поддерживает микроконтроллеры фирмы Atmel ATmega, для поддержки микроконтроллеров ATtiny84 (84/44/24), ATtiny85 (85/45/25), and ATtiny2313 (4313), а также ATtiny13, необходимо добавить все эти элементы в ядро. Для этого скачиваем архив — актуальную версию можно скачать с «arduino-tiny» http://code.google.com/p/arduino-tiny/) с нужными элементами (на сегодня актуальна arduino-tiny-0100-0018.zip), и распаковываем его в…

…Заходим в директорию для Windows7 это c:UsersAlexGercen*DocumentsArduino и создаем здесь папку «hardware», заходим в нее, создаем папку «tiny», распаковываем архив в эту папку. После распаковки архива заходим в c:Users AlexGercen*DocumentsArduinohardwaretiny, и в этой директории переименовываем файл Prospective Boards.txt в boards.txt.

Для микроконтроллеров ATtiny13, тоже понадобится другое ядро, но это другая история…

* имя пользователя Windows — у меня AlexGercen, у вас свое.

Теперь все готово для запуска среды программирования arduinoide, запускаем ее с рабочего стола. В меню выбираем Файл, Настройки, Editor Language — выбираем русский язык, и за одно смотрим путь «Расположения папки со скетчами» (это к тому, туда ли вы распаковали ядро для Attiny).

 

Меню программы Arduino IDE — настройки языка

Далее переходим в меню Сервис, Программатор, Arduino us ISP

 

Arduino как программатор ISP (Arduino us ISP)

Подключаем плату Arduino через USB шнур и в меню ArduinoIDE жмем в верхнем меню на кружок со стрелкой — Загрузить. После этого наша плата готова работать как программатор.

Теперь выбираем устройство — Сервис, Плата, «ATtiny85 @ 8 MHz (internal oscillator; BOD disabled)» поскольку кварц нам не нужен.

 

В меню Arduino IDE «Сервис» выбираем attiny 85

 

Теперь, после всех проделанных манипуляций, плата готова работать не просто как программатор, а программатор Attiny 85.

Остаётся присоединить к портам ардуины тиньку и залить в нее программу.

Продолжение следует…

Начало работы с Digispark., а для кого то просто ATtiny85 с USB . Установка драйверов и работа с arduino IDE

Итак начнем с разбора самой платы и ёё возможностей .

ATtiny85 — небольшой микроконтроллер с приличными возможностями и приятными особенностями, включая:


Плата разработчика ATTINY85 предназначена для разработки устройств с минимальными требованиями к периферии и возможностью непосредственного подключения к USB интерфейсу компьютера для программирования и отладки. Для подключения к компьютеру не требуется кабеля — контроллер подключается непосредственно в USB разъем. У контроллера выведено 6 выходов и все они доступны для использования. Два зарезервировано для работы с USB интерфейсом, к одному подключен светодиод. Для разработки можно использовать среду разработки Arduino IDE (OSX/Win/Linux).

Питаться устройство может от USB интерфейса, внешнего источника напряжением 5В и напряжением от 7В до 12В от внутреннего стабилизатора напряжения 5В 500мА. Переключение источника питания происходит автоматически.

Функции выводов контроллера:

  • Р0 — ARef, SDA, DI, PWM
  • P1 — DO, PWM
  • P2 — D/A, SCK
  • P3 — D/A, USB+
  • P4 — PWM, D/A, USB-
  • P5 — D/A

Характеристики:

  • Микроконтроллер: ATTINY85
  • Внутренний генератор: 8МГц
  • Встроенный умножитель частоты: 8
  • Объем памяти программ: 8Кбайт (6Кбайт доступных)
  • Аппаратные интерфейсы: SPI, I2C
  • ШИМ: 3 канала
  • АЦП: 4 канала
  • Индикаторы: Питание Состояние (Pin0)

    Источник https://arduino.ua/prod1985-plata-razrabotchika-attiny85-usb-ot-digispark

Пинмапинг и распиновка 

 

Покупал я платы на Алиэкспресс :

Самая простая версия  http://ali.pub/2ak39d   

Версия с микро USB  http://ali.pub/2ak3dn 

Версия с микроюсб про http://ali.pub/2ak3iw  


Устанавливаем своеобразный плагин для среды Arduino (поддерживается начиная с версии 1.6.5). 

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

Вставляем в поле Additional Boards Manager URLs строку

http://digistump.com/package_digistump_index.json    


Переходим в меню Инструменты — Boards Manager:


В выпадающем списке Type выбираем Contributed, а затем щелкаем по Digistump AVR Boards, при этом появится кнопочка Install, которую и нажимаем:


Начнется скачивание и установка софта и драйверов. Говорим, что согласны на все:

(Так же драйвера можно скачать здесь https://github.com/digistump/DigistumpArduino/releases  )



Выбираем рекомендованную для начинающих плату Digispark (Default — 16,5mhz) — выбираем вашу плату :


Теперь можем перейти в раздел примеры — digispark и выбрать понравившийся вам тестовый скетч :

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

Таймаут на загрузку — 60 секунд:

Связано это с особым режимом работы загрузчика: при старте контроллера он ждет загрузки кода через USB в течение 5 секунд, а потом переключается в режим исполнения имеющегося в памяти контроллера кода.

Иными словами, если контроллер подключить к компьютеру до приглашения, то спустя пять секунд он начнет выполнять имеющийся код (если есть), а чтобы загрузить новый, нужно отключить и снова подключить плату к компьютеру.

Загрузка пошла:


Знакомство с платой прошло успешно ! )))) 

Подписывайся на Geek каналы :

➤ VK — https://vk.com/denis_geek

➤ VK — https://vk.com/club_arduino

➤ VK — https://vk.com/chinagreat

➤ VK — https://vk.com/solar_pover

➤ VK — https://vk.com/my_vedroid

➤ VK — https://vk.com/3dprintsumy

➤ Youtube — http://www.youtube.com/c/Danterayne

★ Моя партнёрка с Aliexpress ★

http://ali.pub/1j9ks1 

★ Получай 10.5% скидку с любой покупки на Aliexpress! ★

http://ali.pub/1lx67o

★ Полезное браузерное приложение для кэшбэка  ★




Самодельные часы-кольцо на ATtiny85 / Хабр

Китайский мейкер Чэнь Лян (陳亮) опубликовал пошаговую инструкцию, как собрать симпатичные часы-кольцо на микроконтроллере ATtiny85.

По сравнению с прошлым проектом ATtiny Watch Core, автор решил, что система будет работать при электрическом напряжении 2.0 V, поэтому сойдёт маленький микроконтроллер ATTINY85V-10SU. К нему — малюсенькая отладочная плата Digispark.

Батарейки CR1220 должно хватить на полгода работы.

Для дисплея автор взял OLED-дисплей SSD1306, самый маленький такой экран имеет разрешение 64х32 пикселя.

Корпус проще всего напечатать на 3D-принтере, а дисплей покрыть прозрачным кусочком пластика.

Для сборки понадобятся ещё три винтика M2, три кнопки, два резистора (более 1k), медные провода с изоляцией, тонкая пластинка, переходная плата с SOP8 на DIP8 и небольшой кусок многоцелевой платы PC.

Автор подробно описывает установку и настройку Arduino, приводит ссылки на исходники всего софта, необходимого для работы часов, он также выложил файлы для 3D-печати корпуса часов.

Далее см. инструкцию по спаиванию контактов.

Подключение кнопок и дисплея.

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

Дело почти сделано! После установки корпуса можно хвастаться перед друзьями крутыми часами, каких больше нет ни у кого.

Распиновка микроконтроллера

ATtiny85, характеристики, спецификации и техническое описание

ATtiny85 — это высокопроизводительный 8-битный микроконтроллер с низким энергопотреблением, основанный на архитектуре Advanced RISC. Он имеет 8 Кбайт внутрисистемной программируемой флэш-памяти и популярен благодаря своему компактному размеру и своим функциям.

Конфигурация контактов Attiny85

Это 8-контактная ИС, как показано на схеме контактов Atiny85 , показанной выше. Большинство выводов ввода / вывода микросхемы выполняют несколько функций, и описание каждого вывода приведено ниже.

Контактный №

Имя контакта

Описание

Дополнительная функция

1

PB5 (PCINT5 / ADC0 / dW)

Контакт 5 PORTB

PCINT5: Прерывание смены контакта 0, Источник5

СБРОС: Пин сброса

ADC0: входной канал 0 АЦП

dW: отладка WIRE I / O

2

PB3 (PCINT3 / XTAL1 / CLKI / ADC3)

Контакт 3 PORTB

PCINT3: прерывание смены контакта 0, источник3

XTAL1: Вывод 1 кварцевого генератора

CLKI: вход внешнего тактового сигнала

OC1B: Дополнительный выход таймера / счетчика 1 для сравнения B

ADC3: входной канал 3 АЦП

3

PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2)

Pin4 PORTB

PCINT4: Прерывание смены контакта 0, источник 4

XTAL2: Вывод 2 кварцевого генератора

CLKO: Выход системных часов

OC1B: Таймер / Счетчик1, выход сравнения B

ADC2: входной канал 2 АЦП

4

GND

Подключено к земле

5

PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0)

Pin0 порта PORTB

MOSI: вывод основных данных SPI / ввод данных ведомого

DI: ввод данных USI (трехпроводной режим)

SDA: ввод данных USI (двухпроводной режим)

AIN0: аналоговый компаратор, положительный вход

OC0A: Таймер / Счетчик 0 Выход сравнения A

: Дополнительный выход таймера / счетчика 1 для сравнения A

AREF: Внешний аналоговый опорный сигнал

PCINT0: Прерывание смены контакта 0, источник 0

6

PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1)

Контакт1 PORTB

MISO: ввод основных данных SPI / вывод данных ведомого

DO: вывод данных USI (трехпроводной режим)

AIN1: аналоговый компаратор, отрицательный вход

OC0B: Таймер / Счетчик 0 Выход сравнения B

OC1A: таймер / счетчик1, выход сравнения A

PCINT1: прерывание смены контакта 0, источник 1

7

PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2)

Контакт 2 порта PORTB

SCK: последовательный тактовый вход

USCK: часы USI (трехпроводной режим)

SCL: часы USI (двухпроводной режим)

ADC1: входной канал 1 АЦП

T0: Таймер / счетчик0 Источник тактовой частоты

INT0: вход внешнего прерывания 0

PCINT2: прерывание смены контакта 0, источник 2

8

VCC

Подключен к положительному напряжению

Характеристики и электрические характеристики

ЦП

8 бит

Количество контактов

8

Количество программируемых контактов ввода / вывода

6

Рабочее напряжение

+1.От 8 В до +5,5 В (ATTINY85V)

от +2,7 В до + 5,5 В (ATTINY85) (+ 6,0 В — абсолютное максимальное напряжение питания)

Максимальный постоянный ток на контакт ввода / вывода

40 мА

Максимальный постоянный ток через контакты VCC и GND

200 мА

Рабочая температура

от -55ºC до + 125ºC

Интерфейс связи

Главный / подчиненный последовательный интерфейс SPI (5,6,7 PIN) [Может использоваться для программирования этого контроллера]

I2C или двухпроводной последовательный интерфейс (5,7 PINS) [Может использоваться для подключения периферийных устройств и датчиков]

Универсальный последовательный интерфейс (5,6,7 PINS) [Может использоваться для связи с другими контроллерами]

Интерфейс UART

Не доступен

Функция АЦП

4 канала, разрешение 10 бит АЦП

Аналоговые компараторы

1

Модуль таймера

Два 8-битных счетчика

Выходы ШИМ

4

Внешний осциллятор

0-10 МГц для ATTINY85V

0-20 МГц для ATTINY85

Внутренний осциллятор

Калиброванный внутренний генератор R-C, 0–8 МГц

Частота процессора

1 MIPS при 1 МГц

Размер памяти программ или флэш-памяти

8 Кбайт [10000 циклов записи / стирания]

Объем оперативной памяти

512 байт на внутренней SRAM

Размер EEPROM

512 Байт программируемой внутрисистемной EEPROM

Блокировка программы

В наличии

Сторожевой таймер

В наличии

Режимы энергосбережения

Три режима [холостой ход, шумоподавление АЦП, выключение питания]

ATTINY85 Альтернативы

ATTINY25, ATTINY45, ATTINY25V, ATTINY45V, ATTINY85V

Краткое описание микроконтроллера ATTINY85

  • ATTINY85 дешево и легко доступно для экспериментов
  • ATTINY85 имеет множество доступных справочных данных, с которыми легко работать.
  • Также ATTINY85 предоставляет множество функций в меньших контактах.
  • С программной памятью 8 Кбайт контроллер имеет достаточную память для многих приложений.
  • С различными режимами ЭНЕРГОСБЕРЕЖЕНИЯ он может работать в приложениях с батарейным питанием.
  • Благодаря своему небольшому размеру и компактным размерам его можно разместить на многих небольших досках.
  • Благодаря сторожевому таймеру и другим функциям использование ATTINY85 расширяется.

Как использовать микроконтроллер ATTINY85

ATTINY85 работает как любой другой микроконтроллер.В одном предложении все, что делают микроконтроллеры, — это выполнение прикладной программы, сохраненной в его памяти. Так что в случае контроллеров все, что нужно сделать, это написать прикладную программу. Без программирования контроллер просто простаивает.

Пошаговая процедура программирования ATTINY85 объясняется ниже:

  1. Сначала перечислите задачи, которые должны быть выполнены приложением для проектирования.
  2. Запишите функции, которые должны выполняться контроллером для выполнения необходимых задач.
  3. Разработайте программный код для функций в программном обеспечении IDE.
  4. После написания программы откомпилируйте ее для устранения ошибок.
  5. Заставить среду IDE сгенерировать HEX-файл для написанной программы после компиляции.
  6. Этот файл HEX содержит машинный код, который должен быть сохранен во флэш-памяти микроконтроллера.
  7. Выберите устройство программирования (обычно программатор SPI для микроконтроллеров AVR), который устанавливает связь между ПК и ATTINY85.Вы также можете запрограммировать микроконтроллер с помощью интерфейса UART. Программирование ATTINY85 также может быть выполнено с использованием плат ARDUINO.
  8. Запустите программное обеспечение программатора и выберите соответствующий шестнадцатеричный файл.
  9. Запишите шестнадцатеричный файл записанной программы во флэш-память ATTINY85, используя эту программу.
  10. После отключения программатора подключите соответствующие периферийные устройства для контроллера и запустите систему.

После включения ATTINY85 выполняет машинный код, сохраненный в его памяти, чтобы создать запрограммированный ответ.

Приложения

Применения ATTINY85 много, и некоторые из них указаны ниже

  • Используется в платах разработки.
  • Хобби-проекты
  • Драйверы
  • Промышленные системы управления.
  • SMPS и системы регулирования мощности.
  • Измерение аналоговых сигналов и манипуляции с ними.
  • Встроенные системы, такие как кофеварка, торговый автомат.
  • Дисплейные единицы.
  • Система периферийного интерфейса.

2D Модель

ATtiny85 Microcontroller Dimensions

.

Программирование ATtiny85 и ATtiny45 с помощью Arduino IDE

ATtiny — это семейство микроконтроллеров от Atmel, той же компании, которая обеспечивает серию ATmega, широко используемую в «настоящих» Arduinos. По сравнению с ATmega, ATtinys намного проще, меньше (обычно), с меньшим количеством функций. Но также дешевле, проще в подключении, потребляет меньше энергии и, поверьте мне, во многих случаях вам не понадобится 32 КБ флэш-памяти. Если, например, вы хотите создать устройство, которое будет издавать звуковой сигнал каждые 10 минут, какой микроконтроллер вы бы использовали: огромный DIP-28 ATmega328P от Arduino UNO R3 или маленький DIP-8 ATtiny25, который использует намного меньше энергии и стоит около 1 евро? Я бы использовал ATtiny.

В семействе ATtiny много микроконтроллеров. В этом руководстве и во всех последующих статьях этой серии я сконцентрируюсь на ATtiny85 с 8 КБ флэш-памяти. Есть две более простые версии: ATtiny25 и ATtiny45 с 2 и 4 КБ флэш-памяти соответственно, но разница в цене между ними настолько мала, что я не вижу смысла пытаться их использовать. При покупке из Китая можно будет даже купить ATtiny85 дешевле, чем его меньшие братья.

Самое крутое в ATtinys — это то, что их можно программировать с помощью Arduino IDE .Нет необходимости в новых инструментах или библиотеках. Используйте ту же среду разработки, что и для Arduino. Есть даже готовые отладочные платы вроде Digispark от Digistump на базе ATtiny и «Arduino-совместимые». Конечно, они не на 100% совместимы с настоящим Arduino. Меньше флеш-памяти, меньше таймеров и так далее. Но многие программы, разработанные для «настоящей» Arduino, могут быть легко адаптированы для работы, например, на ATtiny85.

Что нам понадобится:

  • Arduino IDE, здесь я предлагаю последнюю версию от 1.Семейство 6.x (1.6.7 на момент написания поста),
  • Определения оборудования ATtiny. Их как минимум несколько, я обычно ими пользуюсь. Их можно установить либо напрямую, поместив их в папку Arduino / hardware, либо с помощью Boards Manager , добавив https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/ package_damellis_attiny_index.json в Настройки -> URL-адреса диспетчера дополнительных плат и установка в Диспетчер плат ,
  • ATtiny.Как я уже писал ранее, для начала предлагаю ATtiny85. Дешевый и достаточно мощный,
  • Что-то для программирования нашего ATtiny. Поскольку USB нет, можно использовать внешний программатор. См. Подробности в следующем абзаце,

Разработка «Совместимые» с Arduino платы, такие как Digispark, оснащены USB-портом за счет «нескольких» байтов флэш-памяти, зарезервированных для специального загрузчика. Это упрощает весь процесс программирования, но в этом нет необходимости. Достаточно чистой ATtiny с программатором. Здесь у нас есть несколько вариантов:

  • Arduino UNO как программист .Если у вас уже есть Arduino, это выбор для начала. Все, что вам нужно, это несколько кабелей, Arduino UNO и конденсатор. Работает, но скоро захочется чего-нибудь получше. Читайте здесь, как это сделать,
  • Только ATtiny, преданный программист. Лучше, но что, если вы хотите программировать что-то еще?
  • USBasp, мой любимый выбор здесь, так как он позволяет программировать почти все микроконтроллеры AVR,
  1. Я предполагаю, что вы уже установили определения оборудования для микроконтроллеров ATtiny,
  2. Откройте меню доски и выберите ATtiny
  3. Выберите процедуру
.

Добавить комментарий

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