Attiny85: Про Ардуино и не только: Знакомство с ATtiny85

Содержание

Прошивка Attiny85 через Arduino. Инструкция

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

HILDA - электрическая дрель

Многофункциональный электрический инструмент способн...

Микроконтроллер ATTINY85

Микроконтроллер ATTINY85 был куплен на Aliexpress. Сначала необходимо изучить распиновку которая показана ниже:

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

На рисунке мы видим следующие контакты (порты), помеченные как PB0, PB1, PB2, PB3, PB4 и PB5. Также есть контакты GND и VIN. Они соответствуют земле (контакт 4 ) и плюс питания (контакт 8 ).

Подключение ATTINY85 к ARDUINO NANO

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

  1. Arduino Nano (или любая другая плата Arduino)
  2. ATtiny85
  3. перемычки
  4. электролитический конденсатор — 10 мкФ ~ 25 В

Соединим вместе необходимые выводы обеих платах.

Нам нужно соединить выводы MOSI , MISO и SCK обеих плат вместе, а цифровой вывод 10 Arduino Nano — к PB5 ATtiny85.

Добавьте конденсатор 10 мкФ между RESET и GND в Arduino. Это сделано для того, чтобы Arduino Nano не сбрасывалась автоматически при загрузке программы в Attiny85.

Для успешного программирования ATTiny85 необходимо настроить две вещи.

Установка  ATTINY BOARDS

Откройте программное обеспечение Arduino IDE, затем перейдите в Файл  > Настройки. Вы увидите дополнительные URL-адреса менеджера плат. Добавьте  эту ссылку:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Нажмите ОК.

Теперь перейдите в Инструменты > Плата > Boards Manager. Введите Attiny в поле поиска, и вы должны увидеть строку attiny by David A. Mellis. Щелкните по ней и произойдет установка платы. Теперь вы должны увидеть плату Attiny85 в списке, когда вы перейдете в Инструменты > Плата. Прокрутите вниз, чтобы убедиться, что плата действительно установлена.

Arduino как ISP

Подключите Arduino Nano к своему компьютеру. Перейдите в Файл > Примеры > ArduinoISP и нажмите Arduino ISP. Затем перейдите в Инструменты > Платы и выберите Arduino Nano (или желаемую плату). Перейдите в Инструменты > Порт и выберите порт, к которому подключена ваша плата.

Загрузите скетч ArduinoISP на свою Arduino Nano (или на другую плату), выбрав «Скетч» > « Загрузить». На этом этапе ваш Arduino Nano готов к использованию в качестве программатора.

Примечание. В некоторых случаях необходимо выбрать процессор: «ATMega328P (старый загрузчик)».

Загрузка скетча в ATTINY85

Убедитесь, что соединения выполнены, как описано выше. Откройте программу / скетч, которую хотите загрузить в микроконтроллер ATtiny85. Перейдите в Инструмент и настройте следующее.


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

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

Тестирование ATTINY85 BLINK

Пришло время проверить. Отключите все соединения с Arduino и подключите источник питания (в данном случае батарейка CR2032):

Паяльный фен YIHUA 8858

Обновленная версия, мощность: 600 Вт, расход воздуха: 240 л/час...

Модуль RC049. USB-модуль микроконтроллера на ATtiny85

     «USB-модуль МК на ATtiny85» представляет собой универсальный микроконтроллер, который благодаря конструктивным особенностям может использоваться как совместно с Arduino-совместимыми платами, так и в иных разработках. Наиболее интересно использование модуля в тех случаях, когда применение полноценных плат платформы Arduino (Pro Mini, Uno, Mega и т.д.) избыточны. Так же, помимо конкретных разработок, наличие USB разъема позволяет использовать модуль в качестве стенда для прототипирования и обкатки программного кода перспективных разработок.

Краткое описание
     Микроконтроллер выполнен на печатной плате с планарным USB-разъемом, на которой установлены микросхема микроконтроллера, линейный стабилизатор напряжения +5В, и некоторые радиокомпоненты.
     В качестве микроконтроллера используется микросхема ATTiny85 – высокопроизводительный контроллер AVR- архитектуры с низким энергопотреблением и возможностью внутрисхемного программирования из линейки микроконтроллеров ATtiny компании Atmel. Используемая конструкция модуля позволяет программировать контроллер как через pin- разъем и платы Arduino, так и через USB разъем и подключение к компьютеру без использования специального программатора.

     Линейный стабилизатор напряжения на микросхеме LM78M05 позволяет питать контроллер двумя путями: напряжением до 5В при подключении к пину 5V и до 12В при подключении к Vin (через стабилизатор). Если верить инструкции (datasheet) на стабилизатор, он может выдержать и до 35В, но, вероятно, недолго.
          На плате модуля установлены светодиоды, индицирующие наличие напряжения питания +5 В красного цвета и передачу данных по шине (MISO) оранжевого цвета.
Микроконтроллеры серии ATtiny 25/45/85 хорошо известны радиолюбителям и в интернете на многих ресурсах описаны примеры конструирования и программирования контроллеров.

Назначение выводов pin- разъема
Все выводы могут быть использованы в качестве цифровых входов/выходов

Pin Обозначение Назначение
P0 AREF SDA OI PWM MOSI , I2C SDA, PWM
P1 DO PWM MISO , PWM
P2 D/A SCK I2C SCK, Analog
P3 D/A USB+ Аналоговый вход (Занят контактом USB+, в случае использования USD)
P4 PWM D/A USB- PWM (Занят контактом USB-, в случае использования USD)
P5 D/A Аналоговый вход
PB5 NRES Сброс

Pin –разъем внешнего питания

VIN Внешнее нестабилизированное, 4,2 – 12 В
GND Общий
5V Стабилизированный, +5 В

Краткие характеристики модуля:

- 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением
- 8 Кбайт внутрисхемно-программируемой Flash-памяти
- 512 байт EEPROM
- 512 байт встроенной SRAM
- внутренняя периферия:
     - один 8-разрядный таймер/счетчика
     - один 8-разрядный высокоскоростной таймер/счетчик (на 2 PWM)
     - универсальная последовательная шина USI с детектором начала обмена

     - 10-битный АЦП:
          - 4 независимых канала
          - 2 пары диффиренциальных каналов с выбором усиления (1х, 20х)
          - измерение температуры
     - внутрисхемное программирование через SPI
     - программируемый сторожевой таймер (WATCHDOG) с отдельным генератором
     - аналоговый компаратор
     - супервизор питания
     - внутренний калиброванный осциллятор
- рабочее напряжение: через USB порт, +5 В через pin-разъем «5V» или до 12 В через «Vin»
- индустриальный температурный диапазон -40°C to 85°C
- максимальная рабочая частота 20 МГц
- рабочее напряжение: через USB порт, +5 В через pin-разъем «5V» или до 12 В через «Vin»

Схема электрическая принципиальная

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

1. AVRDUDE Мощная утилита AVRDUDE позволяет загружать программы и данные в память микроконтроллера, а также считывать их оттуда. AVRDUDE использует SPI-интерфейс. Существуют версии для Windows и Linux. AVRDUDE может использоваться через командную строку, чтобы читать или записать все типы памяти кристалла, или при помощи графического интерфейса. Использование AVRDUDE из командной строки удобно для полного программирования всей памяти кристалла, в то время как графический интерфейс полезен для исследования содержания памяти, изменения отдельных байтов EEPROM, fuse и lock битов и т.д. AVRDUDE поддерживает множество типов программирующих устройств, работающих как через интерфейс параллельного (LPT) порта, так и через последовательный (COM) порт, и может быть сконфигурирован для использования практически с любым LPT-устройством.

2. PonyProg Свободная GNU-утилита с открытым исходным кодом для программирования Flash-микросхем с последовательным доступом. Существует в Windows и Linux версиях. Имеет поддержку русского языка. Может использовать стандартный последовательный порт (COM) или параллельный (LPT) порт. Поддерживает ряд популярных программаторов.

3. IcProg Поддерживает полтора десятка популярных LPT-программаторов, в том числе самых простых. Осуществляет программирование кристалов через SPI. Имеет удобный графический интерфейс, переведенный на русский язык. Свободно распространяется в Интернете на сайте http://www.ic-prog.com/.

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

ATtiny13 и ATtiny85. Обзор и программирование с помощью Arduino. | Электроника и жизнь

Всем привет! В этой статье мы познакомимся с двумя микроконтроллерами семейства ATtiny: ATtiny13 и ATtiny85 и научимся их прошивать используя в качестве программатора Arduino UNO.

ATtiny13 20PU и ATtiny85 20PU

Собственно, эти микроконтроллеры младшие братья семейства ATMega, т.е. того самого семейства которые установлены в Ардуино. Например, ATmega328 – основа Arduino UNO, а ATmega2560 – основа Arduino Mega.

По внешнему виду оба данных микроконтроллера идентичны. Каждый имеет по 8 ножек, распиновка тоже практически одинаковая.

Распиновка

Основные для нас отличия заключаются в том, что ATtiny13 имеет 1КБ flash памяти (т.е. памяти для хранения программ), 64 байта оперативной памяти SRAM и 64 байта энергонезависимой памяти EEPROM. Тогда как ATtiny85 имеет 8КБ flash памяти и по 512 байт оперативной памяти и энергонезависимой памяти.

Сравнение ATtiny13, ATtiny85 и Arduino UNO

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

Цена за 10 шт ATtiny13 Цена за 10 шт ATtiny85

С полным перечнем других отличий Вы можете ознакомиться на сайте Avr.ru. Там есть достаточно подробная сравнительная таблица.

В качестве программатора будем использовать Arduino UNO. Выбираем Файл -> Примеры -> ArduinoISP. И предварительно проверив, правильно ли у нас выбрана плата и COM порт, загружаем скетч в Ардуино. Теперь Arduino UNO работает в режиме программатора. Вывести его из данного режима можно просто загрузив любой другой скетч, например тот же Blink.

Выбор скетча для перевода Arduino UNO в режим программатора

Начнем с ATtiny13. Размещаем ATtiny на макетной плате.

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

Номера пинов ATtiny13 и ATtiny85

