ATtiny84: подробный обзор микроконтроллера и его применение

Что такое ATtiny84 и зачем он нужен. Какими характеристиками обладает этот микроконтроллер. Как программировать ATtiny84 и использовать его в проектах. На что обратить внимание при работе с этим чипом.

Содержание

Общая характеристика микроконтроллера ATtiny84

ATtiny84 — это 8-битный микроконтроллер семейства AVR от компании Microchip (ранее Atmel). Он относится к линейке ATtiny, которая отличается компактными размерами и низким энергопотреблением.

Основные характеристики ATtiny84:

  • 8 КБ Flash-памяти программ
  • 512 байт EEPROM
  • 512 байт оперативной памяти SRAM
  • 12 программируемых линий ввода-вывода
  • Напряжение питания: 1.8-5.5 В
  • Тактовая частота: до 20 МГц
  • Корпуса: 14-выводной SOIC, PDIP или 20-выводной QFN/MLF

ATtiny84 хорошо подходит для проектов, где требуется компактный микроконтроллер с достаточным количеством выводов и периферии, но нет необходимости в большом объеме памяти.

Архитектура и основные блоки ATtiny84

ATtiny84 построен на усовершенствованной RISC-архитектуре AVR. Основные блоки микроконтроллера:


  • 8-битное CPU с 32 регистрами общего назначения
  • Два 8-битных таймера/счетчика
  • Один 16-битный таймер/счетчик
  • 8-канальный 10-битный АЦП
  • Программируемый сторожевой таймер
  • Аналоговый компаратор
  • Универсальный последовательный интерфейс USI

Такой набор периферийных модулей позволяет использовать ATtiny84 в различных встраиваемых системах управления и сбора данных.

Особенности программирования ATtiny84

ATtiny84 можно программировать несколькими способами:

  1. С помощью программатора и среды разработки Atmel Studio
  2. Через Arduino IDE с использованием загрузчика
  3. Программирование через интерфейс SPI

Для начинающих удобнее всего использовать Arduino IDE, так как это позволяет применять привычные функции и библиотеки. Однако для более эффективного использования ресурсов микроконтроллера рекомендуется перейти на программирование на чистом Си в Atmel Studio.

Распиновка и назначение выводов ATtiny84

ATtiny84 имеет следующую распиновку в 14-выводном корпусе SOIC/PDIP:

  • VCC, GND — питание
  • PB0-PB3 — порт B
  • PA0-PA7 — порт A
  • RESET — вывод сброса

Большинство выводов имеют альтернативные функции. Например, PA0 может работать как вход АЦП или вывод ШИМ. При программировании важно правильно настроить назначение выводов под конкретную задачу.


Применение ATtiny84 в проектах

ATtiny84 часто используется в следующих областях:

  • Управление светодиодной подсветкой и световыми эффектами
  • Простые системы сбора данных с датчиков
  • Управление двигателями в робототехнике
  • Генераторы сигналов и таймеры
  • Системы «умного дома»

Компактные размеры и низкое энергопотребление делают ATtiny84 хорошим выбором для портативных и батарейных устройств.

Сравнение ATtiny84 с другими микроконтроллерами

Как ATtiny84 соотносится с другими популярными микроконтроллерами?

  • ATtiny85 — меньше выводов (8 vs 14), но схожие характеристики
  • ATmega328 (Arduino Uno) — больше памяти и периферии, но выше энергопотребление
  • STM32F103 — 32-битный ARM-контроллер, мощнее, но сложнее в освоении

ATtiny84 занимает промежуточное положение между сверхкомпактными 8-выводными микроконтроллерами и более мощными 28-32 выводными чипами. Это делает его универсальным выбором для многих проектов.

Энергопотребление и режимы пониженного энергопотребления

Одно из главных преимуществ ATtiny84 — низкое энергопотребление. В активном режиме при 1 МГц и 1.8В оно составляет всего 300 мкА.


Микроконтроллер имеет несколько режимов сна:

  • Idle — останавливается только CPU
  • ADC Noise Reduction — останавливается CPU и отключается большинство модулей
  • Power-down — самый экономичный режим, работает только сторожевой таймер

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

Работа с аналого-цифровым преобразователем ATtiny84

ATtiny84 оснащен 10-битным АЦП с 8 входными каналами. Основные характеристики АЦП:

  • Разрешение: 10 бит
  • Время преобразования: 65-260 мкс
  • Максимальная частота выборки: до 15 kSPS

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

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

Использование таймеров/счетчиков в ATtiny84

ATtiny84 имеет три таймера/счетчика:

  • Timer0 — 8-битный с ШИМ
  • Timer1 — 16-битный с ШИМ
  • Timer2 — 8-битный асинхронный таймер/счетчик

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


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

Отладка программ для ATtiny84

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

  • Использование светодиодов для индикации состояния программы
  • Вывод отладочной информации через UART
  • Эмуляция на ПК с помощью симулятора
  • Использование внутрисхемного эмулятора

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

Заключение

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

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



ATTINY84A-SSF, 8 Bit MCU, AVR ATtiny Family ATtiny84 Series Microcontrollers, 20 МГц, 8 КБ, 512 Байт, Microchip

Максимальное Напряжение Питания 5.5В
Минимальное Напряжение Питания 1.8В
Количество Выводов 14вывод(-ов)
Уровень Чувствительности к Влажности (MSL) MSL 1 — Безлимитный
Количество I/O 12I/O
Скорость ЦПУ 20мгц
Стиль Корпуса Микроконтроллера SOIC
Размер Памяти 8КБ
Тип Встроенного Интерфейса i2c, spi
Размер Памяти RAM 512Байт
Линейка Продукции AVR ATtiny Family ATtiny84 Series Microcontrollers
Семейство Микроконтроллера avr attiny
Серия Микроконтроллера ATTINY84
Base Product Number ATTINY84A ->
Connectivity USI
Core Processor AVR
Core Size 8-Bit
Data Converters A/D 8x10b
ECCN EAR99
EEPROM Size 512 x 8
HTSUS 8542.31.0001
Moisture Sensitivity Level (MSL) 2 (1 Year)
Mounting Type Surface Mount
Number of I/O 12
Operating Temperature -40В°C ~ 125В°C (TA)
Oscillator Type Internal
Other Related Documents http://www.microchip.com/mymicrochip/filehandler.a
Package Tube
Package / Case 14-SOIC (0.154″», 3.90mm Width)
Peripherals Brown-out Detect/Reset, POR, PWM, Temp Sensor, WDT
Program Memory Size 8KB (4K x 16)
Program Memory Type FLASH
RAM Size 512 x 8
REACH Status REACH Unaffected
RoHS Status ROHS3 Compliant
Series AVRВ® ATtiny ->
Speed 20MHz
Supplier Device Package 14-SOIC
Video File Introducing Atmel Studio 7Microchip Ethernet of Ev
Voltage — Supply (Vcc/Vdd) 1.8V ~ 5.5V
Вес, г 0.1

