Что такое микроконтроллер ATtiny13. Каковы его основные характеристики и возможности. Как программировать ATtiny13 и для каких проектов он подходит. Какие преимущества дает использование этого микроконтроллера.
Обзор и характеристики микроконтроллера ATtiny13
ATtiny13 — это 8-битный микроконтроллер семейства AVR от компании Atmel (ныне Microchip). Несмотря на свои компактные размеры, этот чип обладает впечатляющим набором возможностей:
- 1 КБ флэш-памяти программ
- 64 байта SRAM
- 64 байта EEPROM
- 8-разрядный таймер/счетчик
- 4-канальный 10-битный АЦП
- Программируемый сторожевой таймер
- Внутренний RC-генератор на 9.6 МГц
- 5 линий ввода/вывода общего назначения
ATtiny13 выпускается в корпусах DIP-8 и SOIC-8, что делает его отличным выбором для компактных проектов. При этом он обладает достаточной производительностью для решения многих задач.
Области применения микроконтроллера ATtiny13
Благодаря своим характеристикам, ATtiny13 находит применение во множестве проектов:

- Управление светодиодной подсветкой и световыми эффектами
- Простые системы автоматизации
- Таймеры и счетчики
- Датчики и измерительные устройства
- Игрушки и развивающие электронные устройства
- Брелоки, электронные замки и системы доступа
- Управление двигателями и сервоприводами
Этот микроконтроллер идеально подходит для проектов, где требуется минимальное энергопотребление и компактные размеры устройства.
Программирование ATtiny13
ATtiny13 можно программировать на языке C с использованием компилятора AVR-GCC. Для загрузки программ в микроконтроллер используется программатор и среда разработки, например, Atmel Studio или PlatformIO.
Пример простой программы для мигания светодиодом на ATtiny13:
«`c #includeПреимущества использования ATtiny13
Какие преимущества дает использование ATtiny13 в проектах? Вот основные плюсы этого микроконтроллера:
- Компактность: малые размеры позволяют использовать его в миниатюрных устройствах
- Низкое энергопотребление: идеально для батарейных устройств
- Доступность: невысокая стоимость делает его привлекательным для бюджетных проектов
- Простота освоения: подходит для начинающих разработчиков
- Достаточная функциональность для многих задач
- Совместимость с другими микроконтроллерами семейства AVR
Особенности работы с АЦП на ATtiny13
Аналого-цифровой преобразователь (АЦП) — одна из ключевых особенностей ATtiny13. Как использовать АЦП в проектах на этом микроконтроллере?

ATtiny13 оснащен 4-канальным 10-битным АЦП. Это позволяет измерять аналоговые сигналы с высокой точностью. Вот пример настройки и использования АЦП:
«`c #includeОптимизация энергопотребления ATtiny13
Одно из главных преимуществ ATtiny13 — низкое энергопотребление. Как максимально эффективно использовать эту особенность?
- Используйте режимы сна (sleep modes) для экономии энергии в периоды неактивности
- Отключайте неиспользуемые модули микроконтроллера
- Правильно настраивайте частоту тактирования
- Используйте прерывания вместо постоянного опроса
Пример использования режима сна:
«`c #includeОтладка проектов на ATtiny13
Отладка — важный этап разработки любого проекта. Как эффективно отлаживать программы для ATtiny13?
- Используйте светодиоды для индикации состояний программы
- Применяйте последовательный интерфейс для вывода отладочной информации
- Используйте симуляторы, например, в среде Proteus
- Применяйте внутрисхемные отладчики, если это возможно
Пример использования программного UART для отладки:

Цифровой селектор на TINY13 или как я ремонтировал люстру
Однажды вечером ко мне домой наведался друг, причем не один. С люстрой. Вначале я подумал, что это кому-то подарок, но оказалось, что нет. Люстра не работала. Причина оказалось в небольшой «коробочке» с надписью на китайском. Эта вещь работала как селектор: т.к. на люстре были установлены светодиоды и лампы. При первом включении селектор зажигал только лампы, при втором только светодиоды и при третьем лампы и светодиоды, дальше заново. Разобрав селектор я увидел разорвавшийся конденсатор, установленный как и во многих малогабаритных вещах в качестве гасящего за счет своего реактивного сопротивления. Раз такое дело, то можно предположить, что остальная часть схемы мертва.
Поразмыслив над работой селектора, я решил повторить подобное устройство в кратчайшие сроки, набросав простенькую схемку используя микроконтроллер TINY13.
Микроконтроллер управляет реле К1-К2 при помощи транзисторов VT1-VT2, собранных по схеме с общим эмиттером.
Реле К1-К2 служат для управления лампами L1-L2 (в моем случае это блоки питания ламп и светодиодов в люстре). Диоды VD1-VD2 защищают транзисторы от броска обратного напряжения в момент отключения реле.
Детали:
IC1 – Attiny 13 (установлена на панельку)
R1-R2 1кОм
K1-K2 реле с катушкой на напряжение 4,5В и одной группой нормально открытых контактов на ток до 4А (были демонтированы из попавшей под руку платы от промышленного контроллера).
VD1-VD2 КД521 либо 1N4007 или аналог.
VT1-VT2 КТ315Б. Выбор транзисторов зависит от величины тока протекающего через обмотки реле K1-K2. В нашем случае ток около 30мА.
В качестве источника питания я использовал бесхозное зарядное устройство от сотового телефона.
Пока друг собирал схему на макетной плате, я размышлял над реализацией программы. В данном случае сразу пришло в голову использовать встроенную энергонезависимую память микроконтроллера для управления портами PB3 и PB4, используя нехитрый алгоритм.
К примеру, подаем питание на микроконтроллер и считываем содержимое ячейки памяти с определенным адресом. Полученное число сравниваем с числами 1, 2 и 3. Если содержимое равно 1, то подаем на порт PB3 логическую единицу, увеличиваем содержимое ячейки на единицу (1+1) и сохраняем с прежним адресом. Теперь при последующем включении мы считаем из ячейки число 2, выдадим при этом логическую единицу на порт PB4 и увеличим значение на единицу (2+1). Теперь если снова подать питание, то из ячейки считаем число 3, при котором включим оба порта PB3 и PB4, и сохраним в ячейку памяти число 1. Дальше цикл продолжится аналогично.
Программа для микроконтроллера, а так же ее отладка проводилась в среде Flowcode v.4.3.6.61. Сама программа достаточно проста и выглядит следующим образом:
На рисунке виден зажженный светодиод, подключенный к PB3 и сохраненное число 2 в EEPROM ячейке с адресом 7. Если теперь снова запустить симуляцию, то результат будет немного другим:
Теперь горит светодиод, подключенный к PB4, а в ячейке по адресу 7 сохранено число 3.
Полностью убедившись в правильной работе, прошиваем микроконтроллер программатором ТРИТОН, заранее выставив FUSE-биты:
Собранное устройство:
Установка в люстру:
Проверка работы:
Горят светодиоды и лампы.
Ниже вы можете скачать прошивку и проект в Flowcode
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
IC1 | МК AVR 8-бит | ATtiny13 | 1 | Поиск в магазине Отрон | В блокнот | |
VT1, VT2 | Биполярный транзистор | КТ315Б | 2 | Поиск в магазине Отрон | В блокнот | |
VD1, VD2 | Диод | КД521А | 2 | 1N4007 | Поиск в магазине Отрон | В блокнот |
R1, R2 | Резистор | 1 кОм | 2 | Поиск в магазине Отрон | В блокнот | |
К1, К2 | Реле | 2 | Поиск в магазине Отрон | В блокнот | ||
J1 | Разьем для подключения питания 5 В | 1 | Поиск в магазине Отрон | В блокнот | ||
L1, L2 | Лампочка | 220 В | 2 | Поиск в магазине Отрон | В блокнот | |
Добавить все |
Скачать список элементов (PDF)
Теги:
- Освещение
- AVR
- Микроконтроллер
- Flowcode
tiny13 | zhevak
Posted on 15. 05.2019 | 2 комментария
Это ещё одно исполнение туалетного таймера. Ничего особенного.
Исполнение появилось по просьбе одного товарища, у которого совмещённый туалет (ванна вместе с унитазом). Соответственно у него одно отверстие вытяжной вентиляции. Таким образом, товарищу нужен один таймер, но с двумя кнопками. Кроме того, товарищ попросил сделать реализацию таймера на ATTINY13.
Изменению подвергся узел управления оптроном.
Несколько изменился также и алгоритм работы. В этой реализации управление вытяжкой осуществляется двумя кнопками. Для индикации работы используются два светодиода. (Светодиод индикации питания не считаем.)
Читать далее →
Календарь публикаций
Март 2023 Пн Вт Ср Чт Пт Сб Вс 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Непыльные архивы
Непыльные архивы Выберите месяц Февраль 2023 (1) Декабрь 2022 (1) Октябрь 2022 (1) Сентябрь 2022 (4) Август 2022 (1) Май 2022 (3) Апрель 2022 (5) Март 2022 (9) Февраль 2022 (4) Январь 2022 (3) Декабрь 2021 (2) Ноябрь 2021 (2) Октябрь 2021 (1) Сентябрь 2021 (4) Август 2021 (5) Июль 2021 (1) Июнь 2021 (4) Май 2021 (1) Март 2021 (1) Декабрь 2020 (3) Ноябрь 2020 (2) Октябрь 2020 (2) Август 2020 (6) Июль 2020 (3) Июнь 2020 (8) Май 2020 (2) Март 2020 (4) Февраль 2020 (4) Январь 2020 (7) Декабрь 2019 (1) Октябрь 2019 (5) Сентябрь 2019 (4) Август 2019 (2) Июль 2019 (7) Июнь 2019 (3) Май 2019 (4) Апрель 2019 (4) Октябрь 2018 (2) Август 2018 (7) Июль 2018 (3) Июнь 2018 (2) Май 2018 (3) Апрель 2018 (1) Март 2018 (1) Февраль 2018 (3) Январь 2018 (4) Декабрь 2017 (4) Ноябрь 2017 (9) Октябрь 2017 (3) Август 2017 (7) Июль 2017 (6) Июнь 2017 (11) Май 2017 (9) Апрель 2017 (4) Март 2017 (5) Февраль 2017 (1) Январь 2017 (11) Декабрь 2016 (6) Ноябрь 2016 (5) Октябрь 2016 (9) Июнь 2016 (2) Май 2016 (7) Апрель 2016 (4) Март 2016 (2) Февраль 2016 (6) Январь 2016 (6) Декабрь 2015 (9) Ноябрь 2015 (6) Октябрь 2015 (4) Сентябрь 2015 (7) Август 2015 (1) Июль 2015 (3) Июнь 2015 (1) Май 2015 (16) Апрель 2015 (13) Март 2015 (5) Январь 2015 (1) Декабрь 2014 (2) Октябрь 2014 (1) Август 2014 (1) Июль 2014 (5) Июнь 2014 (6) Апрель 2014 (4) Март 2014 (3) Февраль 2014 (4) Январь 2014 (15) Декабрь 2013 (15) Ноябрь 2013 (10) Октябрь 2013 (8) Сентябрь 2013 (10) Август 2013 (14) Июль 2013 (13) Июнь 2013 (15) Май 2013 (13) Апрель 2013 (12) Март 2013 (10) Февраль 2013 (12) Январь 2013 (13) Декабрь 2012 (16) Ноябрь 2012 (9) Октябрь 2012 (14) Сентябрь 2012 (4) Август 2012 (4) Июль 2012 (5) Июнь 2012 (6) Май 2012 (13) Апрель 2012 (5) Март 2012 (6) Февраль 2012 (12) Январь 2012 (13) Декабрь 2011 (10) Ноябрь 2011 (10) Октябрь 2011 (14) Сентябрь 2011 (12) Август 2011 (13) Июль 2011 (5)Рубрики
? Arduino AVR Cortex English Java KiCAD Linux M2D MSP430 Python Qt Raspberry Pi STM32 uC За жисть! Копилка опыта Мастер-Ломастер Мастерство Наука Позитивчик Полезняшки Политика Прикольненько Спектрон каротаж психология электроника
Метки
ARM arm-none-eabi assembler AVR Bluetooth C Ch440G Cortex Cortex-M0 Debian gcc Git gnuplot HC-05 Java KiCAD Launchpad Linux M2D M2D2 Makefile Manchester-II Microsoft MSP430 mspdebug Ni-Cd Ni-MH ONVIF OPC UA PyQt Python Qt R2868 Raspberry Pi Raspbian RPi serial serial port stlink STM32 STM32F030 toolchain UART Ubuntu Unix USB Windows Блютус Виндовс Джедай Китай Линукс МЭК Майкрософт Питон Россия Шindows Экономика аккумулятор блок питания воспитание декодер дети зарядник каротаж книга консоль микроконтроллер мозг последовательный порт психология ремонт тулчейн улитка флешка
/* | |
Copyright (c) 2012-2013 Сильвен Леру | |
Этот файл является частью avr-tino — http://github.com/s-leroux/avr-tino | |
avr-tino — это бесплатное программное обеспечение: вы можете распространять его и/или модифицировать | .|
это в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной | |
Free Software Foundation, либо версия 3 Лицензии, либо | |
(на ваш выбор) любой более поздней версии.![]() | |
avr-tino раздается в надежде что будет полезно, | |
, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии | |
КОММЕРЧЕСКАЯ ПРИГОДНОСТЬ или ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. См. | |
Стандартная общественная лицензия GNU для более подробной информации. | |
Вы должны были получить копию Стандартной общественной лицензии GNU | .|
вместе с avr-tino. Если нет, см. | |
*/ | |
#если !определен AVR_TINO_TINY13_H | |
# определить AVR_TINO_TINY13_H | |
#include «avr-tino/pin.![]() | |
typedef Порт <0x16, 0x17, 0x18> Порт B; | |
typedef Pin | |
typedef Pin | |
typedef Pin | |
typedef Pin | |
typedef Pin | |
typedef Pin | |
typedef Pin | |
typedef Pin | |
typedef PortB SPIPort; | |
typedef PB0_PIN MOSI_PIN; | |
typedef PB1_PIN MISO_PIN; | |
typedef PB2_PIN SCK_PIN; | |
// | |
// поддержка АЦП | |
// | |
перечисление /* константы ADMUX */ { | |
АЦП0 = 0x00, | |
АЦП1 = 0x01, | |
АЦП2 = 0x02, | |
АЦП3 = 0x03, | |
ADCLeftAdjustResult = 1 << АДЛАР, | |
ADCInternalVoltageReference = 1 << REFS0, | |
}; | |
#endif | |
Список продуктов по брендам ATMEL
24C16 eeprom
компонент для электронных конструкций, пожалуйста, обратитесь к техническим описаниям Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер TINY13 20PU
Микроконтроллер AVR EEPROM: 64BSRAM: 64BFlash: 1kBDIP8Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер TINY45 V 20PI
Последний товар на складе
Микроконтроллер AVREEPROM: 256BSRAM: 256BFlash: 4kBDIP8Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер TINY15
Микроконтроллер AVR EEPROM: 128BSRAM: 128BFlash: 2kBDIP8Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер AT 89C2051
Нет в наличии
Микроконтроллер AT 89C2051 8051Flash 2kx8bitSRAM 128BИнтерфейс UART
TINY4313 PU микроконтроллер
компонент для электронных конструкций, пожалуйста, обратитесь к техническим описаниям Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер MEGA168
Микроконтроллер AVREEPROM: 512BSRAM: 1kBFlash: 16kBDIP28Продукт также доступен поштучно исключительно в нашем физическом магазине.
90S2343 микроконтроллер
компонент для электронных конструкций, пожалуйста, обратитесь к техническим описаниям Продукт также доступен поштучно исключительно в нашем физическом магазине.
MEGA328AU Микроконтроллер SMD
Микроконтроллер AVR EEPROM: 1kBSRAM: 2kBFlash: 32kBTQFP32Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер ATMEGA8-16PI
Тип памяти программ Флэш-память
Размер памяти программ (КБ) 8 Скорость процессора (MIPS/DMIPS) 16SRAM (Б) 1024 Data EEPROM/HEF (байт) 512 Периферийные устройства цифровой связи 1-UART, 1-SPI, 1 Периферийные устройства I2CCapture/Compare/PWM 1 входной захват, 1 CCP, 3 PWMTimers 2 x 8-бит, 1 x 16-бит Количество компараторов 1 Диапазон температур (°C) от -40 до 85 Диапазон рабочего напряжения (В) от 2,7 до 5,5 Продукт также доступны за штуку исключительно в нашем физическом магазине.
Микроконтроллер MEGA328P
Микроконтроллер AVREEPROM: 1kBSRAM: 2kBFlash: 32kBDIP28Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер TINY85 V 10PU
Микроконтроллер AVR EEPROM: 512BSRAM: 512BFlash: 8kBDIP8Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер TINY85 V 20PU
Микроконтроллер AVR EEPROM: 512BSRAM: 512BFlash: 8kBDIP8Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер AT MEGA8L SMD
Тип памяти программ Флэш-память
Размер памяти программ (КБ) 8 Скорость процессора (MIPS/DMIPS) 16SRAM (B) 1024 Data EEPROM/HEF (байт) 512 Периферийные устройства цифровой связи
1-UART, 1-SPI, 1-I2C
Периферийные устройства захвата/сравнения/ШИМ
1 захват ввода, 1 CCP, 3 PWM
Таймеры 2 x 8-бит, 1 x 16-бит Количество компараторов 1 Диапазон температур (°C) от -40 до 85 Диапазон рабочего напряжения (В) 2,7 до 5.5Продукт также доступен поштучно исключительно в нашем физическом магазине.
Микроконтроллер ATMEGA8515-16PU
Микроконтроллер AVR EEPROM: 512BSRAM: 512BFlash: 8kBDIP40Продукт также доступен поштучно исключительно в нашем физическом магазине.