Соединяем пин 1 ATtiny с 10 Ардуино, 4 - с землей, 5 – с 11, 6 – с 12, 7 – с 13, 8 – с выходом 5V Ардуино. С помощью конденсатора на 10 мкФ, соединяем reset и gnd Ардуино. Длинная плюсовая ножка к reset, а короткая минусовая к земле.

Схема соединения ATtiny и Arduino UNO

Возвращаемся в Arduino IDE. Открываем Файл -> Настройки. И в поле Дополнительные ссылки для Менеджера плат, вставляем ссылку для работы с ATtiny13:

https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
Ссылка для Менеджера плат

Переходим в Инструменты -> Плата -> Менеджер плат. В списке находим нужный нам пакет для работы с ATtiny13 и нажимаем установить.

Далее открываем стандартный скетч Blink.

В соответствии с даташитом нулевой пин Ардуино соответствует 5 пину ATtiny. Привяжем стандартную константу LED_BUILTIN к нулевуму пину Ардуино, а в соответствии с даташитом, это у нас будет 5 ножка ATtiny.

Скетч Blink

В качестве Платы выбираем ATtiny13. Остальные все значения оставляем как есть.

Выбор ATtiny13

Вначале в ATtiny нужно записать загрузчик. Уточняем, что в Инструментах -> Программатор выбрано Arduino as ISP. И нажимаем - Записать загрузчик. Это делается один раз.

Теперь загружаем сам скетч Blink в ATtiny. Выбираем Скетч -> Загрузить через программатор.

После загрузки скетча, подключаем длинную ножку светодиода к 5 пину ATtiny, а короткую через резистор 220 Ом соединяем с землей. Светодиод начинает мигать.

Собранная схема с ATtiny13 , Ардуино и мигающим светодиодом

Теперь проделаем ту же процедуру с ATtiny85. Извлекаем из макетной платы ATtiny13 и на его место ставим ATtiny85.

Возвращаемся в Arduino IDE. И в Дополнительные ссылки для Менеджера плат, вставляем ссылку для работы с ATtiny85:

https://raw.githubusercontent.com/damellis/ATtiny/ide-1.6.x-boards-manager/package_damellis_ATtiny_index.json - ATtiny85

Переходим в Инструменты -> Плата -> Менеджер плат. И устанавливаем пакет для работы с ATtiny85.

В Платах выбираем - ATtiny25/45/85. Процессор - ATtiny85. Clock – internal 16 MHz.

Выбираем ATtiny85

В начале, как и в случае с ATtiny13, записываем в Загрузчик.

А далее загружаем сам скетч Blink в ATtiny85. Светодиод мигает.

Собранная схема с ATtiny85 , Ардуино и мигающим светодиодом

В дальнейших проектах, там, где нам будет хватать характеристик ATtiny13, мы будем использовать именно его, а в более сложных проектах, будем использовать ATtiny85 и более мощные микроконтроллеры.

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

_________________________________________________________

Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!

Другие публикации по теме:

ATtiny85

Характеристики микросхемы

Наличие на складе

Артикул Наличие на складе  
ATtiny85 По запросу Заказать

Рекомендуемые средства отладки

Внутрисхемный отладчик ATATMEL-ICE

Microchip, Аппаратные

 

Внутрисхемный отладчик от компании Atmel ATATMEL-ICE является развитием и заменой популярного отладчика JTAGICE3.

Новая версия поддерживает больше отладочных интерфейсов и более широкую линейку микроконтроллеров Atmel. Отладчик работает почти со всеми доступными семействами кристаллов с ядром ARM Cortex (кроме Cortex-A5) и линейками 8- и 32-бит микроконтроллеров Atmel AVR. 


 

TFT-дисплеи Riverdi на базе графических контроллеров SSD1963

FTDI, Аппаратные

 

Одновременно с выпуском простых в освоении и использовании TFT-дисплеев с графическим контроллером FT8xx, компания Riverdi выпускает TFT-дисплеи на базе широко распространненого контроллера SSD1963.

 

На нашем сайте представлены все доступные модели дисплеев с контроллерами SSD1963 и отладочные средства для них. Все дисплеи выпускаются серийно и доступны для заказа от 1 шт.

 

TFT-дисплеи Riverdi без контроллера (RGB/LVDS)

FTDI, Аппаратные

 

Одновременно с выпуском простых в освоении и использовании TFT-дисплеев с графическим контроллером FT8xx, компания Riverdi выпускает TFT-дисплеи без встроенных контроллеров с параллельным интерфейсом RGB и последовательным LVDS.

 

На нашем сайте представлены все доступные модели дисплеев и отладочные средства для них. Все приведенные дисплеи выпускаются серийно и доступны для заказа от 1 шт.

Внутрисхемный программатор/эмулятор AVR Dragon (ATAVRDRAGON)

Microchip, Аппаратные

 

Отладочное средство AVR Dragon предназначено для программирования и внутрисхемной отладки микроконтроллеров AVR и AVR32 UC3 под управлением сред разработки AVR Studio.

 

Набор также может служить в качестве стартового набора для микроконтроллеров в DIP-корпусах, для которых на плате предусмотрены контактные площадки для их распайки или распайки ZIF-панели под них.

Внутрисхемный эмулятор JTAGICE2

Microchip, Аппаратные

 

Универсальный внутрисхемный эмулятор ATJTAGICE2 предназначен для всех микроконтроллеров AVR и AVR32 UC3 и поддерживает программирование по интерфейсам SPI, JTAG, PDI и внутрисхемную отладку по интерфейсам JTAG, debugWire, PDI и aWire.

Внутрисхемный эмулятор ATAVRONE

Microchip, Аппаратные

 

Универсальный внутрисхемный эмулятор для всех микроконтроллеров AVR и AVR32 UC3.

Графический конфигуратор MPLAB CODE CONFIGURATOR (MCC)

Microchip, Программные

 

Бесплатный плагин для сред разработки MPLAB X IDE и MPLAB Xpress IDE от компании Microchip, который позволяет в графической форме производить конфигурирование микроконтроллера.

Дополнительная плата Inertial Two (ATAVRSBIN2) для применения совместно с наборами Atmel Xplain

Microchip, Аппаратные

 

 

Сенсорная плата Inertial Two разработана корпорацией Atmel в сотрудничестве с ведущими производителями датчиков и позволяет упростить разработку полной пространственной инерциальной системы отсчета с девятью параметрами. На плате расположены :

  • Трехосевой MEMS гироскоп компании InvenSense (IMU-3000™)
  • Трехосевой MEMS акселерометр производства Kionix® Inc. (KXTF9)
  • Трехосевой электронный компас, производимый компанией Honeywell (HMC5883)

Датчик  IMU-3000 позволяeт также производить измерения окружающей температуры.

Дополнительная плата Inertial One (ATAVRSBIN1) для применения совместно с наборами Atmel Xplain

Microchip, Аппаратные

 

Дополнительная плата Inertial One (ATAVRSBIN1) для применения  совместно с наборами Atmel Xplain.

 

Сенсорная плата Inertial One разработана корпорацией Atmel в сотрудничестве с ведущими производителями датчиков и позволяет упростить разработку полной пространственной инерциальной системы отсчета с девятью параметрами. На плате расположены:

  • Трехосевой MEMS гироскоп компании InvenSense (ITG-3200)
  • Трехосевой  MEMS акселерометр производства Bosch Sensortec (BMA150)
  • Трехосевой электронный компас, производимый компанией AKM (AK8975)

Дополнительная плата Light and Proximity One (ATAVRSBLP1) для применения совместно с наборами Atmel Xplain

Microchip, Аппаратные

 

 

Сенсорная плата Light and Proximity One разработана корпорацией Atmel в сотрудничестве с ведущим производителем оптоэлектронных компонентов OSRAM Opto Semiconductors.

На плате расположен сенсор SFH 7770, предназначенный для одновременного измерения уровня окружающего освещения в диапазоне от 3 до 55000 люкс и фиксации приближения отражающих объектов. К сенсору подключены три управляемых им инфракрасных светодиода SFh5059, позволяющих различать направления движения и жесты.  Сенсоры предназначены для применения в мобильных устройствах для бесконтактного контроля перемещений.

Дополнительная плата Pressure One (ATAVRSBPR1) для применения совместно с наборами Atmel Xplain

Microchip, Аппаратные

 

Сенсорная плата Pressure One разработана корпорацией Atmel в сотрудничестве с ведущим производителем датчиков Bosch Sensortec и позволяет упростить разработку конечного оборудования с помощью отладочных плат Atmel Xplain для различных микроконтроллеров в зависимости от требуемой производительности.

На плате расположен датчик абсолютного давления с цифровым выходом BMP085 от Bosch Sensortec, оптимизированный для применения в мобильных устройствах (смартфоны и навигаторы, спортивное и носимое медицинское оборудование). 

Мезонинная плата STK600-ATTINY10

Microchip, Аппаратные

Мезонинная плата STK600-ATTINY10 предназначена для программирования микроконтроллеров ATtiny4, ATtiny5, ATtiny9 и ATtiny10 в малогабаритных корпусах SOT с шестью выводами.

Внутрисхемный эмулятор JTAGICE3

Microchip, Аппаратные

 

Устаревшее средство разработки. Универсальный внутрисхемный эмулятор для всех микроконтроллеров AVR и AVR32 UC3

Графическая среда разработки Algorithm Builder

Microchip, Программные

 

Algorithm Builder - это графическая среда сторонней разработки для создания программного обеспечения для микроконтроллеров AVR, обеспечивающая быстрое написание проектов различной степени сложности без глубинного изучения языков программирования для этой архитектуры. 

Интегрированная среда разработки AVR Studio 4

Microchip, Программные

 

Устаревшее средство для программирования и отладки 8-разрядных микроконтроллеров AVR

Интегрированная среда разработки AVR Studio 5

Microchip, Программные

 

Устаревшее средство для разработки и отладки приложений для микроконтроллеров AVR и AVR32

Статьи по теме

Емкостные сенсорные кнопки на базе технологии uxTouch Riverdi

FTDI, на русском языке