8кБ; SO14 производства MICROCHIP (ATMEL) ATTINY84-20SSU

Главная Каталог Полупроводники Микросхемы Microcontrollers and Microprocessors Микроконтроллеры Microchip Линейка AVR 8-bit
КоличествоЦена ₽/шт
+1 275
+5 260
+25 250
+100 238
Минимально 1 шт и кратно 1 шт

Вы можете запросить у нас любое количество ATTINY84-20SSU, просто отправьте нам запрос на поставку.
Мы работаем с частными и юридическими лицами.

Купить ATTINY84-20SSU от 1 шт с помощью банковской карты можно прямо сейчас на нашем сайте.
Работаем с частными и юридическими лицами.

ATTINY84-20SSU описание и характеристики

Микроконтроллер AVR; EEPROM: 512Б; SRAM: 512Б; Flash: 8кБ; SO14

  • Производитель

    MICROCHIP (ATMEL)

  • Монтаж

    SMD

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

    -40…85°C

  • Корпус

    SO14

  • Напряжение питания

    1,8…5,5В DC

  • Вид упаковки

    туба

  • Кол-во в упаковке

    57шт.

  • Характеристики интегральных схем

    встроенный датчик температуры, усилитель входов ADC

  • Объем памяти SRAM

    512Б

  • Интерфейс

    I2C, SPI, debugWIRE

  • Объем Flash-памяти

    8кБ

  • Семейство

    ATTINY

  • Тип микросхемы

    микроконтроллер AVR

  • Тактовая частота

    20МГц

  • Кол-во таймеров 8бит

    2

  • Количество емкостных каналов

    6

  • Объем памяти EEPROM

    512Б

  • Кол-во каналов ШИМ

    4

  • Кол-во компараторов

    1

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

    1

  • Кол-во преобразователей A/D 10бит

    8

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

    4

  • Количество внешних прерываний

    12

Бесплатная доставка
заказов от 5000 ₽

Доставим прямо в руки или в ближайший пункт выдачи


Смежные товары

ATtiny84A-PU

Микроконтроллер ATtiny84 принадлежит семейству микроконтроллеров AVR фирмы Atmel. ATtiny84 имеет 8кб Flash памяти и по 512кб SRAM и EEPROM памяти. ATtiny84 может работать на частоте до 20МГц с внешним кварцевым резонатором и до 8МГц с внутренним генератором.

ATtiny84 выпускают в корпусах DIP-14, SOIC-14 и QFN-20

Синим цветом на рисунке показаны номера выводов соответствующие Arduino.

Микроконтроллер ATtiny84 имеет

  • 0..10 11 программируемых линий ввода-вывода (DIP-14)
  • RST RESET
  • 0…7 8 несимметричных каналов 10-разрядных АЦП
  • 5…8 4 выхода с широтно-импульсной модуляцией (PWM)
  • Два 8 и 16-разрядных таймера-счетчика

Условные обозначения и описание ножек микроконтроллеров AVR ATtiny и ATmega

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

Далее мы приводим описание аббревиатур, которые Вы можете встретить в datasheet микроконтроллеров.

PAn n-й разряд порта A
PBn n-й разряд порта B
PDn n-й разряд порта D
(IR) (Выходной контакт с повышенной нагрузочной способностью)
ADCn n-й вход АЦП
AREF Вход опорного напряжения для АЦП
AVCC Вывод источника питания АЦП
AIN0 Положительный вход компаратора
AIN1 Отрицательный вход компаратора
INTn  Вход внешнего n-го прерывания
PCINTn Вход внешнего n-го прерывания по изменению состояния вывода
XTAL1 Вход тактового генератора
XTAL2 Выход тактового генератора
CKOUT Выход системного тактового сигнала
CLKO Выход системного тактового сигнала
MOSI Вход данных при программировании
MISO Выход данных при программировании
SCK Вход тактового сигнала при программировании
DI Вход данных модуля USI в режиме SPI
DO Выход данных модуля USI в режиме SPI
USCK Вход/выход тактового сигнала модуля USI в режиме SPI
SDA Вход/выход данных модуля USI в режиме TWI
SCL Вход/выход тактового сигнала модуля USI в режиме TWI
RXD Вход USART
TXD Выход USART
XCK Вход/выход внешнего тактового сигнала USART
RESET Сброс
Tn Вход внешнего тактового сигнала таймера/счетчика Tn
OCnX Выход X таймера/счетчика Tn
ICP Вход захвата таймера/счетчика
dW Вывод отладочного интерфейса debugWire
GND Общий провод
VCC Питание микросхемы

Может ли Atmel ATTINY84 читать I2C без добавления какой-либо программы или модуля?



Недавно я подключил гироскоп(L3G4200D) к ATTINY84,однако гироскоп использует I2C, а ATTINY84 использует USI, в результате чего у меня возникли некоторые проблемы с программированием. Я использую Arduino Uno, чтобы быть ISP, и я подключил два провода гироскопа к контакту SDA и SCL на Attiny84, но он все еще не работает. У кого-нибудь есть какое-нибудь решение?

arduino i2c attiny
Поделиться Источник Sean Chen     06 октября 2014 в 06:02

