ATtiny84: Даташит, Распиновка и Руководство по Программированию через Arduino
ATtiny84 — крошечный, но мощный 8-битный AVR микроконтроллер. 14 пинов (12 I/O), 8 КБ Flash, 512 Б RAM, 512 Б EEPROM, 10-бит АЦП 8 кн., RISC, picoPower. Идеален для мини-устройств, где Arduino избыточен. Разберем пины, возможности и прошивку через Arduino IDE.
Распиновка ATtiny84 (DIP-14 / SOIC-14)
Левая сторона (пины 1–7)
- 1 — VCC: питание +1,8…5,5 В.
- 2 — PB0 (PCINT8/XTAL1/CLKI): порт B бит 0, вход кварца/внешнего такта, прерывание PCINT8.
- 3 — PB1 (PCINT9/XTAL2): порт B бит 1, выход кварца, PCINT9.
- 4 — PB3 (PCINT11/RESET/dW): порт B бит 3, RESET (активный низкий), debugWire, PCINT11. Критичен для прошивки!
- 5 — PB2 (PCINT10/CLKO/OC0A/INT0): порт B бит 2, выход такта, PWM Timer0A, внешнее прерывание INT0, PCINT10.
- 6 — PA7 (PCINT7/ADC7/OC0B/ICP1): порт A бит 7, АЦП кн.7, PWM Timer0B, захват Timer1, PCINT7.
- 7 — PA6 (PCINT6/OC1A/SDA/MOSI/ADC6/DO): порт A бит 6, PWM Timer1A, I2C SDA, SPI MOSI, АЦП кн.6, USI DO, PCINT6. ICSP: MOSI.
Правая сторона (пины 8–14)
- 8 — PA5 (MISO/PCINT5/ADC5/DI/OC1B): порт A бит 5, SPI MISO, USI DI, PWM Timer1B, АЦП кн.5, PCINT5. ICSP: MISO.
- 9 — PA4 (USCK/SCL/SCK/PCINT4/T1/ADC4): порт A бит 4, USI SCK, I2C SCL, SPI SCK, Timer1 вход, АЦП кн.4, PCINT4. ICSP: SCK.
- 10 — PA3 (T0/ADC3/PCINT3): порт A бит 3, Timer0 вход, АЦП кн.3, PCINT3.
- 11 — GND: земля.
- 12 — PA2 (AIN1/ADC2/PCINT2): порт A бит 2, Аналог. компаратор -, АЦП кн.2, PCINT2.
- 13 — PA1 (AIN0/ADC1/PCINT1): порт A бит 1, Аналог. компаратор +, АЦП кн.1, PCINT1.
- 14 — PA0 (AREF/ADC0/PCINT0): порт A бит 0, Опорное напр. АЦП, АЦП кн.0, PCINT0.
Ключевые интерфейсы: SPI (пины 7,8,9), I2C/USI (7,9), АЦП 8 кн. (PA0–PA7), 2 таймера (8-бит Timer0, 16-бит Timer1), 4 PWM (OC0A, OC0B, OC1A, OC1B), PCINT на всех пинах.
Характеристики
- AVR 8-бит, RISC, ~1 MIPS/МГц.
- Питание: 1,8–5,5 В (picoPower — ультранизкое потребление).
- Flash: 8 КБ (Self-Programming, Bootloader support).
- SRAM: 512 Б.
- EEPROM: 512 Б.
- АЦП: 10-бит, 8 кн., 15 кс/с.
- Внутренний RC: 8 МГц (калибруемый до ±1%), 128 кГц (WDT).
- Внешний кварц: до 20 МГц.
- Скорость: 20 MIPS при 20 МГц.
- Температура: -40…+85 °C (индустриальный).
- Корпуса: DIP-14, SOIC-14, QFN-20 (больше I/O).
Аналоги
Ближайшие: ATtiny2313A (18 пинов, USART, нет АЦП), ATtiny48/88/417/28L/88PA. Из Mega: ATmega8A/8535/8515/645A/6490 — больше памяти/периферии, но крупнее и жрут больше.
Программирование через Arduino IDE (Arduino as ISP)
Железо
- Arduino Uno/Nano (как программатор).
- ATtiny84 (DIP-14).
- Конденсатор 10 мкФ (RESET Arduino → GND, блокирует автосброс).
- Провода, макетка, LED + 470 Ом для теста.
Шаги
- Поддержка ATtiny в Arduino IDE: Файл → Настройки → Доп. URL менеджера плат:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json→ Инструменты → Плата → Менеджер плат → «attiny» → Установить. - Arduino as ISP: Открыть скетч Examples → 11.ArduinoISP → ArduinoISP → загрузить в Arduino.
- Схема подключения (ICSP):
Arduino 10 (SS) → ATtiny Pin 4 (RESET)
Arduino 11 (MOSI) → ATtiny Pin 7 (PA6/MOSI)
Arduino 12 (MISO) → ATtiny Pin 8 (PA5/MISO)
Arduino 13 (SCK) → ATtiny Pin 9 (PA4/SCK)
Arduino 5V → ATtiny Pin 1 (VCC)
Arduino GND → ATtiny Pin 11 (GND)
Конденсатор 10 мкФ между RESET и GND Arduino (полярность: + на RESET). - Настройки в IDE: Инструменты → Плата → ATtiny24/44/84 → Processor: ATtiny84 → Clock: 8 MHz (internal) → Port → Arduino ISP.
- Загрузка загрузчика (Burn Bootloader): один раз для установки фьюзов (частота 8 МГц).
- Тест (Blink): Файл → Примеры → 01.Basics → Blink. Заменить
LED_BUILTINна0(PA0 = пин 14). Загрузить через «Загрузить через программатор» (Ctrl+Shift+U). LED на пине 14 должен мигать.
Важно: если ошибка — проверьте проводку, конденсатор на RESET, выбран ли правильный программатор (Arduino as ISP), фьюзы (не выставили ли RSTDISBL или внешний кварц без кварца).
Заключение
ATtiny84 — малыш с характером. 12 I/O, АЦП, PWM, I2C/SPI, picoPower — за $1-2. Освоив его, вы выйдете за рамки Arduino и начнете делать настоящие компактные автономные устройства. Нужна помощь с фьюзами или схемой — пишите.
Промышленные технологии
- Методы входной и выходной связи усилителей: емкостная, прямая и трансформаторная
- Ультразвуковой датчик HC-SR04: принцип работы и ключевые применения
- Лазерный датчик расстояния VL53L0X: распиновка, схема, спецификации и практические применения
- Ввод-вывод в C: stdio.h, потоки stdin/stdout/stderr, функции getchar/putchar, gets/puts, scanf/printf
- Производство 2024: вызовы, возможности и путь вперед
- Manufacturing Day: эволюция, влияние и витрина индустрии
- Прозрачное дерево и углеродно-нейтральные инновации: будущее устойчивых материалов
- Инвестиционное литье: история, процесс и современные техники
- Обслуживание на основе состояния: как это работает и его выгоды
- Умное производство: Определение, преимущества и внедрение