В предыдущей статье «Особенности TFT-дисплеев серии uxTouch компании Riverdi» было рассказано о серии дисплеев uxTouch компании Riverd. Особенностью этой серии дисплеев является то, что защитное стекло емкостного сенсорного экрана выполняет роли несущего элемента дисплея и внешнего декоративного оформления. Кроме серийных вариантов изготовления дисплеев uxTouch доступна возможность заказного оформления защитного стекла под требования конкретного проекта. Возможны варианты заказного исполнения цвета окантовки, нанесения логотипа и добавления окон под индикацию, а также добавление дополнительных сенсорных элементов. О возможности добавления дополнительных кнопок, использовании данной технологии для изготовления сенсорных клавиатур и работе с ними пойдет речь ниже.

Особенности TFT-дисплеев серии uxTouch компании Riverdi

FTDI, на русском языке

За последние три года продукция польской компании Riverdi прочно заняла свое место  в сегменте, где требуются простые в освоении и управлении цветные TFT-дисплеи. Это стало возможным за счет применения в TFT-модулях графических контроллеров FTDI. Сегодня Riverdi является единственным производителем TFT-дисплеев, кто использует в серийных модулях с диагоналями от 2.8” до 7” контроллеры FTDI FT8xx. Другим, не менее интересным решением Riverdi, является серия дисплеев под названием uxTouch. С этой линейкой дисплеев и возможностями по их модификации предлагаем познакомиться в данном обзоре.      

8-разрядные AVR корпорации Atmel: новинки и тенденции развития

Microchip, на русском языке

 

Для корпорации Atmel подразделение микроконтроллеров является одним из приоритетных. Ориентируясь на широкий спектр задач, Atmel Corp. предлагает микросхемы различного ценового диапазона, удовлетворяя потребности рынка как дешевыми устройствами с минимальной функциональностью, так и более дорогими мощными процессорами. В данной статье представлены новинки и новые отладочные средства, описаны тенденции развития для популярных 8-разрядных микроконтроллеров AVR.

Новости производителя

27.01.2017

Компания ЭФО получила официальный статус дистрибьютора компании Microchip

 

В 2016 году компания Microchip Technology приобрела фирму Atmel, продукция обеих компаний будет продолжать выпускаться под брендом Microchip.

У Microchip нет планов по снятию с производства какой либо продукции из портфолио Atmel, обозначения компонентов также будут сохранены без изменений. Компания ЭФО рада предложить свои услуги по поставкам и технической поддержке микроконтроллеров и другой продукции Microchip в качестве официального дистрибьютора на территории России.

 

27.01.2017

Приглашаем на семинар «Перспективная продукция „классического“ Microchip», который пройдет 10 февраля 2017 в Ростове-на-Дону

 

Обзорно-технический семинар будет проведен техническими специалистами компании Microchip при информационной и технической поддержке компании «ЭФО» – официального дистрибьютора Microchip в России.

Во время мероприятия будут рассмотрены следующие группы перспективной продукции компании Microchip:

  • Микроконтроллеры PIC – 8 / 16- / 32-bit
  • Средства поддержки разработок
  • Микросхемы Analog FrontEnd
  • Преобразователи данных
  • Интерфейсные решения
  • Управление электропитанием

В программу также входит практическая часть – демонстрация работы с CIP – периферией, не зависимой от ядра микроконтроллера. По окончании мероприятия запланировано время на ответы и вопросы, включая свободную дискуссию с техническими специалистами компаний Microchip и «ЭФО».

С полной программой семинара можно ознакомиться в приглашении.

 

ВНИМАНИЕ!

Участие в семинаре бесплатное, но количество слушателей ограничено, поэтому мы просим вас зарегистрироваться на нашем сайте www.efo.ru.

25.10.2016

Компания Atmel подготовила к выпуску новые микроконтроллеры популярного семейства AVR Tiny

 

Новинки получили обозначения ATtiny417, ATtiny814, ATtiny816 и ATtiny817.

14.03.2016

Компания Atmel анонсировала выпуск новых микроконтроллеров ATtiny102/104

 

Энергоэффективные ATtiny102/104, выполненные по технологии Atmel PicoPower, удачно дополняют популярное и развитое семейство 8-ми разрядных микроконтроллеров tinyAVR. Их отличает набор современных периферийных узлов, которые раньше можно было увидеть лишь у более «продвинутых» микроконтроллеров.

 

Новые бюджетные изделия выпускаются в стандартных корпусах SOIC8/14 и ультракомпактном корпусе UDFN8 с размерами 2х3 мм. Рабочий температурный диапазон составляет -40°C … +105°C или -40°C … +125°C, напряжение питания 1,8 … 5,5 В.

 

Отличительные особенности ATtiny102/104:

  • Уникальный идентификационный номер кристалла
  • Flash-память программ (1024 байт) с возможностью перепрограммирования «на лету» и эмуляции EEPROM во всем диапазоне напряжений питания
  • Точный внутренний генератор 8 МГц с возможностью автоматической калибровки после сброса
  • Быстрый аппаратный старт (для версий ATtiny102F-xxxx, ATtiny104F-xxxx)
  • Полноценный последовательный интерфейс USART, который также можно сконфигурировать для работы в качестве SPI - интерфейса (Master mode)
  • 10-разрядный АЦП последовательных приближений со скоростью преобразования 15К выборок в секунду
  • Калиброванный источник опорного напряжения (три фиксированных уровня 1,1 В; 2,2 В; 4,3 В)
  • Сторожевой таймер с собственным генератором 128 кГц
  • Рабочая производительность – до 12 MIPS

В качестве средств поддержки разработки начального уровня компания Atmel также выпустила отладочный набор Xplained Nano - миниатюрную плату ATTINY104-XNANO. Она дает возможность получить доступ ко всем линиям ввода/вывода микроконтроллера, а также может использоваться как внешний программатор для других микроконтроллеров семейства tinyAVR.

 

 

Коды для заказа

  • ATtiny85V-10PU
  • ATtiny85V-10SU
  • ATtiny85V-10SH
  • ATtiny85V-10MU
  • ATtiny85-20PU
  • ATtiny85-20SU
  • ATtiny85-20SH
  • ATtiny85-20MU

Плата Arduino Digispark ATtiny85 с micro-USB

Плата Digispark Attiny 85 это плата, подобная Ардуино, только на базе микроконтроллера ATtiny85.

  • Микроконтроллер имеет очень малые габариты, за счёт чего интересен и полезен для встраивания его в компактные приборы (кольцо-часы, браслет, светящиеся украшения, миниатюрные термометры и т. п.).
  • Особенной эту плату делает то, что для ее программирования не требуется программатор, достаточно просто подключить Digispark Attiny 85 к компьютеру и можно заливать в нее новый скетч. Digispark Attiny 85, в отличие от серии Arduino pro mini, имеет собственный USB-разъём.
  • Несмотря на небольшое количество выводов, контроллер имеет в своем распоряжении серьезный функционал (АЦП, ШИМ, I2C, SPI и др.).
  • Контроллер ATtiny85, в отличие от других платформ Arduino, гораздо более автономен, за счет очень низкого энергопотребления контроллера. В активном режиме контроллер потребляет около 30 мА, в фазе глубокого сна – около 13 мА.
  • Плата контроллера использует автоматический выбор источника питания от микро-USB разъема, от внешнего источника 5 В или 7 - 35 В.
  • Плата Digispark Attiny 85 поддерживает практически весь функционал, имеющийся в Arduino IDE. Единственным исключением будут запись загрузчика и серийный монитор.

Характеристики
Микроконтроллер: Ttiny85-20SU
Тактовая частота процессора: до 20 МГц
Встроенный стабилизатор: 5 В, 500 мА
Флэш-память: 8 Кб, из которых чуть более 2 Кб используется загрузчиком
RAM ОЗУ: 512 байт
EERPOM-память: 512 байт
Питание: от USB 5 В или от внешнего источника с напряжением 7~35 В (рекомендуется не более 12 В)
Интерфейсы: I2C / SPI
Контакты входа/выхода: 6
Поддержка выводов PWM: 3
Аналоговые входы: 4, 10-бит каждый
Светодиодные индикаторы питания и статуса пользовательского вывода P1/D1
Поддержка для Arduino IDE 1.0+ (OSX / Windows 32х, 64х / Linux)
Габариты: 18 × 22 × 15 mm

Назначение выводов:

Все выводы могут быть использованы в качестве цифровых входов/выходов

  • Вывод P0 - I2C SDA, PWM, D0
  • Вывод P1 - PWM, D1
  • Вывод P2 - I2C SCK, D2
  • Вывод P3 - USB+, А3, D3
  • Вывод P4 - USB-, PWM, А2, D4
  • Вывод P5 - А0, D5
  • Вывод VIN - внешнее питание "+"
  • Вывод GND - внешнее питание "-"
  • Вывод 5V - питание подключенных модулей расширения

Питание

Помимо подключения к стандартному Micro-USB, ATtiny85 может питаться и напрямую, через контакты 5V (Оптимальное напряжение питания – от 5 до 12В). Все виды источников питания распознаются платой в автоматическом режиме.

На плате размещен стабилизатор напряжения LM78L05, следовательно подавать питание на контроллер можно двумя путями: напряжением до 5В при подключении к контакту 5В и до 12В при подключении к контакту Vin (через стабилизатор). Если опираться на официальный Datasheet стабилизатора, то производители обещают пиковую нагрузку до 35В, но (скорее всего) недолго.

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

Как загрузить скетч в контроллер ATtiny85 среде Arduino IDE
1 - Отключить микроконтроллер от компьютера
2 - Нажать в IDE кнопку "Вгрузить" после чего в консоли появится информация, о том что у Вас есть
60 секунд, что бы подключить контроллер.
3 - Подключаем Digispark ATtiny85 к USB компьютера
4 - Скетч начнет загружаться в контроллер
5 - Если все прошло успешно, то можете проверить работоспособность Вашего скетча

Простой SD/microSD звуковой плеер на 8-выводном микроконтроллере ATtiny85 | avr

Этот простейший аудиоплеер может воспроизводить WAV-файлы, которые находятся на карте памяти microSD. Микроконтроллеры серии ATtinyX5 (25/45/85) с 8 выводами имеют два выхода fast PWM (быстрый ШИМ) с несущей частотой 250 кГц. Это позволяет выводить звук с хорошим качеством и в широком частотном диапазоне.