2 ответа


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

    Я разрабатываю мобильное устройство вокруг Attiny84 microcontroller , и когда я искал способы его программирования и запуска, я обнаружил, что мне понадобится прогаммер JTAG. Может ли Attiny84 быть запрограммирован USB с помощью чего-то еще, например 6-контактного заголовка? Какими еще способами…

  • Производит ли c# или vb.net конструктор модуля при каких-либо обстоятельствах?

    Как следует из названия, создает ли c# или vb.net конструктор модуля для assembly при каких-либо обстоятельствах или при использовании определенного шаблона кода? EDIT: чтобы быть ясным, я не ищу способы добавления/использования конструктора модуля. Я просто хочу знать, производят ли компиляторы /…


Поделиться N-genhocas     06 октября 2014 в 06:43



0

Решение заключается в использовании правильной библиотеки, которая делает программное обеспечение I2C. получите библиотеку https://github.com/svoisen/TinyWire, подключите 4 провода ( VCC, GND, SDA, SCL ), не забудьте 2 подтягивающих резистора 4K7 на SDA/SCL., вот и все.

Поделиться Oleg Nesterov     26 января 2015 в 23:46


Похожие вопросы:


Реализация i2c из пользовательского пространства Linux

Извините за длинное описание моей проблемы 🙂 Мне было поручено выполнить простое чтение и запись в / из устройства I2C на нашей новой плате на базе PC. Плата будет построена с использованием…


Возможна ли связь I2C с использованием двух разных IDEs?

У меня есть Atmel AVR в качестве ведущего устройства I2C и Arduino в качестве ведомого. Модель AVR запрограммирована в студии Atmel, а модель Arduino-в студии Arduino IDE. Возможно ли такое общение?…


Проблема переноса драйвера I2C

Я портирую драйвер I2C с Atmel AVR32 U3 на устройство Energy Micro EFM32GG Cortex-M3. Драйвер использует Atmel BSP для связи с шиной I2C, предоставляя ей адрес ведомого устройства, адрес регистра и…


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

Я разрабатываю мобильное устройство вокруг Attiny84 microcontroller , и когда я искал способы его программирования и запуска, я обнаружил, что мне понадобится прогаммер JTAG. Может ли Attiny84 быть…


Производит ли c# или vb.net конструктор модуля при каких-либо обстоятельствах?

Как следует из названия, создает ли c# или vb.net конструктор модуля для assembly при каких-либо обстоятельствах или при использовании определенного шаблона кода? EDIT: чтобы быть ясным, я не ищу…


Не удается разбудить Atmel ATSHA204 с помощью I2C

Недавно мне было поручено написать драйверы для некоторых устройств I2C в нашем продукте. Я был полным новичком в этом, но мне удалось использовать смесь i2cset и i2cget вместе с smbus , чтобы…


Linux-необходимо ли регистрировать (создавать) устройства i2c перед их использованием?

Я запутался в том, как программы пользовательского пространства, использующие интерфейс I2C dev Linux, могут регистрировать (создавать экземпляры?) устройства i2c. Из моего понимания, прочитав это:…


Связь I2C в raspberry pi с использованием python

Я хочу настроить I2C для raspberry pi, используя PYTHON или последний выбор C. Я работал над микроконтроллером ATMEL, он обеспечивает связь I2C с любым устройством. Мне нужен какой-то подобный…


MAX77651 не может прочитать регистр с интерфейсом I2C

Я пытаюсь проверить связь i2c чипа MAX77651 перед его программированием. Итак, вот моя установка сделать это: У меня есть UMFT4222ev, подключенный к моему Linux ноутбуку USB. Этот чип имеет свои SCL…


Сброс замороженной шины I2C с помощью адаптера dev

Я использую встроенный компьютер kontron для связи с микроконтроллером ST по I2C. Я использую адаптер dev для взаимодействия с I2C, используя простые функции read() и write(), описанные здесь ….

ATTINY84-15MZ by ExceStore |ATTINY84-15MZ Наличие на складе |www.Excestore.com

Описание

Мы можем предоставить ATTINY84-15MZ, используйте форму запроса предложения, чтобы запросить ATTINY84-15MZ pirce и время выполнения заказа.ExceStore — профессиональный дистрибьютор электронных компонентов.С более чем 7 миллионами позиций доступных электронных компонентов могут быть отгружены в короткие сроки, более 250 тысяч деталей электронных компонентов на складе для немедленной доставки, которые могут включать номер детали ATTINY84-15MZ. Цена и время выполнения заказа для ATTINY84-15MZ в зависимости от количестватребуется, наличие и местонахождение склада. Свяжитесь с нами сегодня, и наш торговый представитель сообщит вам цену и доставку по части № ATTINY84-15MZ. Мы надеемся на сотрудничество с вами для установления долгосрочных отношений сотрудничества.

Используйте форму ниже, чтобы отправить запрос на предложение

номер части ATTINY84-15MZ
производитель Micrel / Microchip Technology
Описание IC MCU 8BIT 8KB FLASH 20QFN
Статус бесплатного свидания / Статус RoHS Без свинца / Соответствует RoHS
Кол-во в наличии 5 pcs
Листки ATTINY84-15MZ.pdf
Напряжение тока — поставка (Vcc / Vdd) 2.7 V ~ 5.5 V
Поставщик Упаковка устройства 20-QFN (4×4)
скорость 16MHz
Серии Automotive, AEC-Q100, AVR® ATtiny
Размер ОЗУ 512 x 8
Тип памяти программ FLASH
Размер программной памяти 8KB (4K x 16)
Периферийные устройства Brown-out Detect/Reset, POR, PWM, WDT
упаковка Cut Tape (CT)
Упаковка / 20-WFQFN Exposed Pad
Другие названия 1611-ATTINY84-15MZCT
Осциллятор Тип Internal
Рабочая Температура -40°C ~ 125°C (TA)
Количество входов / выходов 12
Уровень чувствительности влаги (MSL) 3 (168 Hours)
Стандартное время изготовления 16 Weeks
Статус бесплатного свидания / Статус RoHS Lead free / RoHS Compliant
EEPROM Размер 512 x 8
Подробное описание AVR Automotive, AEC-Q100, AVR® ATtiny Microcontroller IC 8-Bit 16MHz 8KB (4K x 16) FLASH 20-QFN (4×4)
Преобразователи данных A/D 8x10b
Размер сердечника 8-Bit
ядро процессора AVR
связь USI
Руководство по программированию

ATtiny84: Распиновка и спецификации ATtiny84

Платы Arduino, такие как Nano и Uno, предоставляют ряд захватывающих возможностей и чрезвычайно просты в программировании, по крайней мере, в отношении встроенных систем. Однако в какой-то момент вы понимаете, что на этих досках разработки есть множество компонентов и функций, которые не обязательно нужны для каждого проекта. Во многих случаях вы даже можете обойтись одним чипом, например, в линейке ATtiny.Мы рассмотрели начало работы с ATtiny85, который является чрезвычайно популярным вариантом для задач с небольшим количеством выводов. Однако, имея всего 5 контактов ввода / вывода — 6, если вы используете сброс, — его возможностей недостаточно для многих проектов.

Конечно, ‘85 — не единственный чип в линейке ATtiny, и ATtiny84 может стать идеальным решением для большего количества возможностей, примерно в два раза большего физического размера. Устройство все еще очень маленькое и может работать без внешнего генератора, но у него всего 14 контактов вместо 8 на 85.Всего получается 12 контактов ввода / вывода, один из которых обычно используется для сброса.

Распиновка и характеристики ATtiny84

Если вы хоть раз знакомы с ‘85, спецификация ATtiny84 должна быть вам хорошо знакома. Основные моменты включают:

· 8K Flash, 512 байт EEPROM и 512 байт SRAM

· Заявленное сохранение данных в течение 100 лет при 25 ° C (довольно комфортные 77 ° F).

· Скорость указана до 20 МГц (с внешним генератором)

· Вариант «V» может достигать значения 1.8 В, потребляя всего 300 мкА при работе с тактовой частотой 1 МГц.

· Низковольтный спящий режим — как обсуждалось здесь в контексте плат Arduino — еще более удивителен, позволяя ему существовать при токе всего 0,1 мкА до тех пор, пока он не понадобится.

На самом деле, за исключением состояний в разделе «Ввод-вывод и пакеты», которое читается как «Двенадцать программируемых линий ввода-вывода», вам будет трудно отличить документацию по этому чипу от меньшего ’85, с его простым 6. Большее количество операций ввода-вывода — это, безусловно, огромное преимущество, но влечет за собой снижение объема, если вы пытаетесь создать свой новейший ультракрошечный шедевр.

ATTiny84 в сравнении с ATTiny44 и ATTiny24

Одна вещь, которая может немного сбить с толку при первом просмотре спецификации, — это то, что в ней перечислены спецификации для ATtiny84, 44 и 24 (точно так же, как ATtiny85 сочетается с 45 и 25). Здесь первое число означает, сколько флэш-памяти имеет каждый вариант микросхемы. Это и другие отличия перечислены последовательно через символы «/».

С точки зрения затрат разница между этими тремя, буквально, никели и десять центов.Лучше всего просто потратить лишнюю четверть на «84» при экспериментировании и избавить себя от некоторых потенциальных головных болей в процессе. Однако когда приходит время создавать тысячи новых изобретений, экономия нескольких центов выглядит более привлекательной. Здесь вы можете найти ATtiny44, а также недорогой ATtiny24 здесь.

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

Как только вы поняли идею и получили в руки одну из этих маленьких фишек, как ее запрограммировать? Первоначальные шаги в этом процессе такие же, как и для ATtiny85, поэтому выполните шаги 1–3 из части, приведенной в начале этой статьи.Однако, когда вы перейдете к опции Processor на шаге 2, выберите ATtiny84 . В зависимости от используемого вами программатора или платы Arduino, если вы используете ее в качестве провайдера, у вас, скорее всего, не будет удобной розетки для подключения ‘84. Вместо этого вам нужно будет построить одну из ряда перемычек. Подключите выводы VCC, GND, MOSI, MISO, SCK и RST программатора к соответствующим разъемам на ATtiny84, как показано на рисунке ниже:

После того, как ваш программатор правильно подключен к ATtiny84 и подключен через USB, откройте скетч Blink в качестве примера Arduino IDE.Измените LED_BUILTIN на 0 , поскольку по умолчанию к процессору ATtiny84 не подключен светодиод, затем нажмите Ctrl + U для загрузки. Если вы еще этого не сделали, убедитесь, что USBtiny ISP выбран в качестве программиста в Tools . Предполагая, что все подключено правильно, ваша программа должна загружаться без жалоб.

Чтобы проверить, работает ли он, подключите светодиод к земле и контакту 0 с соответствующим резистором и наблюдайте, как он мигает.Обратите внимание, что 0 здесь будет физическим контактом 13, а не контактом 2, как показано на распиновке ATtiny84 против часовой стрелки на приведенном выше рисунке. Ваше устройство будет радостно мигать, создавая основу для более сложных экспериментов. Возможно, вы могли бы сделать светодиодный сканер, как показано в статье ATtiny85, но вместо 5 светодиодов вы возьмете до 11… или 12, если вы хотите использовать контакт сброса.

Это, однако, оставлено читателю в качестве упражнения. Конечно, какой бы чип вы ни выбрали, вы всегда можете использовать программируемые светодиоды, поэтому мигание большего количества светодиодов — не совсем новость.Что интересно в ATtiny84, так это то, как много других вещей вы можете контролировать или принимать во внимание. Одиннадцать булавок открывают мир возможностей. И если размер микросхемы по-прежнему вызывает беспокойство, учтите, что здесь изображена «большая» версия DIP ATtiny84-20PU. Доступны другие версии с посадочными местами SOIC, QFN и даже BGA, чтобы сэкономить еще больше места, хотя для их реализации потребуется печатная плата!

ATtiny84 8-битный микроконтроллер AVR Распиновка, характеристики, спецификации и техническое описание

ATtiny84 отличается высокой производительностью и оснащен технологией Microchip picoPower в 8-битном микроконтроллере на основе архитектуры AVR RISC, который имеет 14 контактов, из которых 12 контактов могут использоваться в качестве контактов ввода / вывода.

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