Описываемый аудиоплеер построен на карте памяти SD (SDC) и микроконтроллере ATtiny85. Карта SDC может подключаться только через 6 проводов, из которых два предназначены для питания, и 4 заняты под сигналы управления. Поэтому карту SDC можно легко подключить к 8-выводному микроконтроллеру. Основная программа tiny-микроконтроллера AVR работает как SMPS (Switched Mode Power Supply, ключевой источник питания), используя свою периферию в качестве генератора PWM (ШИМ).

[Hardware]

Самый маленький в мире плеер (он размером почти в карту microSD, так что вполне возможно) сделан по схеме в трех вариантах - моно, стерео, и моно с высоким разрешением (см. картинки).

Для сохранения данных звука использовалась карта microSD, однако с таким же успехом можно применить стандартные SD и miniSD с соответствующим сокетом. Динамики подключены напрямую к выходам PWM микроконтроллера AVR. Такая нагрузка может оказаться слишком большой для порта микроконтроллера, однако максимально допустимый ток никогда не превышает установленного предела при напряжении питания 3 V, даже если выходной порт замкнуть на шины питания. При такой схеме подключения звук получается не очень громким, однако он хорошо слышен, если подключить настольные высокоэффективные колонки. Если Вы хотите подключить выход плеера к усилителю, то высокочастотная составляющая ШИМ должна быть отфильтрована фильтром низких частот (ФНЧ, Low Pass Filter, LPF). Не подключайте ШИМ-сигнал напрямую к аналоговому усилителю, потому что это может повредить усилитель или динамики.

[Firmware]

Использование карты памяти в проекте с микроконтроллером означает, что firmware должно уметь работать с файловой системой FAT. В этом плеере используется библиотека Petit-FatFs module [4], которая была сделана как ветвление от библиотеки FatFS [5]. Библиотека Petit-FatFs разработана специально для систем с очень маленькой памятью, у которых доступный объем RAM составляет меньше 512 байт, поэтому она хорошо подходит для AVR и PIC.

Для каждого варианта схемы в архиве [2] есть свой файл прошивки firmware. Значения фьюзов скомбинированы с HEX-файлами (встроены в них), однако некоторые программаторы AVR могут не поддерживать такой формат HEX. В этом случае просто удалите последние 3 строки их HEX-файла. Необходимые значения фьюзов можно найти в файле main.c. Выриант схемы с двумя выходами требует задействования всех ножек ATtiny85, включая ножку RESET. Для этого нужно запрограммировать фьюз RSTDISBL специальным высоковольтным программатором по методу HVSP. Не все программаторы поддерживают такой режим программирования. Для HVSP можно использовать, например, AVR-Doper [6]. После того, как запрограммируете микроконтроллер по методу HVSP, то перепрограммировать его потом можно будет только в том случае, если полностью выпаяете микроконтроллер из схемы.

Монофонические схемы используют только 5 ножек ввода/вывода, и для них не нужно перепрограммировать фьюз RSTDISBL. Поэтому чип ATtiny85 для монофонической схемы можно запрограммировать в режиме ISP, который поддерживается всеми программаторами AVR.

Firmware плеера поддерживает только формат RIFF-WAVE PCM, 8/16-bit, mono/stereo до скорости выборок (sampling rate) 48 кГц. Файл MP3 должен быть переконвертирован в формат WAVE. Воспроизведение начнется, как только будет включено питание или будет в сокет вставлена карта памяти. Если в корневой директории имеется папка "wav", то файлы будут проигрываться из неё в том порядке, как они были записаны на карту. Если папки "wav" нет, то файлы будут проигрываться из корневой (root) директории карты. Нажатие на кнопку будет производить переход к воспроизведению следующего файла.

[Ссылки]

1. Simple SD Audio Player with an 8-pin IC site:elm-chan.org - оригинал статьи на английском языке.
2. Firmware (Source files + HEX files) и демонстрационное видео.
3. 255-голосный генератор звука PCM на 20-выводном микроконтроллере ATtiny861.
4. Библиотека Petit FatFS: модуль файловой системы FAT.
5. Библиотека FatFS: модуль файловой системы FAT.
6. Программатор AVR-Doper.
7. Пример простейшей обработки WAV-файла.
8. Noiseplug: джек RCA, играющий chiptune-трек.

Восстанавливаем работоспособность ATtiny85 после неудачной прошивки. Шильд для изменения фьюзов ATtiny85


Май 2020 года. Самоизоляция.
Сделал программатор vusbtiny по описанию из статьи. Я не разобрался или программное обеспечение не доработанное.После этого у меня оказалось несколько микроконтроллеров attiny85 не пригодных для использования с моими техническими и программными средствами.
В статье я рассказываю как я восстановил работоспособность моих микросхем.

В статье «Записываем программу в Attiny85» я подготовил микроконтроллер ATtiny85 для программатора vusbtiny. Я изготовил программатор vusbtiny. Вставил в панельку для управляющего процессом управления программирования микроконтроллер Attiny85, подключил его к персональному компьютеру, работающему на операционной системе Windows XP(32bit) кабелем к USB порту. В диспетчере устройств появилось « неизвестное устройство».


Программатор vusbtiny на ATtiny85

После установки драйверов в диспетчере устройств появилось «устройство USBtiny». Так оно в моём понимании и должно было случиться, но ни с одним из многих программ - программаторов это моё чудо не заработало.

На фото внизу (скриншот) диспетчера устройств моего ПК с подключенным программатором vusbtiny на ATtiny85.


Я менял драйвера, прошивал в ATtiny85 разные программы управления (прошивками), но никак не получилось «подружить» электронное устройство программатор vusbtiny с программами программаторами. В результате у меня скопилось несколько штук мк ATtiny85, в которые я уже не смогу записать прошивки с помощью программатора AVRISP, работающего в режиме последовательного программирования («Serial Peripheral Interface» в переводе «последовательный периферийный интерфейс») и управляемого программой SinaProg 2.1.1. В железе SPI - это синхронная четырёхпроводная шина. Печально.

После поиска в сети информации о таких ситуациях выяснилось, что микроконтроллеры (мк) семейства Tiny можно программировать ещё в режиме последовательного программирования при высоком напряжении в переводе High Voltage Serial Programming (HVSP).

Программаторы HVSP оказались сложными, сделанными для всех семейств мк фирмы Atmel.

Но мне повезло - я нашел статью, в которой автор предложил способ восстановления способности мк ATtiny25 программироваться по интерфейсу SPI. Вот адрес статьи в сети.

Статья очень маленькая. Идея автора интересная. Он предложил плату Arduino соединить с мк ATtiny25 в соответствии со схемой, загрузить в Arduino IDE скетч hv_serial_prog.pde, переработать его (скомпилировать), а результат компиляции – управляющую программу для микроконтроллера платы Arduino записать в микроконтроллер платы Arduino.


Затем запустить монитор порта. В окне монитора порта Arduino IDE ввести любой символ и нажать клавишу Enter, программа отработает в холостую. Можно приступить к изменению фьюзов на заводские .

Для этого подаётся постоянное напряжение 12В на первый вывод мк ATtiny25, и в окне последовательного порта Arduino IDE вводится любой символ и нажимается клавиша Enter.

Две секунды - и фьюзы изменены. Кнопку подачи напряжения можно отпустить.

Решил, что перед тем как сделать устройство (шильд), сначала нужно проверить скетч hv_serial_prog.pde на работоспособность.
Компиляция скетча выполнена успешно в Arduino IDE 1.8.7.


Результат компиляции скетча hv_serial_prog.pde.

Загрузка управляющей программы проведена в мк ATmega328P Arduino Pro Mini china, и она прошла успешно.


Результат загрузки управляющей программы в мк ATmega328P Arduino Pro Mini china.

После запуска монитора порта в программе Arduino IDE 1,8.7.


Окно Arduino IDE, в котором можно открыть окно «Монитор последовательного порта».

В окне монитора последовательного порта начинает появляться надпись: «Enter a character to continue».
Программа управления просит ввести любой символ для разрешения выполнить запрограммированные действия по изменению фьюзов, установленных в микроконтроллер.
Вводим символ А и нажимаем кнопку «отправить».


Фото 6. Приглашение программы к работе.

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


Отчет программы о проделанной работе в холостую.

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


Отчет программы о проделанной работе.

Исследуя скетч hv_serial_prog.pde, я увидел, что кроме ATtiny25 можно работать и с ATtiny45, ATtiny85.

Поэтому я решил сделать устройство (шильд) для восстановления моих микросхем (ATtiny85).


Фото 9. Заголовок скетча hv_serial_prog.pde

Изготовление Шильда.

Я начал изготовление шильда с разработки схемы под оборудование, которое у меня было (плата Arduino Pro mini china, USB Serial adapter Ch440G).


Схема выводов на Arduino Pro mini и мк ATtiny85.

Выводы микроконтроллеров ATtiny25, ATtiny45, ATtiny85 совпадают.

Схема устройства не стандартная, но мне с ней было удобно работать.


Схема установки с использованием шильда для восстановления заводских установок фьюзов для ATtiny25, ATtiny45, ATtiny85.

Для этого я нашел кусочек односторонней макетной платы, губку, ушную палочку, флюс паяльный ЛТИ-120, паяльник, припой.
Зачистил макетную плату губкой от окислов (что останется от медного слоя, если его зачищать наждачной бумагой). Обработал ее флюсом, а затем покрыл тонким слоем припоя с помощью паяльника. Результат на фото внизу.


Подготовка макетной платы.

Затем взял лист бумаги А4 и набросал схему расположения компонентов схемы на макетной плате.
Причем на бумаге у меня изображено как бы две плоскости макетной платы. Дальняя плоскость от моего взгляда это - медная фольга. Схема шильда простейшая, поэтому у меня все получилось.


Схема расположения компонентов платы шильда.

Перед установкой и пайкой деталей я проверил единственный полупроводниковый прибор – транзистор. Проверил его тестером Lcr-t4, работающим на микроконтроллере AVR с минимумом дополнительных деталей.


Проверка на работоспособность транзистора 2N3904.

Результат трудов внизу на Фото 15. Это - собранная схема для изменения фьюзов с шильдом. Здесь на фото не хватает только блока питания на 12В.
Микроконтроллер ATtiny85 лежит рядом.