Номер контакта

Имя контакта

Описание

1

VCC

Положительный вывод MCU (+ 5V)

2

(PCINT8 / XTAL1 / CLKI) PB0

Вывод порта B Бит 0 или вывод генератора или источник прерывания изменения вывода 8 или вход синхронизации от внешнего источника

3

(PCINT9 / XTAL2) PB1

Вывод порта B Бит 1 или вывод генератора или источник прерывания изменения вывода 9

4

(PCINT11 / RESET / dW) PB3

Вывод порта B Бит 3 или вывод сброса в основном используется для программирования или включения отладки или источника прерывания при изменении вывода 11.

5

(PCINT10 / INT0 / OC0A / CKOUT) PB2

Двунаправленный вывод ввода-вывода порта B, бит 2 или внешнее прерывание 0, или системный тактовый выход, или источник прерывания смены вывода, или таймер / счетчик 0, сравнение, совпадение A, выход

6

(PCINT7 / ICP / OC0B / ADC7) PA7

Двунаправленный вывод ввода / вывода порта A Бит 7 или входной канал 7 АЦП или TImer / Counter1 Capture или Timer / Counter1 Compare Match B Out or Pin change Interrupt 0, source 7

7

(PCINT6 / OC1A / SDA / MOSI / DI / ADC6) PA6

Двунаправленный вывод ввода-вывода порта A, бит 6 или входной канал АЦП 6, или ввод USI DATA, или SPI MOSI, используемый для программирования ICSP, или таймер / счетчик1, сравнение выхода A или изменение контакта, прерывание 0, источник 6

8

PA5 (ADC5 / DO / MISO / OC1B / PCINT5)

Двунаправленный вывод ввода / вывода порта A, бит 5 или входной канал 5 АЦП, или выход USI DATA, или SPI MISO, используемый для программирования ICSP или таймера / счетчика 1, выхода сравнения B или прерывания изменения контакта 0, источник 5

9

PA4 (ADC4 / USCK / SCL / T1 / PCINT4)

Двунаправленный вывод ввода / вывода порта A, бит 4 или входной канал 4 АЦП, или тактовый сигнал USI (трехпроводной), используемый для программирования ICSP или I2C SCL, или таймер / счетчик1, источник тактового сигнала или прерывание изменения вывода 0, источник 3

10

PA3 (ADC3 / T0 / PCINT3)

Двунаправленный вывод ввода / вывода порта A Бит 3 или входной канал 3 АЦП или TImer / Counter0 Источник синхросигнала или изменение вывода Прерывание 0, источник 3

11

PA2 (ADC2 / AIN1 / PCINT2)

Двунаправленный вывод ввода / вывода порта A, бит 2 или вход АЦП, канал 2, или вход аналогового компаратора — или прерывание изменения вывода 0, источник 2

12

PA1 (ADC1 / AIN0 / PCINT1)

Двунаправленный вывод ввода-вывода порта A, бит 1 или вход АЦП, канал 1, или аналоговый вход компаратора + или изменение вывода Прерывание 0, источник 1

13

PA0 (ADC0 / AREF / PCINT0)

Двунаправленный вывод ввода-вывода порта A, бит 0 или входной канал 0 АЦП, или внешнее аналоговое опорное напряжение, или прерывание изменения вывода 0, источник 0

14

GND

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

Характеристики и спецификации микроконтроллера ATtiny84

ATtiny84 — Упрощенные функции и спецификации

ЦП

8-битный AVR

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

14

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

1.8-5,5 В

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

12

Модуль АЦП

10-бит (8 каналов)

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

8 бит (1), 16 бит (1)

Компараторы

1

Модуль ЦАП

Нет

Периферийные устройства связи

1-SPI, 1-I2C

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

Есть

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

8 МГц

Программная память (КБ)

8 КБ

Скорость процессора (MIPS)

20 MIPS

байтов ОЗУ

0.5 кБ

Данные EEPROM

512 байт

Примечание : Полную техническую информацию можно найти в таблице данных ATtiny84, ссылка на находится внизу этой страницы.

Альтернативный продукт ATtiny84

Альтернативные продукты для микроконтроллера ATtiny84 перечислены ниже —

  1. ATtiny2313A (точная альтернатива с новым выпуском)
  2. ATtiny417
  3. ATtiny28L
  4. ATtiny48
  5. ATmega88PA
  6. ATmega8A
  7. ATmega8515
  8. ATmega8535
  9. ATmega645A
  10. ATmega6490

Знакомство с ATtiny84

ATtiny84 отличается высокой производительностью и оснащен технологией Microchip picoPower в 8-битном микроконтроллере на основе архитектуры AVR RISC, который имеет 14 контактов, из которых 12 контактов могут использоваться в качестве контактов ввода / вывода.

Он имеет мощную архитектуру инструкций, которая обеспечивает скорость обработки 1 MIPS на МГц при балансировке энергопотребления при одновременной обработке высокоскоростной производительности. Скорость может достигать 20 MIPS при использовании максимальной частоты 20 МГц.

ATtiny84 также поставляется с функцией отладки на кристалле debugWIRE , внутрисистемным программируемым портом SPI, режимами ожидания с низким энергопотреблением, отключением питания и режимами ожидания. Он также использует программируемую схему обнаружения пониженного напряжения, а также встроенный датчик температуры.

Имеет широкий диапазон рабочего напряжения от 1,8 В до 5,5 В. Таким образом, его можно использовать для операций на логическом уровне 1,8 В, 3,3 или 5,0 В. Однако работа в диапазоне 0–4 МГц поддерживается входным напряжением 1,8 В для ATtiny84V. Для частоты до 10 МГц минимальное напряжение требуется 2,7 В для ATtiny84, а для операций 20 МГц требуется минимальное напряжение 4,5–5,5 В. На изображении ниже показана подробная схема контактов ATtiny84.

Подробные характеристики ATtiny84

ATtiny84 — подробные характеристики

ЦП

8-битный AVR RISC

Архитектура

8

Размер памяти программ (Кбайт)

8

RAM (байты)

512

EEPROM / HEF

512

Количество выводов

14

Макс.Частота процессора (МГц)

20

Выбор периферийных контактов (PPS)

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

8 МГц

№ компараторов

1

№Операционного усилителя

0

Кол-во каналов АЦП

8

Максимальное разрешение АЦП (бит)

10 бит — 15 квыб / с

АЦП с вычислением

0

Количество преобразователей ЦАП

0

Максимальное разрешение ЦАП

Внутреннее опорное напряжение

Обнаружение нулевого пересечения

№8-битных таймеров

1

Количество 16-битных таймеров

1

Таймер измерения сигнала

0

Аппаратный таймер ограничения

0

№Выходов ШИМ

4

Максимальное разрешение ШИМ

1024

Угловой таймер

0

Математический ускоритель

№Модуля UART

0

№ модуля SPI

1

№ модуля I2C

1

№ USB-модуля

0

Оконный сторожевой таймер (WWDT)

CRC / сканирование

Генератор с числовым программным управлением

Кап.Сенсорные каналы

6

Сегментный ЖК-дисплей

0

Минимальная рабочая температура (* C)

-40

Максимальная рабочая температура (* C)

85

Минимальное рабочее напряжение (В)

1.8 / (от 2,7 до 10 МГц) / (от 4,5 до 20 МГц)

Максимальное рабочее напряжение (В)

5,5

Возможность высокого напряжения

Программирование микроконтроллера AVR Микроконтроллеры AVR

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

Для программирования микроконтроллера AVR нам понадобится IDE (интегрированная среда разработки), в которой происходит программирование. Компилятор, в котором наша программа преобразуется в читаемую форму MCU, называемую HEX-файлами.

IDE: Atmel Studio 7

Компилятор: AVR и ARM Toolchains

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

Чтобы сделать дамп или загрузить наш код в AVR, нам понадобится устройство под названием ATAtmel-ICE. Программатор / отладчик ATAATmel — ICE — это простой внутрисхемный отладчик, который управляется ПК с программным обеспечением Atmel Studio на платформе Windows.Программатор / отладчик ATAAtmel-ICE является неотъемлемой частью набора инструментов разработчика. Базовая схема программирования для ATtiny84 показана ниже.

Помимо этого официального программатора, пользователи также используют USB ASP AVR Programming Device для недорогих программных решений. В дополнение к этому нам также понадобится другое оборудование, такое как плата Perf или макет, паяльная станция, микросхемы AVR, кварцевые генераторы, конденсаторы и т. Д.

Компоненты, связанные с AVR

USB ASP AVR Programmer, плата для разработки AVR, кварцевые генераторы, конденсаторы, адаптер 12 В, регулятор напряжения 7805

2D Модель

Размеры ATtiny84 показаны ниже —

Attiny84 | Hackaday

Вот и ротик Билли Басс с дополнительной губой благодаря Алексе.Если вы еще не знакомы, Рыжий Билли Басс — это шокирующе популярная поющая аниматронная рыба, которая выглядит как трофейная рыба, которую можно повесить на стену. В своем стандартном состоянии Билли использует датчик движения, чтобы начать петь, когда кто-то проходит мимо. Он ограничен несколькими песнями, если вы не любите что-то взламывать — в этом случае это набор полезных частей, обернутых юмористической рыбкой! Собственный Hackaday [Боб Баддели] объединил рыбу с Amazon Echo Dot, соединив их с ATtiny84, и заставил Билли говорить от имени Алексы.

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

Для рыбок это хорошо, если они лежат и поют, но [Боб] хотел, чтобы Билли двигался, когда Алекса слушает, и чтобы это обнаружить, лучше всего было следить за тем, чтобы загорелся свет Точки.Он попробовал пару вещей, но решил, что самый простой метод, вероятно, лучший, и закончил тем, что просто наклеил фоторезистор поверх светодиода. Теперь Билли поворачивается к вам, когда вы задаете вопрос Алексе.

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

Мы и раньше видели Алексу в сочетании с Большеротым Билли Бассом, но только демонстрации и никогда не было отличного руководства, как [Bob’s].В этом руководстве приятно то, что после того, как вы взломали оборудование, можно легко добавить новые функции, используя навыки Alexa.

Читать далее «Рыжий Билли Басс транслирует Майли Сайрус» →

ATTINY84-20PU — Микрочип — 8-битный микроконтроллер, маломощный, высокопроизводительный, AVR Семейство ATtiny Микроконтроллеры серии ATtiny84

ATTINY84-20PU — это высокопроизводительный маломощный 8-битный микроконтроллер AVR на базе RISC, который сочетает в себе EEPROM 512 байт, 12 линий ввода-вывода общего назначения, 32 рабочих регистра общего назначения, 2 таймера / счетчика (8-битные / 16 бит) с двумя каналами PWM каждый, внутренними и внешними прерываниями, 8-канальным 10-битным аналого-цифровым преобразователем, каскадом программируемого усиления (1x, 20x) для 12 пар дифференциальных каналов АЦП, программируемым сторожевым таймером с внутренним генератором, внутренняя калибровка осциллятор и четыре программно выбираемых режима энергосбережения.Выполняя мощные инструкции за один такт, устройство достигает пропускной способности, приближающейся к 1 MIPS на МГц, балансируя энергопотребление и скорость процессора.

  • Высокопроизводительный 8-разрядный микроконтроллер AVR® с низким энергопотреблением
  • Расширенная архитектура RISC
  • Энергонезависимая память программ и данных
  • Встроенная система отладки debugWIRE
  • Внутрисистемное программирование через порт SPI
  • Внутренние и внешние источники прерываний, прерывание смены контакта на 12 контактах
  • Режим ожидания с низким энергопотреблением, шумоподавление АЦП, режимы ожидания и отключения питания
  • Улучшенная схема сброса при включении питания
  • Программируемая цепь обнаружения пониженного напряжения
  • Внутренний калиброванный осциллятор
  • Встроенный датчик температуры
  • от 0 до 20 МГц при 4.Скорость от 5 до 5,5 В, класс
  • 300 мкА при 1,8 В (системная тактовая частота 1 МГц) в активном режиме, 0,1 мкА при 1,8 В в режиме пониженного энергопотребления