Фото15 Система для изменения фьюзов мк Attiny25, ATtiny45, ATtiny85, плата Arduino Pro mini china, USB Serial adapter Ch440G, шильд, микроконтроллер ATtiny85.
Блок питания на 12В 3А.

Еще раз опишу кратко о последовательности действий по изменению фьюзов на ATtiny мк Attiny25, ATtiny45, ATtiny85.

1. Устанавливаем систему программирования Arduino IDE.
2. Подключаем плату Arduino (Arduino UNO, Arduino Mega, Arduino Nаno, Arduino Mini, Arduino Pro mini china сUSB Serial adapter Ch440G).
3. Открываем скетч hv_serial_prog.pde в Arduino IDE. Я поступил так: в Arduino IDE создал новый скетч. Открыл файл hv_serial_prog.pde на сайте автора идеи (смотри Фото9) и скопировал текст. Скопированный текст я вставил в окно нового скетча, созданного в Arduino IDE, затем сохранил его под именем hv_serial_prog. Расширение для файла допишет сама Arduino IDE, она также потребует создать папку с таким же именем (hv_serial_prog).
4. Компилируем скетч hv_serial_prog.
5. Записываем результат компиляции в микроконтроллер вашей платы Arduino.
6. Открываем монитор порта. Если Вы видите фразу: «Enter a character cjntinue», то можете приступить к монтажу схемы. Схема небольшая, можно воспользоваться макетной платой для монтажа без пайки.


Выводы платы Arduino Nano для программирования Attiny85 в режиме High Voltage Serial Programming с помощью скетча hv_serial_prog.pde.
Выводы платы Arduino MEGA для программирования Attiny85 в режиме High Voltage Serial Programming с помощью скетча hv_serial_prog.pde.
Выводы платы Arduino Micro для программирования Attiny85 в режиме High Voltage Serial Programming с помощью скетча hv_serial_prog.pde.

7. Подаёте напряжение 12В на схему и нажимаете кнопку. Я кнопку не нашел, на разъём для неё поставил перемычку, а напряжение подавал через разъем блока питания.
8. Вводим символ А и нажимаем кнопку «отправить». Видим отчет программы о проделанной работе (смотри Фото6).
9. Снимаем (отключаем) напряжение 12В со схемы.
10. Разбираем схему, вынимаем микросхему из панельки. Микросхема как новая.

Таким же образом можно превратить плату Digispark в простую плату с микроконтроллером Attiny85 c возможностью записи программ в него без использования Arduino IDE (освобождается место в памяти программ, и вы можете использовать в своём проекте все выводы Attiny85).


Выводы платы Digispark для программирования Attiny85 в режиме High Voltage Serial Programming.

Теперь у меня есть возможность программировать ATtiny85 (см. статью «Записываем программу в Attiny85») и восстанавливать фьюзы микроконтроллера. Теперь я могу делать устройства на ATtiny85 и если они не рабочие не «понерять» микросхему.

Удачи!

Модуль

ATtiny85 с Micro USB

Описание

Если вы хотите встроить микроконтроллер в проект и ищете что-то меньшее и более дешевое, чем Arduino, и вам не нужно много контактов ввода-вывода или места для кода, ATtiny85 может быть хорошим решением.

В комплект входит:
  • Модуль ATtiny85 с Micro USB
  • Заглушка с наружной резьбой 1 x 9

Основные характеристики МОДУЛЯ ATTINY85 С МИКРО USB:
  • Процессор Atmel ATtiny85 работает на 16.5MH
  • Разъем Micro USB
  • Флэш-память 8 КБ, программная область 6 КБ
  • 6 цифровых входов / выходов
  • 3 ШИМ совместно с цифровым вводом / выводом
  • 4 аналоговых входа, используемых совместно с цифровыми входами / выходами
  • Интерфейс I2C и SPI совместно с цифровым вводом / выводом
  • Возможность внешнего прерывания
  • 3-5,5 В или 7-12 В Работа

ATtiny85 - это 8-битный микроконтроллер Atmel ATtiny85 из того же семейства AVR, на котором основаны платы Arduino. Несмотря на то, что у него всего 8 контактов, он обладает довольно большой функциональностью в этом небольшом корпусе.

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

Мощность

Модуль может получать питание от разъема USB, как и любые платы Arduino с разъемами USB.

Вывод 5V может принимать входное напряжение 3,0–5,5 В, если вы хотите запитать модуль напрямую от 5 В или аккумуляторной батареи в этом диапазоне.Этот диапазон определяется рабочим диапазоном микросхемы ATtiny85. Если вместо этого вы используете вывод VIN для питания модуля, вы можете использовать этот вывод как выход 5 В для питания датчика или другого устройства.

Вывод VIN может принимать напряжение 7–12 В. Этот вход питает встроенный регулятор 5 В. Можно использовать более высокие входные напряжения, по крайней мере, до 24 В, если вы не потребляете много энергии от регулятора 5 В, иначе он перегреется. Потребление тока 100-200 мА должно быть нормальным. Вы можете использовать тест пальцами, чтобы определить, не слишком ли сильно вы управляете регулятором.

Интерфейс USB

Модуль использует контакты 3 и 4 для связи USB. Контакт 3 имеет подтягивающий резистор 1,5 кОм, который требуется для связи USB.

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

Интерфейс I2C

Интерфейс I2C подключен к контакту 0 (SDA) и контакту 2 (SCL).

Стандартная библиотека I2C Arduino не будет работать с ATtiny85. В нашем примере ниже мы используем библиотеку TinyWireM.h.

Интерфейс SPI

Интерфейс SPI подключен к контакту 0 (MOSI), контакту 1 (MISO) и контакту 2 (SCK).

При подключении интерфейса SPI контакты перекрестно соединяются, поэтому вывод ATTiny85 MISO будет подключаться к внешнему устройству MOSI, а ATTiny85 MOSI будет подключаться к внешнему устройству MISO.

Цифровой ввод / вывод

Все 6 контактов предназначены для цифрового ввода / вывода.

Порт ввода / вывода на микросхеме ATtiny85 - это порт B, поэтому цифровые вводы / выводы обозначены PB0 - PB5 на задней стороне платы (и P0-P5 на передней стороне). Они соответствуют цифровому вводу / выводу D0-D5 на Arduino и упоминаются в программе с использованием только числа, как в pinMode (0, OUTPUT) ;

Контакт 0 также используется для I2C (SDA) и SPI (MISO)

Контакт 1 также подключен к SPI (MOSI) и встроенному светодиоду через понижающий резистор 1 кОм.

Контакт 2 также используется для I2C (SCL) и SPI (SCK)

Контакты 3 и 4 также используются для USB и ограничены до 3,6 В через стабилитроны.

Контакт 5 основной функцией является вывод сброса (активный НИЗКИЙ), но может использоваться как слабый вывод ввода / вывода. Выходное напряжение ограничено примерно 3 В для ВЫСОКОГО логического уровня. В большинстве случаев этого достаточно, чтобы интерпретировать его как ВЫСОКИЙ логический уровень для входов 5 В. Этот вывод также имеет более низкую токовую нагрузочную способность. Для внешнего сброса процессора этот вывод можно потянуть вниз.

Внутренние подтягивающие резисторы, если они используются, включаются вызовом digitalWrite (0) после того, как pinMode установлен как INPUT. Подтягивания довольно слабые, около 25 кОм, поэтому встроенный светодиод на контакте 1 может мешать подтягиванию этого контакта. Если это проблема, светодиод можно удалить или отрезать след от него.

Аналоговые выходы

ATtiny85 поддерживает ШИМ на контактах 0, 1 и 4.

Контакты 0 и 1 PWM работают на частоте 504 Гц, а контакт 4 работает на более высоких 1007 Гц.

Аналоговые входы

ATtiny85 имеет встроенный 10-битный АЦП и может считывать аналоговые напряжения на 4 выводах.

При использовании команды analogRead обращайтесь к аналоговому входу #, а не к цифровому номеру, как показано ниже, поэтому analogRead (0) считывает аналоговое напряжение на контакте P5.

  • Аналоговый вход 0 = P5
  • Аналоговый вход 1 = P2
  • Аналоговый вход 2 = P4
  • Аналоговый вход 3 = P3

Модуль в сборе

Этот модуль поставляется со свободным заголовком.Перед пайкой на плату его можно вставить в 6- и 3-контактный разъемы.

Это позволяет вам настроить модуль в соответствии с вашими конкретными требованиями, например, на какой стороне платы вы хотите установить разъемы, или если вы предпочитаете припаять провода для выполнения соединений. Для использования с макетными платами мы помещаем разъем ввода / вывода внизу, чтобы модуль мог подключаться непосредственно к макетной плате, а разъем питания - вверху, чтобы можно было использовать перемычки для подключения питания.

Соединения модулей

Заголовок 1 x 3

  • 5 В = вход от 3 В до 5,5 В или может использоваться как выход 5 В, если вход VIN используется для подачи питания
  • GND = подключается к земле
  • VIN = входное напряжение от 7 В до 12 В. Может быть до 24 В.

Заголовок 1 x 6

  • P0 = Цифровой ввод / вывод 0, ШИМ, I2C (SDA), SPI (MOSI)
  • P1 = цифровой ввод / вывод 1, ШИМ, SPI (MISO)
  • P2 = цифровой вход / выход 2, аналоговый вход 1, I2C (SCL), SPI (SCK)
  • P3 = цифровой вход / выход 3, аналоговый вход 3, USB
  • P4 = цифровой вход / выход 4, аналоговый вход 2, USB / PWM
  • P5 = Цифровой вход / выход 5, аналоговый вход 0, вход сброса (активный НИЗКИЙ)

Программирование

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

Настройка среды программирования

Вот основной шаг для начала работы с Arduino IDE:

1> Добавьте следующую ссылку в Arduino IDE / Preferences / Additional Boards Manager URLS: http://digistump.com/package_digistump_index.json. Если у вас уже загружены другие платы, просто добавьте эту ссылку в новую строку, как показано здесь.

2> Зайдите в IDE Board Manager и установите платы Digistump AVR, как показано ниже.

3> Перезапустите IDE, перейдите в список плат и выберите Digispark (по умолчанию - 16,5 МГц) из списка плат.

Если вам необходимо загрузить драйвер для USB для подключения к модулю ATtiny85, его можно скачать по этой ссылке: http://github.com/digistump/DigistumpArduino/releases

Распакуйте файл в каталог по вашему выбору и запустите установщик.Для Windows используйте DPinst64.exe для 64-разрядной операционной системы или DPinst.exe для 32-разрядной операционной системы.

Если все пойдет по плану, при подключении ATtiny85 к компьютеру с помощью кабеля Micro USB вы увидите устройство, распознаваемое как загрузчик Digispark, в окне диспетчера устройств Windows.

Если вы новичок в ATtiny85 или у вас есть какие-либо проблемы с настройкой и запуском среды программирования, настоятельно рекомендуется посмотреть это отличное видео, поскольку оно отвечает на большинство вопросов, которые могут возникнуть: https: // www.youtube.com/watch?v=MmDBvgrYGZs

Загрузка программ в модуль ATtiny85

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

1> Убедитесь, что модуль отключен от USB.

2> Нажмите кнопку загрузки в среде IDE, чтобы скомпилировать программу.

3> Когда компиляция завершится успешно, вы увидите это сообщение, чтобы подключить устройство сейчас….(таймаут через 60 секунд)

4> У вас будет 60 секунд, чтобы подключить модуль к USB. После подключения система автоматически находит его и загружает в него программное обеспечение. Как только это будет завершено, вы увидите сообщение загрузчика Micronucleus, показывающее, что это сделано.

На этом этапе ваш модуль будет выполнять программу.

Обратите внимание, что загрузчик на модуле работает в течение первых 5 секунд при первом включении модуля, чтобы узнать, нужно ли загружать новую программу.Если вы перепрограммируете его в цепи, в которой он получает внешнее питание, кроме USB, вам необходимо отключить внешнее питание, чтобы оно включалось при подключении загрузочного кабеля USB.

Ниже приведена простая запутанная программа, с помощью которой можно протестировать вашу настройку программирования. Встроенный светодиод мигает каждую секунду.

 / *
ATTiny85 Блинки
Мигает бортовым светодиодом модуля ATTiny85
* /
void setup () {
  pinMode (1, ВЫХОД); // Встроенный светодиод подключен к выводу 1
}
void loop () {
 digitalWrite (1, ВЫСОКИЙ); // включаем светодиод (HIGH - уровень напряжения)
 задержка (1000); // ждем секунду
 digitalWrite (1, LOW); // выключаем светодиод, понижая напряжение
 задержка (1000); // ждем секунду
}

 

Результаты нашей оценки:

Хорошие сборки с хорошим качеством сборки.ATtiny85 может быть довольно забавным, недорогим и достаточно маленьким, чтобы его можно было использовать во многих проектах.

Основная проблема заключается в максимальном использовании доступного ввода / вывода, поскольку все выводы имеют несколько применений. В нашем примере здесь мы просто используем контакты 0-2, оставляя контакты 3 и 4 открытыми, чтобы мы могли легко подключить USB-кабель для загрузки новых версий программного обеспечения, ничего не отключая. Контакт 5 в основном является входом сброса, и хотя иногда он может нормально работать как контакт ввода-вывода, он не всегда работает из-за низкого напряжения и тока.Первоначально мы пытались использовать его для ссылки Dh32, но для этой цели он не работал.

В нашем примере создается простой дисплей температуры и влажности. ЖК-дисплей использует связь I2C, а датчик влажности / температуры DHT22 использует библиотеку для связи с помощью одного контакта.

Некоторые библиотеки, поставляемые с загрузкой Digistump, являются стандартными библиотеками, которые были модифицированы для работы с ATtiny85, но все еще имеют то же имя. Например, наша программа использует LiquidCrystal_I2C.h, которая была модифицирована для работы с ATiny85. Если вы получаете ошибки из-за того, что программа не находит нужную библиотеку для использования, просто скопируйте файлы LiquidCrystal_I2C.h и LiquidCrystal_I2C.cpp из места загрузки Digistump в ту же папку, что и эскиз ATtiny85. Скобки вокруг имени библиотеки в программе ниже говорят компилятору искать файлы в текущем каталоге.

Стандартная библиотека DHT.h для чтения датчика Dh32 отлично работает с ATtiny85.

Необходимы следующие соединения:

  • Контакт 0 - Подключение к ЖК-дисплею I2C (SDA)
  • Контакт 1 - Подключение к выходному контакту датчика Dh32 (или Dh21)
  • Контакт 2 - подключение к ЖК-дисплею I2C (SCL)
  • Контакты 3-5 не используются.

Также подключите источник питания 5 В для ЖК-дисплея и Dh32. В нашей настройке здесь мы используем источник питания 5 В для питания ЖК-дисплея, датчика Dh32 и модуля ATtiny85.

Для программирования достаточно использовать кабель USB для подачи питания на модуль ATtiny85.

Программа метеостанции ATTiny85

 / *
 Метеостанция ATTiny85
 Использует ЖК-экран 16x2 с интерфейсом I2C и датчик влажности DHT22 или DHT11.
* /
#include 
#include 
#include "LiquidCrystal_I2C.h" // Ставим новую версию DigisparkLCD этой библиотеки
 // в той же папке, что и скетч
# включить  // Включаем библиотеку DHT для датчика влажности

int const DHT22_PIN = 1; // Подключается к входу / выходу датчика, использует любой цифровой контакт

  LiquidCrystal_I2C  lcd (0x27,16,2); // установить адрес I2C, 16 символов, 2 строки Дисплей
dht DHT; // Создаем экземпляр объекта DHT
// ================================================ ===============================
// Инициализация
// ================================================ ===============================
void setup () {
 TinyWireM.начинать(); // инициализируем I2C lib
 lcd.init (); // инициализируем ЖК-дисплей
 lcd.backlight (); // Включаем подсветку
 lcd.setCursor (0,0); // Установить курсор на символ 0, строка 0
 lcd.print ("Температура:");
 lcd.setCursor (0,1); // Перемещаем курсор на символ 0, строка 1
 lcd.print ("Влажность:");
}
// ================================================ ===============================
//  Основной
// ================================================ ===============================
void loop () {
 int sensor = DHT.чтение22 (DHT22_PIN); // Считываем датчик

 lcd.setCursor (10,0);
 lcd.print (DHT.температура); lcd.print ("C");
 lcd.setCursor (10,1);
 lcd.print (DHT.влажность); lcd.print ("%");
 задержка (2000); // Dh32 требует 2-секундной задержки между чтениями
}
 

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

Дополнительная литература:

Вики-страница Digistump

Примечания:

  1. Нет

Технические характеристики
Микроконтроллер Атмель ATtiny85
Диапазон входного рабочего напряжения 5 В 3 - 5,5 В
VIN Входное напряжение (рекомендуемое) 7-12В
Цифровые контакты ввода / вывода 6
Контакты ввода / вывода ШИМ (совместно с цифровым вводом / выводом) 3
Аналоговые входные контакты (общие с цифровыми входами / выходами) 4
Постоянный ток на контакт ввода / вывода 20 мА
Флэш-память 8 Кбайт
SRAM 512 байт
EEPROM 512 байт
Тактовая частота 16.5 МГц
Потребляемая мощность (макс. Для комплекта) 200 мА
Встроенный светодиод Прикреплен к контакту 1 цифрового ввода / вывода
Тип разъема USB Micro-B Женский
Размеры платы (PCB) 25x 19 мм (1 x 0,75 ″)
Лист данных АРН ATtiny85

Начало работы с ATtiny85 и Arduino | by Siddharth S

В этой статье описаны шаги, необходимые для использования Arduino в качестве программатора для микросхемы ATTINY85 (или 84).Зачем использовать attiny 85? Потому что он меньше по размеру, портативный, легко подключается к небольшим приложениям и требует минимального количества подключений. Это идеальный чип для домашних хозяйств, которым требуется ограниченное количество контактов ввода / вывода.

  1. Arduino
  2. Макетные платы, перемычки и т. Д.
  3. Attiny85
  4. Конденсатор 10 мкФ
  5. Дополнительно: печатные платы, комплект для пайки, разъемы контактов, гнездо IC

Шаг 1: Подключите контакты между контактами attiny 85 и Arduino, как показано ниже:

Вывод из ATTINY85 для справки:

Attiny Pinout

Шаг 2: Запрограммируйте Arduino на работу в качестве программатора для ATtiny.
Подключите Arduino к компьютеру. Выберите образец программы ArduinoISP и загрузите его в Arduino, который запрограммирует его на работу в качестве программатора для нашего ATtiny.

Шаг 3: Настройте IDE для программирования ATtiny
Следуйте шагам http://highlowtech.org/?p=1695, чтобы установить поддержку ATtiny с помощью встроенного менеджера плат.
Выберите подходящую плату ATtiny85.
Переключить режим на Arduino как ISP
Теперь Arduino готов к программированию tiny85.

Шаг 4: Откройте образец мигающего кода светодиода. Измените выходной контакт на 0 , который соответствует контакту 5 (PB0) ATtiny85. Загрузите код. На этом этапе код загружается в ATtiny85.

Шаг 5: Удалите микросхему ATtiny и создайте отдельную схему, соединяющую VCC (контакт 8) и GND (контакт 4) ATtiny85 с соответствующим источником питания (рабочее напряжение составляет 2,7–5,5 В для ATtiny25 / 45/85. ). Подключите светодиод с соответствующим резистором между GND и контактом 5 (PB0), как указано в шаге 3.
Вы должны увидеть мигание светодиода. Успех!

Вот и все! Вы можете использовать эту программаторную плату для программирования любого количества микросхем ATtiny85 и использования их в своих проектах.

Использование Arduino в качестве программиста - http://highlowtech.org/?p=1706

Программирование Attiny с помощью arduino - http://highlowtech.org/?p=1695

Краткое описание attiny85- http: // ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet-Summary.pdf

Основы ATtiny85

Всем привет, надеюсь, у вас все отлично. В сегодняшнем уроке я собираюсь дать вам подробный обзор одного из самых маленьких микроконтроллеров в мире. Это микроконтроллер ATtiny85, который представляет собой микроконтроллер AVR, производимый Microchip. Итак, давайте посмотрим на распиновку ATtiny85 и основные детали:

Основы ATtiny85

  • ATtiny - это 8-контактный микроконтроллер AVR, разработанный и произведенный Microchip.
  • Его конструкция основана на архитектуре RISC.
  • Он популярен из-за своего небольшого размера и гибкости.
  • Хотя у него всего 8 контактов, он может выполнять почти все функции, которые может выполнять простой микроконтроллер. Итак, давайте посмотрим на его распиновку, и вы получите лучшее представление о его функциональности:

Распиновка ATtiny85

Как я сказал ранее, микроконтроллер ATtiny85 имеет только 8 контактов, но каждому контакту назначено несколько функций, и это зависит от требований вашего проекта.Итак, давайте посмотрим на эти пины один за другим.

  • Контакт №1: Это аналоговый контакт ADC0, который используется для аналоговых датчиков.
  • Pin # 2: это также аналоговый вывод ADC3, и он также используется для кварцевого генератора XTAL1.
  • Pin # 3: это также аналоговый вывод ADC2, и он также используется для кварцевого генератора XTAL2.
  • Контакт № 4: Он должен быть подключен к GND.
  • Контакт № 5: Его можно использовать как MOSI для связи SPI и SDA для связи I2C.
  • Контакт № 6: Его можно использовать как MISO для связи SPI.
  • Контакт № 7: Его можно использовать как SCK для связи SPI и SCL для связи I2C.
  • Вывод
  • № 8: Это вывод Vcc, поэтому здесь необходимо подать 5 В.

ATtiny85 Распределение памяти

ATtiny85 имеет 3 связанных с ним встроенных памяти, а именно:

  • Имеет флеш-память на 2096 байт.
  • EEPROM памяти ATtiny85 составляет 512 байт.
  • Он также имеет 32 регистра общего назначения.

Энергонезависимой является только память EEPROM, тогда как другие памяти являются энергозависимыми.

ATtiny85 Приложения

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

Надеюсь, вам понравился сегодняшний урок. Если у вас есть вопросы по этому микроконтроллеру, задавайте их в комментариях, и я вам помогу.Спасибо за прочтение. Заботиться !!! :)

Делаем его миниатюрным: интеграция ATtiny85 в ваш проект Arduino

Мне нравится ATtiny85. Я использую его практически в каждом своем проекте - компоненты CastMinder работают от ATtiny85, а HaptoTech полностью работает от ATtiny85. ATtiny также является мозгом моей игровой консоли / визитной карточки с экраном.

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

Это почти похоже на ошибку!

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

Диапазон напряжения 2,7–5,5 В

Это, наверное, моя любимая часть в ATtiny85.Он будет совершенно счастлив без каких-либо сбоев гудеть при напряжении от 2,7 до 5,5 В. Логический уровень даже реагирует соответствующим образом. Это означает, что вы можете питать его от USB, крошечной кнопочной батареи или чего-то среднего, например LiPo.

ATtiny85 (маленький черный квадрат) и экран могут работать на монетной ячейке.

Sips Power

При питании от шины USB (5 В) и работе с тактовой частотой 1 МГц ATtiny85 потребляет менее 2 мА. Если вам нужно, чтобы ATtiny просыпался только через определенные промежутки времени, вы можете заставить его спать с помощью сторожевого таймера.В режиме Watchdog ATtiny потребляет менее 5 мкА во время сна. С такой скоростью вы могли бы питать его от батарейки типа «таблетка» более пятидесяти лет!

Узел датчика ATtiny85, подключенный к шине I2C (всего 4 провода на шину).

Множество способов связи

ATtiny85 фактически имеет 5 контактов, которые он может использовать для взаимодействия с внешним миром. Это число может показаться небольшим, но поверьте мне. Вы можете заставить его делать многое. Во многом это связано с универсальным последовательным интерфейсом (USI) ATtiny85 .

USI позволяет ATtiny общаться с внешним миром в основном по двум протоколам связи, называемым I2C и SPI. I2C позволяет подключать множество устройств к одним и тем же двум контактам - большинство цифровых компонентов, которые вы можете купить, используют I2C или SPI для связи с вашим микроконтроллером.

Простота программирования

Отчасти ATtiny85 настолько мал, что в нем отсутствует разъем USB. Не бойтесь, Arduino Uno уже здесь! Вы можете использовать Uno (вместе со многими другими Arduino-совместимыми устройствами) в качестве внутрисистемного программатора (ISP).Вы просто соединяете различные контакты ATtiny с различными контактами микроконтроллера программирования и нажимаете кнопку загрузки! Это руководство - отличный ресурс для программирования ISP с помощью ATtinys. На приведенной ниже плате есть все необходимые контакты для программирования.

Отлично сочетается с печатными платами

Если вы хотите сделать свой проект более долговечным и портативным с помощью печатной платы, ATtiny85 - отличный выбор. Вариант SOIC легко поддается пайке и занимает на плате не больше места, чем большинство разъемов питания.

Часть (большой) семьи

Вам недостаточно 5 контактов ввода-вывода? Не проблема! ATtiny84 удваивает количество контактов ввода-вывода, не увеличивая при этом размер корпуса. Программирование, энергопотребление и доступные функции почти идентичны ATtiny85. Новые версии ATtiny, такие как семейство tiny817, включают множество интересных функций, таких как емкостные сенсорные контроллеры. На данный момент они несовместимы с Arduino, но я надеюсь, что скоро они появятся.

Недостатки

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

Советы по использованию ATtiny85 в вашем проекте

Первый шаг - выбрать, в каком пакете вы хотите разместить ATtiny85.Вариант SOIC-8 крошечный, но его немного сложно паять, и он не поместится на макетной плате. Версия DIP совместима с макетной платой, но намного больше, чем версия SOIC.

При использовании ATtiny имейте в виду следующие моменты:
  • Serial.print () недоступен, и ваш код не будет компилироваться, если он включен
  • Многие библиотеки, такие как Wire, напрямую не совместимы с семейством ATtiny
  • Существует множество библиотек подстановки, доступных для замены несовместимых с ATtiny библиотек, таких как TinyWireM
  • В качестве общего практического правила старайтесь поддерживать потребление тока на вывод ниже 20 мА
  • Чтобы сохранить низкий ток вывода, используйте устройства, такие как транзисторы или реле, для переключения питания на «голодные» компоненты

Хакстерские проекты с ATtiny85

Чтобы увидеть некоторые примеры того, как вы можете использовать ATtiny85 в реальных проектах, взгляните на некоторые из моих сборок на Хакстере.io. Многие из них можно построить днем ​​из простых деталей - обязательно попробуйте, если вы хотите начать работу с семейством ATtiny.

Вот и все! Чтобы увидеть больше моих проектов, посетите www.AlexWulff.com . Вы также можете проверить больше моих писем здесь . Если у вас есть какие-либо вопросы, не стесняйтесь оставлять ответы ниже или напишите мне по электронной почте (контактная информация на моем веб-сайте).

Общий ATtiny85 - PlatformIO 5.2.0a5 документация

Платформа

Atmel AVR: 8-битные микроконтроллеры Atmel AVR обеспечивают уникальное сочетание производительности, энергоэффективности и гибкости конструкции. Оптимизированные для ускорения вывода на рынок - и легкой адаптации к новым - они основаны на самой эффективной в отрасли архитектуре программирования на C и ассемблере

.
Микроконтроллер ATTINY85
Частота 8 МГц
Вспышка 8KB
RAM 512B
Поставщик Атмель

Используйте attiny85 ID для опции платы в «platformio.ini »(файл конфигурации проекта):

 [env: attiny85]
платформа = atmelavr
доска = attiny85
 

Вы можете переопределить стандартные настройки ATtiny85 по умолчанию для каждой среды сборки, используя board _ *** option, где *** - путь к объекту JSON из манифест платы attiny85.json. Например, board_build.mcu , board_build.f_cpu и т. Д.

 [env: attiny85]
платформа = atmelavr
доска = attiny85

; изменить микроконтроллер
board_build.mcu = attiny85

; изменить частоту MCU
board_build.f_cpu = 8000000L
 

Debugging - решение «в один клик» для отладки с нулевой конфигурацией.

Предупреждение

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

Вы можете переключаться между инструментами отладки и зондами отладки, используя параметр debug_tool в «platformio.ini» (файл конфигурации проекта).

Generic ATtiny85 имеет встроенный датчик отладки, а ГОТОВ для отладки.Вам не нужно использовать / покупать внешний датчик отладки.

Совместимые инструменты бортовой По умолчанию
симавр Есть Есть
Имя Описание
Ардуино Arduino Wiring-based Framework позволяет писать кроссплатформенное программное обеспечение для управления устройствами, подключенными к широкому спектру плат Arduino, для создания всех видов творческого кодирования, интерактивных объектов, пространств или физического опыта
Радиоконтроллер

ATtiny85 433 МГц учебное пособие

Радиоконтроллер ATtiny Помогите мне, поделившись этим постом

До сих пор мы видели на этом канале множество радиоконтроллеров.Мы видели, как один из них использовал модуль NRF24 и делал всю плату, несколько недель назад мы сделали контроллер с радиомодулем HC 12 и гироскопом, но сегодня у меня есть один из самых простых радиоконтроллеров.

На этой плате используется радиосвязь 433 МГц и микросхема ATTINY 85, поэтому все очень просто. У него всего 4 «цифровых» канала, поэтому мы не можем использовать его, например, с дронами. Но к этим 4 цифровым выходам можно было подключить что угодно. Дизайн простой и очень дешевый, всего несколько долларов.

См. Необходимые нам компоненты здесь:

ЧАСТЬ 1 - Щит ATtiny85

Начнем с микросхемы ATtiny85. Это 8-битный микроконтроллер RISC, который иногда также называют маленьким Arduino. Он имеет 5 контактов ввода-вывода, все 5 могут быть цифровыми, 3 из них могут быть аналоговыми входами, а два могут создавать сигналы ШИМ. Чтобы запрограммировать этот чип, нам понадобится SPI-коммуникация. Мой код также будет использовать функцию «micro», и после поиска в Интернете я обнаружил, что ATTINY может использовать эти функции только с загрузчиком с частотой 8 МГц.Мы создадим щит для ATtiny85, следуя схеме ниже, который затем можно будет подключить к Arduino Uno.