Приложения

Автоматизация зданий, Бытовая электроника, Промышленное, Зондирование и приборы, Портативные устройства

Generic ATtiny84 — последняя документация по PlatformIO

Платформа

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

.

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

ATTINY84

Частота

8 МГц

Вспышка

8 КБ

RAM

512B

Поставщик

Атмель

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

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

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

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

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

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

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

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

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

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

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

Совместимые инструменты

На борту

По умолчанию

симавр

Есть

Есть

Имя

Описание

Ардуино

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

Начало работы с Attiny84 — Hackster.io

Сначала посмотрите видео —

Создавали ли вы когда-нибудь такой проект, как «LDR x Arduino UNO Automatic Light» или аналогичный, который использует только 2-3 порта цифрового ввода / вывода вашего 32-контактного микроконтроллера?

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

Microchip имеет линейку микроконтроллеров под названием «ATTINY AVR», которые представляют собой небольшие микроконтроллеры, которые могут выполнять большую часть работы, которую выполняет Arduino, в гораздо более компактной форме.

В этом посте я покажу вам, как именно вы можете использовать Attiny84 в качестве замены LOWKEY Arduino для проектов с низкими характеристиками.

Attiny84 — это 8-битный микроконтроллер на базе AVR® RISC с 8 КБ программной памяти и может работать при напряжении от 1,8 до 5,5 В.

Проверьте его техническое описание для получения дополнительной информации о периферийных устройствах и прочем.

https://www.microchip.com/wwwproducts/en/ATtiny84

Но почему я предпочитаю Attiny84 очень популярному 8-контактному ATtiny85?

Причина в вводе / выводе и стоимости, за несколько центов мы получаем больше выводов ввода / вывода

Attiny85 — 6 выводов ввода / вывода за 1 доллар (80 центов при покупке оптом)

Attiny84 — 12 контактов ввода / вывода за 1,2 $ (1 $ при покупке оптом)

Я купил себе 10 Attiny84 в пакете SOIC14, но есть версия DIP14, совместимая с макетом.

Attiny84 имеет в общей сложности 14 контактов, два из которых — VCC и GND, а остальные — контакты ввода / вывода, которые можно использовать для чтения / записи данных XYZ.

После сопоставления его распиновки я разработал для него коммутационную плату в ORCAD CADENCE и отправил ее файлы Gerber в JLCPCB.

JLCPCB — один из лучших производителей печатных плат на рынке,

они предлагают отличное обслуживание печатных плат по более низкой цене, 5 печатных плат всего за 2 доллара,

Приобрел себе 10шт с черной паяльной маской, потому что черный — это круто.

После получения печатной платы я начал собирать вещи.

Компоненты, используемые в этом проекте

  • Attiny84 SOIC14 x1
  • AMS1117 3,3 В x1
  • 4,7 мкФ SMD 0805 x1
  • 100 мкФ SMD 0805 x1
  • 200 Ом 0805 x1
  • x1 M
  • x1 M
  • Кнопка SMD
  • Специальная печатная плата
  • Светодиод 0603 x2
  • Штыри разъема
  • Микропорт USB x1
  • Шаговый двигатель (для тестирования)
  • Драйвер шагового двигателя (A4988)
  • Конденсатор 10 мкФ 16 В

Я добавил attiny84 с Micro USB, кнопкой сброса и двумя светодиодами на верхней стороне и AMS1117, конденсатор 100 мкФ, 4.Конденсатор 7 мкФ, диод и два резистора на нижней стороне, потому что размер PCB, который я разработал, составляет всего 18 мм x 28 мм.

наконец-то припаял перемычки и пайка печатной платы была сделана.

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

Как и многие люди, я познакомился с микроконтроллерами через платформу Arduino, Arduino IDE можно использовать для программирования почти любого микроконтроллера Attiny, добавив файлы Attiny Core от Spence Konde —

https://github.com/ SpenceKonde / ATTinyCore

Процесс установки достаточно хорошо задокументирован на странице GitHub

Теперь вам понадобится ПРОГРАММАТОР для прошивки микроконтроллера Attiny (USBASP, программатор AVR, Программатор «Arduino как ISP» )

Я использовал специальный программатор «Arduino as ISP» , который я сделал для программирования Multiple Attiny85.Его можно использовать для программирования любого микроконтроллера Attiny, даже любого микроконтроллера Atmega, поскольку он использует или эмулирует «ПРОГРАММАТОР ПОСЛЕДОВАТЕЛЬНОГО ПРОГРАММИРОВАНИЯ»

Как сделать программатор «Arduino как ISP»?

Создание собственного «Arduino как ISP» Программист — довольно простой процесс

  • Откройте Arduino IDE> примеры эскизов> Arduino как ISP
  • Прошейте ARDUINO UNO с его помощью
  • Затем добавьте 10 мкФ CAP между сбросом и портом GND.

Добавление конденсатора 10 мкФ 16 В между выводом сброса Arduino и землей предотвратит сброс платы Arduino.

проверьте мой проект о программисте — https://www.hackster.io/Oniichan_is_ded/multiple-attiny85-13a-programmer-84adf8

Теперь подключите контакты SPI программатора «Arduino как ISP» с Attiny84

VCC от Attiny84 до VCC программиста

GND до GND

Сброс аттини — D10

MOSI аттини — D11

MISO аттини — D12

4 аттини — D12

4 9003 attiny — D13

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

Эскиз мигания

переключит вывод D8 для тестирования платы.

Перепрошивка платы —

step1

откройте меню инструментов и выберите attiny84 из плат.

не меняйте никаких настроек.

step2

выберите Arduino в качестве ISP в качестве программиста

step3

, а затем запишите загрузчик.

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

step4

Теперь перейдите в меню эскиза и нажмите «Загрузить с помощью программатора»

Результат

И, как мы видим, Attiny84 выполняет скетч Blink, который переключает светодиод, подключенный к D8 микроконтроллера.

Мигать светодиодом — это не весело, давайте попробуем управлять шаговым двигателем с этой платой attiny84 с помощью драйвера шагового двигателя A4988!

Провод attiny84 с драйвером A4988 согласно этой схеме —

STEP Pin- D7 attiny

DIR Pin- D8 attiny

VDD- VCC attiny

GND to GND

Результат

Итак, теперь вы знаете, как программировать ATtiny84.Но чтобы по-настоящему разобраться в микросхеме, нужно прочитать ее техническое описание. Это сложно и может показаться непонятным вначале, но если вы поймете важные вещи, это будет очень удобно и полезно во многих отношениях.

Использование Attiny84 в качестве замены микроконтроллера применимо в сценарии, когда ваш проект действительно минимален и должен быть надежным, дешевым и простым в воспроизведении.

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

Кроме того, довольно весело создавать свои собственные доски и запускать на них разные вещи.

Программирование attiny84 с помощью Arduino может быть довольно сложным, поэтому, если вы столкнетесь с какой-либо проблемой, не сдавайтесь, просто проверьте проводку и повторите весь шаг программирования.

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

Удачи вам в начале работы с Attiny84!

Люкемиллер.org »Архив блога» Светодиодный экран и обогреватель ATtiny84 project

Вот небольшой проект, в котором используется микроконтроллер ATtiny84, запрограммированный с помощью программного обеспечения Arduino, для создания нагревателя с термостатическим управлением. Он позволяет пользователю выбрать заданное значение температуры, а затем отображает текущую температуру с помощью 4-значного 7-сегментного светодиодного дисплея Adafruit через I2C. Видео на YouTube ниже демонстрирует часть проекта, в которой процессор ATtiny84 используется для управления дисплеем Adafruit.

Чтобы запустить проект, я установил файлы ядра ATtiny, доступные от High-Low Tech. Приведенные там инструкции помогли запустить ATtiny84 на макетной плате. Я использую программатор AVRISP mkII для загрузки программ в ATtiny84. Одна небольшая деталь, которая сначала задерживала меня, заключается в том, что вы должны удерживать нажатой клавишу Shift при нажатии кнопки загрузки Arduino, если вы хотите загрузить с помощью внешнего программатора, такого как AVRISP mkII (в отличие от загрузки через USB COM-порт. как при обычном использовании Arduinos).

Вторая задача заключалась в том, чтобы заставить ATtiny взаимодействовать с 7-сегментным светодиодным рюкзаком Adafruit. Adafruit предоставляет библиотеку для взаимодействия их светодиодного рюкзака I2C с обычными Arduinos на базе ATMEGA, такими как Uno. К сожалению, это не работает с микросхемами ATtiny, поскольку для связи им нужна другая библиотека I2C. Я использовал библиотеку TinyWireM, которую можно найти как минимум в двух вариантах. Первоначальную версию можно найти на игровой площадке Arduino.cc, но хотя эта версия поддерживает ATtiny85 (всего 8 контактов), ей не хватает поддержки ATtiny84 (14 контактов).Scenelight.nl предоставляет слегка измененную библиотеку TinyWireM, которая добавляет поддержку для семейства микросхем ATtiny24 / 44/84.

С возможностью передачи по протоколу I2C третьей задачей было упростить печать значений на светодиодном рюкзаке Adafruit. Для этого я использовал библиотеку Adafruit_LEDBackpack в качестве отправной точки для создания упрощенной библиотеки для чипов ATtiny. Я удалил все графические возможности библиотеки Adafruit, поскольку они не нужны для 7-сегментного дисплея.Он также ссылается на библиотеку TinyWireM вместо исходной библиотеки Wire. Мою модифицированную библиотеку Tiny_LEDBackpack можно найти на этой странице GitHub, и она включает пример скетча под названием SevenSegTest_tiny.ino. Это должно работать с ATtiny84 и ATtiny85 при условии, что вы правильно подключите линии SDA и SCL к процессору.

После загрузки библиотеки TinyWireM и библиотеки Tiny_LEDBackpack их можно установить в каталог arduino-1.0.1 / libraries вместе со всеми другими встроенными библиотеками Arduino.Перезапустите программное обеспечение Arduino, и они должны быть доступны. Образец скетча SevenSegTest_tiny.ino должен быть найден в меню «Файл»> «Примеры»> «Tiny_LEDBackpack».

На изображении ниже показано, как подключить 7-сегментный дисплей Adafruit и ATtiny84 на макетной плате. Я также добавил обычный светодиод, подключенный к контакту 2 ATtiny, чтобы указать, когда работает скетч, даже если 7-сегментный дисплей неисправен. Также рекомендуется иметь пару резисторов на 4700 Ом (или 10 кОм), подключенных между линиями SDA и SCL, и + 5 В, чтобы действовать как подтягивающие.

Базовая макетная схема для сопряжения ATtiny84 со светодиодным дисплеем Adafruit через I2C. Здесь не показаны: источник питания 5 В для макета; проводка внутрисистемного программатора для загрузки скетчей в ATtiny84.

В настоящее время существует проблема со стандартным дистрибутивом Arduino 1.0.1, когда компиляция эскизов размером более 4 КБ для процессора ATtiny генерирует ошибку «PCREL». Это, вероятно, будет включать пример скетча SevenSegTest_tiny.ino, предоставленный в библиотеке Tiny_LEDBackpack, которая компилируется на моем компьютере с размером 4084 байта.Том Карпентер предоставляет исправление здесь:

http://arduino.cc/forum/index.php/topic,116674.msg878023.html#msg878023

С работающим дисплеем остальная часть проекта была простой. Моей целью было использовать термочувствительную ИС TMP36 для измерения температуры алюминиевой пластины. Этот датчик считывается с помощью аналого-цифрового преобразователя ATtiny84. Алюминиевая пластина имеет 15-ваттную грелку 120 В перем. Электрогрелка управляется оптически изолированным твердотельным реле, которое может управляться непосредственно с цифрового выходного контакта ATtiny.Твердотельное реле включает и выключает электрогрелку по мере необходимости и использует библиотеку Arduino PID для регулирования температуры, близкой к заданному значению. Температура отображается на дисплее Adafruit. Кнопка позволяет пользователю выбрать заданное значение температуры.

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

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