Щит готов. Подключите его к Arduino UNO и вставьте ATTINY 85 в розетку. Убедитесь, что это первый контакт, и не переключайте микросхему. Теперь подключите Arduino Uno к вашему ПК. А теперь обратите внимание. Сейчас я использую последнюю версию IDE Arduino - 1.8.7. Но почему-то платы ATtiny85 с этой версией работать не будут.Для этого перейдите к описанию ниже и загрузите zip-файл с Arduino IDE версии 1.0.5.


Загрузите Arduino0 1.0.5 здесь:

Распакуйте его в любую нужную папку, установка не требуется. Я распаковал его в программные файлы. Теперь перейдите еще раз ниже и загрузите основной zip-файл attiny. Откройте этот zip-файл и скопируйте крошечную папку. Теперь перейдите в папку Arduino 1.0.5, перейдите к оборудованию и вставьте сюда эту крошечную папку. Теперь вернитесь и запустите Arduino из этой папки.С помощью этого метода мы не повлияем на другую версию Arduino, которую мы уже установили.


ATtiny мастер:

ЧАСТЬ 2 - Сжечь предохранители 8 МГц

Как, если вы перейдете к инструментам, доскам, вы увидите много досок ATTINY. Итак, мы готовы. Итак, когда я купил чип, у него был загрузчик с внутренним генератором 1 МГц. Но нам нужен 8МГц. для этого перейдите в файл, примеры, Arduino ISP и откройте этот пример. Перейдите к платам и выберите Arduino UNO, выберите com и загрузите этот код в Arduino.Теперь мы могли использовать программатор ISP.

Вернитесь к инструментам, платам и выберите плату внутреннего генератора ATTINY 85, 8 МГц. Снова перейдите к инструментам, программисту и выберите Arduino в качестве ISP. Выберите инструменты и запишите загрузчик. Вы увидите, что светодиоды часто мигают, и теперь на ATTINY 85 установлен загрузчик с частотой 8 МГц. Пора это запрограммировать. Перейдите к примеру, базовый и откройте пример мигания. Измените контакт, скажем, цифровой контакт 0 ATTINY 85. Убедитесь, что у вас выбрана плата ATTINY 85, и нажмите кнопку «Загрузить».Итак, готово, теперь светодиод мигает вместе с АТТИНИ. Нам больше не нужен Arduino.

ЧАСТЬ 3 - Датчик

Я хочу радиосвязь между двумя ATTINY. Чтобы сделать его простым и дешевым, я буду использовать два модуля 433 МГц. Я полностью изменил конструкцию модулей и сделал схемы как для передатчика, так и для приемника, а также сделал свои собственные платы, которые уже включают ATTINY, кнопки и схемы радиосвязи. Но сначала давайте сделаем этот проект с коммерческими модулями, которые стоят всего около 50 центов.

Это схема передатчика. У меня будет 4 кнопки с раскрывающимися элементами, подключенными к цифровым контактам 0, 1, 2 и 4 ATTINY. Цифровой вывод 3 - это вывод данных, который идет на радиопередатчик. Я также разместил стабилизатор напряжения AMS11 17 5V, чтобы я мог питать плату от батареи 9V. Позже я также разместил светодиод, чтобы уведомлять меня, когда передатчик включается, а также скользящий стежок.


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

Скачать код передатчика (4 комбинации):

Скачать код передатчика (8 комбинаций):

ЧАСТЬ 4 - Приемник

Это схема приемника. Это плата, которую я сделал для приемника, на ней есть ATTINY, радиоприемник, регулятор 5V и контакты для входа питания и выхода для 4 каналов. Выходы можно было подключить к чему угодно. В этом случае я позже подключу несколько светодиодов, чтобы показать вам результаты.Контакт D3 - это данные, поступающие от радиоприемника, и плата приемника готова.


Скачать код приемника (4 комбинации):

Скачать код приемника (8 комбинаций):

ЧАСТЬ 5 - Отправлен сигнал

Хорошо, ребята, эти модули отлично работают с виртуальным проводом. С Arduino, который работал нормально, у вас есть руководство по этому поводу на моей веб-странице. Я даже побеседовал между двумя ардуино, используя эти модули. Но по какой-то причине, используя ATTINY, я не мог заставить работать виртуальную проводную связь.Итак, я решил сделать это как можно проще. Это то, что я делаю. Я создаю прямоугольную волну на выводе передатчика. В зависимости от того, какая кнопка нажата, я буду изменять частоту этого прямоугольного сигнала. На приемнике я измеряю частоту и в зависимости от значения активирую тот или иной выход. Здесь у меня есть сигнал приемника, подключенный к моему осциллографу. Как видите, для каждой кнопки у меня своя частота, и все, что мне нужно сделать сейчас, это определить диапазон.


Это оно.Загрузите коды, как и раньше, с помощью щита Arduino UNO, и мы готовы. Как видите, теперь для каждой нажатой кнопки загорается отдельный светодиод. Обратной стороной этого контроллера является то, что он имеет только цифровые каналы. Если вам нужны аналоговые сигналы. Вам следует изменить передаваемый сигнал и использовать какую-то систему кодирования.

Следующая часть →


Помогите мне, поделившись этим постом

Начало работы с ATtiny85 - установка драйверов, программирование

В этом проекте я расскажу о ATtiny85, о том, какие инструменты необходимы для начала работы с платой ATtiny85, установке драйверов для ОС Windows и, наконец, о том, как программировать микроконтроллер ATtiny85 с помощью Arduino IDE.

Краткое описание ATtiny85

Микроконтроллер ATtiny85, возможно, является самым маленьким микроконтроллером, доступным на сегодняшний день. Это 8-битный микроконтроллер, основанный на архитектуре AVR RISC. Физически для полноценной работы требуется только 8 контактов (хотя в некоторых пакетах, таких как QFN16, 16 контактов используются только для упаковки).

Существует три варианта ATtiny85: ATtiny25, ATtiny45 и ATtiny85. Основное различие между этими тремя микросхемами - это объем памяти каждого устройства (Flash, EEPROM и RAM).

Микроконтроллер ATtiny85, целевое устройство этого проекта, имеет 8 Кбайт внутрисистемной программируемой флэш-памяти, 512 Байт EEPROM и 256 Байт SRAM.

Схема выводов ATtiny85

Как упоминалось ранее, ATtiny85 - это 8-контактный микроконтроллер, и наиболее распространенным корпусом IC для ATtiny85 является 8-контактный SOIC. На следующем изображении показана схема контактов 8-контактного SOIC ATtiny85.

Из приведенной выше схемы контактов вы можете заметить, что, за исключением VCC и GND, остальные 6 контактов ATtiny85 мультиплексированы с множеством функций.

Описание контакта

VCC: Это контакт напряжения питания. Для ATtiny85, работающего на частоте 10–20 МГц, напряжение питания должно быть в диапазоне 2,7–5,5 В.

GND: Контакт заземления

PORTB (PB0 - PB5): Остальные 6 контактов в ATtiny85 являются контактами порта B. Порт B - это 6-битный порт ввода-вывода. Все 6 портов B имеют мультиплексированные операции, каждый вывод может обрабатывать 3 или более операций.

RESET: Он мультиплексируется с PB5.Это активный вывод LOW.

На следующем изображении показан список альтернативных функций контактов PORTB.

Плата ATtiny85

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

Как видите, помимо микросхемы микроконтроллера ATtiny85, на плате есть несколько других компонентов, таких как регулятор 5 В, разъемы для контактов ввода / вывода, несколько пассивных компонентов и порт MicroUSB для программирования и питания.

Начало работы с платой ATtiny85

Теперь, когда мы немного познакомились с микроконтроллером ATtiny85 и его платой для разработки, давайте рассмотрим аспекты использования этой платы, необходимые инструменты (например, драйверы) и также как программировать микроконтроллер ATtiny85.

Начну с программирования ATtiny85. Есть несколько способов запрограммировать ATtiny85, но я выбрал самый простой: использование Arduino IDE для программирования ATtiny85.Для этого вам необходимо внести некоторые изменения в IDE Arduino.

Следующее важное - это драйверы. USB-драйверы для платы ATtiny85 очень важны, поскольку драйвер отвечает за включение Arduino IDE для программирования ATtiny85.

Подробное видео

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

Настройка Arduino IDE

Первым шагом является настройка Arduino IDE для программирования ATtiny85.Откройте вашу Arduino IDE и перейдите в File à Preferences. На вкладке с надписью «Дополнительные URL-адреса диспетчера плат:» скопируйте и вставьте следующую ссылку и нажмите «ОК».

http://digistump.com/package_digistump_index.json

Это похоже на то, что вы могли сделать для ESP8266 .

Теперь перейдите в Инструменты → Плата: → Менеджер плат… и найдите «Платы Digistump AVR». Выберите то же самое и нажмите на установку. Если установка прошла успешно, вы можете увидеть доску в меню Инструменты → Плата: опция.Мы вернемся к этому позже.

Установка драйверов

Следующим шагом является установка необходимых драйверов USB для платы ATtiny85. Уточню, как установить драйверы для системы Windows. Перейдите по следующей ссылке и загрузите файл «Digistump.Drivers.zip». Извлеките содержимое zip-файла и дважды щелкните приложение «DPinst64», чтобы установить драйверы.

Драйверы Link

ПРИМЕЧАНИЕ: Если ваша система 32-разрядная, выберите приложение «DPinst».

После успешной установки драйверов вы можете подключить плату ATtiny85 к компьютеру с помощью кабеля USB. Чтобы проверить, обнаружено ли устройство или нет, зайдите в Диспетчер устройств в Windows, и ваше устройство будет указано в списке «Устройства libusb-win32» как «Загрузчик Digispark».

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

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

Первым шагом в программировании ATtiny85 является выбор платы в Arduino IDE. Перейдите в Инструменты → Плата: и выберите плату «Digispark (по умолчанию -16,5 МГц)».

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

Нажмите кнопку загрузки в Arduino IDE. Предполагая, что вы не подключили ATtiny85 к компьютеру, Arduino IDE отобразит сообщение «Подключите устройство сейчас».Подключите плату ATtiny85 к компьютеру, и она будет запрограммирована, а светодиодный индикатор начнет мигать.

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

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