Attiny13A проекты: портал и журнал для разработчиков электроники

Дайджест о микроконтроллере Attiny13 — Информация, описание, справочник и проекты на микроконтроллере Attiny13

Потребовалось восстановить работоспособность детской игрушки. Функционал очень простой — по нажатию кнопки начинают играть светодиоды. Проходит несколько секунд и игрушка выключается. И так до следующего нажатия на кнопку. Выключателя нет — часовые батарейки-«таблетки» в количестве трех штук питают устройство непрерывно, а родной неизвестный китайский контроллер, залитый каплей компаунда, больше не работает. Как видите, очень просто… Читать далее »




Метки: led, powerdown, прерывания, проект, сон

Годы назад усилители звука были довольно громоздкими и требовали к себе определенного внимания. Надо было следить за перегрузками, уровнем стереобаланса и так далее. В помощь пользователям применялись различные индикаторы, чаще всего — стрелочные. Автор следующего проекта решил вспомнить детский восторг от прослушивания музыки с усилителем, на котором был установлен сдвоенный стрелочный индикатор. Конструктор пробовал применять… Читать далее »




Метки: аналог, звук, индикатор

Наверняка вы хотя бы раз попадали под струю автоматического ароматизатора в туалете. Это не самое приятное ощущение, учитывая концентрацию ароматического вещества. Автор следующей статьи задумался, как бы сделать так, чтобы ароматизатор срабатывал только без присутствия человека. При этом чтобы не менять корпус фабричного устройства и не использовать дополнительные источники питания. В качестве датчика присутствия применён… Читать далее »




Метки: проект, таймер

Блуждая по иностранным площадкам, нашел новогодний сувенир. Не зря самое простое, с чего начинают изучение микроконтроллеров — это пример blink. «Подёргать ногами» микроконтроллера — одна из важнейших возможностей.Attiny13A проекты: портал и журнал для разработчиков электроники В проекте новогодней снежинки автор подошел к делу комплексно, и даже заказал печатные платы на стороне. Суть его устройства в том, что под управлением Attiny13 с прошивкой,… Читать далее »




Метки: led, игрушка, проект

Давно подмечено, что экспериментируя с умным домом, люди в первую очередь стремятся автоматизировать включение освещения. Иногда для этих целей подходит датчик движения (объемный или PIR или инфракрасный), но я на своем опыте убедился, что у него есть ряд недостатков. Datasheet датчика пишет, что он точно определяет человека в поле зрения 5 метров. Однако в моём… Читать далее »




Метки: 2313, датчик, проект, сонар, ультразвук

Копошась на интересных сайтах и форумах, я нашел универсальный проект инфракрасного локатора. Его можно применять, как самостоятельное решение, а также для периферии какого-то более крупного проекта. Суть проекта в наличии ИК-светодиода и ИК-приёмника. Луч светодиода светит либо прямо на приёмник, либо на какую-то поверхность, удалённую до одного метра, и в зависимости от обнаружения отражений микроконтроллер… Читать далее »




Метки: IR, локатор, проект, сигнализация

Следующая схема показалась мне простой и полезной, потому что микроконтроллер Attiny 2313 решает там сразу несколько задач. Кто из автолюбителей не знает, как бывает грустно, если забудешь выключить фары, потом придешь, а машина уже не заводится? Так вот, параллельно с оповещением водителя звуковым сигналом, описываемое устройство позволяет, реализовать «вежливое освещение салона» — плавное затухание и… Читать далее »




Метки: авто, освещение, проект, сигнализация

Как оказалось, влезать в тему создания устройств с использованием микроконтроллеров надо с нескольких направлений.Attiny13A проекты: портал и журнал для разработчиков электроники Я сначала не хотел ввязываться в Ардуино, а потом попробовал, и мне даже понравилось. В каких-то ситуацих можно быстро и просто программировать в среде Arduino IDE, загружая прошивки в Attiny. Безусловно, памяти это съедает много. Библиотеки и методы компиляции для одного… Читать далее »




Метки: ардуино, книги, полезное, ссылки, форум

Охрана имущества — одна из основных задач, делегированных электронным приборам. Сигнализацию, конечно, можно купить готовую. Сейчас их продается много и стоят они не дорого, однако если вы на этом сайте, и тем более, читаете эту статью, значит, решили сделать себе охранную систему самостоятельно. Бороздя просторы сайтов с проектами, я нашел интересный проект простой универсальной сигнализации… Читать далее »




Метки: GSM, датчик движения, проект, сигнализация, фонарь

Одно из первых и самых очевидных применений микроконтроллеров — анализ каких-либо данных и вывод результата на некий индикатор (экран). После того, как вы уже научились мигать светодиодами (или «дрыгать ножками» микроконтроллера), можно попробовать сваять и вот такую схему. Вашему вниманию представлен термометр и гигрометр в одном. Автор на сайте habrahabr предлагает довольно простой и недорогой… Читать далее »




Метки: гигрометр, индикатор, проект, термометр

Обновленное руководство по программированию Attiny13 или Attiny13a с помощью Arduino IDE » NGIN.pro

Обновленное руководство по программированию Attiny13 или Attiny13a с помощью Arduino IDE
 
Микросхемы серии ATtiny13 являются чрезвычайно дешевыми и полезными микросхемами для небольших проектов, которым не нужен Arduino, но из-за очень устаревших обучающих программ и отсутствия информации мне потребовалась большая часть дня, чтобы понять, как программировать его с помощью IDE Arduino.Attiny13A проекты: портал и журнал для разработчиков электроники

Чтобы устранить эту нехватку информации, в этой статье, я покажу вам, как программировать ATtiny13 или ATtiny13a с обновленной версией Arduino IDE.

Шаг 1: Необходимое оборудование

• Arduino (Uno самый простой, но любой Arduino будет работать)
• ATtiny13 или 13a
• Макетная плата
• Перемычки

Устранение неполадок оборудования (необязательно)

• Электролитический конденсатор 10 мкФ
• Любой большой электролитический конденсатор ( 1000 мкФ, но любая емкость 100 мкФ и выше будет работать лучше всего)

Шаг 2. Настройка оборудования

 
Подключите контакты Arduino к ATtiny, как показано на изображении или в таблице ниже.

Важное примечание. Обязательно поставьте свой ATtiny так, чтобы индикаторная точка на вашем чипе находилась в левом нижнем углу, как показано на изображениях (напротив линии 5v).

Arduino ____________ ATtiny13 (а)

5v —————————- Контакт 8

GND ———————— Контакт 4

Контакт 13 ———————— Контакт 7

Контакт 12 ———————— Контакт 6

Контакт 11 ———————— Контакт 5

Контакт 10 ———————— Контакт 1

Шаг 3: Настройка Arduino As ISP
 
Перейдите в Files-Examples-ArduinoISP и нажмите «ArduinoISP». Загрузите этот эскиз на свой Arduino. Теперь ваш Arduino настроен для программирования других чипов.

Шаг 4: Загрузка файлов Attiny13 (a) Core

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

Чтобы установить эти файлы, откройте свою Arduino IDE и перейдите в раскрывающееся меню файлов, затем выберите Preferenses. Вставьте этот URL-адрес «https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json».

Теперь перейдите на Панель инструментов и нажмите «Диспетчер плат» .Attiny13A проекты: портал и журнал для разработчиков электроники .. Теперь прокрутите страницу вниз до тех пор, пока вы не увидите DIY ATtiny и не щелкните по кнопке установки (по умолчанию она будет самой последней).

Шаг 5: Запись загрузчика в Attiny

 
Перейдите на Панель инструментов и выберите ATtiny13. Выбрав ATtiny13, перейдите Tools-Processor и выберите ATtiny13 или ATtiny13a в зависимости от вашего чипа. Не изменяйте никаких других настроек, пока не узнаете, что они делают, они могут испортить то, что вы пытаетесь выполнить. Наконец, нажмите кнопку «Записать загрузчик» в нижней части раскрывающегося меню инструментов.

Шаг 6: Программирование чипа

 
 Чтобы убедиться, что все работает, давайте загрузим эскиз мигающего светодиода в ATtiny. Перейдите к Files-Examples-Basics и выберите Blink.

Есть несколько изменений, которые нам нужно будет сделать. В программе измените каждый экземпляр «LED_BUILTIN» на «4», потому что у нашего ATtiny нет встроенного светодиода. Этот «4» соответствует выходу 3 ATtiny ( вы можете указать, какой номер в IDE соответствует тому, что выводится на диаграмме на шаге «Устранение неполадок». Теперь вы можете загрузить этот код в ATtiny через Arduino, нажав кнопку загрузки.

Чтобы проверить, работает ли это, подключите светодиод (вместе с соответствующим резистором) между контактом 3 на ATtiny и земле, как показано на диаграмме и изображении выше. Светодиод должен мигать и включаться. Если да, поздравляю! Теперь вы знаете, как программировать ATtiny13 или ATtiny13a! Теперь вы можете отключить все провода, кроме 5В и земля.

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

Шаг 7: Устранение неполадок
 
Что-то всегда идет не так, когда работаешь с новыми вещами, все в порядке! Попробуем исправить эти проблемы. Попробуйте их в том порядке, в котором они появляются.

• Дважды проверьте все ваши подключения и положение ATtiny и LED.
• Повторно загрузите эскиз ArduinoISP в Arduino.Attiny13A проекты: портал и журнал для разработчиков электроники
• Подключите электролитический конденсатор 10 мкФ между землей и Reset на Arduino. Обязательно подключите конденсатор правильно, а отрицательный — к земле.
• Подключите любой конденсатор большой емкости между 5В и землей на макетной плате, это поможет сгладить любые всплески напряжения.


Елочка на WS2812 и ATTiny13A

/*

* Эффект метеора на ATTINY13

* Copyright (C) 2016 Алексей Шихарбеев

* http://samopal.pro

*/

#include <util/delay.h>

#include <avr/io.h>

#include <avr/interrupt.h>

#include «light_ws2812.h»

// Количество светодиодов в ленте 8 — 15

#define NUM_PIXEL 8

#define TM 60

struct cRGB led[NUM_PIXEL];

uint8_t num_pixel = NUM_PIXEL;

uint8_t DX = 2;

int main(void)

{

  while(1)  {

// Цикл перебора пары цветов 0-5

     for( uint8_t i=0; i<6; i++)Mode1(TM,i);

  }

}

/*

* Эффект метеора

* @param wite — Таймаут между фазами эффекта, мс

* @param pair — пара цветов 0-5

*/

void Mode1(uint16_t wait, uint8_t pair){

   uint8_t x = 1;

   if( num_pixel > 8 ) x = 0;

// Метеор летит

   for( uint8_t i1=0; i1<num_pixel; i1++ ){

// Чистим все

      for( uint8_t i2=0; i2<num_pixel; i2++ )SetStarColor1(i2, 0, pair);

// Светодиод-ядро метеора

      SetStarColor1(num_pixel-i1,15, pair);

// Хвост метеора

      for( uint8_t i2=0; i2<i1; i2++ )SetStarColor1(num_pixel-i2-x, 16-(i1-i2)*DX, pair);

// Отобразить эффект и ждать паузу

      ws2812_setleds(led,num_pixel);

      delay(wait);

   }

// Метеор пролетел, затухание хвоста

   for( uint8_t i1=0; i1<num_pixel; i1++ ){

      for( uint8_t i2=0; i2<num_pixel; i2++ ){

         int c = 16-(i1-(i2-8))*2;

         if( c < 0 )c = 0;

         SetStarColor1(num_pixel-i2-1,c, pair);

      }

// Отобразить эффект и ждать паузу

      ws2812_setleds(led,num_pixel);

      delay(wait);

   }

}

/**

* Разгорание одного пиксела на каждом луче

* @param n — Номер пиксела в луче

* @param br — Ярклсть

* @param pair — Пара цветов 0-5

*

*/

void SetStarColor1( uint8_t n, uint8_t br, uint8_t pair){

   if( br > 15 )br=15;

   if( br < 8 ){

      switch( pair ){

        case 0 :

        case 3 :

           led[n].Attiny13A проекты: портал и журнал для разработчиков электроники r = br*32;

           break;

        case 1 :

        case 4 :

           led[n].g = br*32;

           break;

        case 2 :

        case 5 :

           led[n].b = br*32;

           break;

      }

   }

   else {

      switch( pair ){

         case 0 :

            led[n].r = 255;

            led[n].g = (br-8)*32;

            break;

         case 1 :

            led[n].g = 255;

            led[n].b = (br-8)*32;

            break;

         case 2 :

            led[n].b = 255;

            led[n].r = (br-8)*32;

            break;

         case 3 :

            led[n].r = 255;

            led[n].b = (br-8)*32;

            break;

         case 4 :

            led[n].g = 255;

            led[n].r = (br-8)*32;

            break;

         case 5 :

            led[n].b = 255;

            led[n].g = (br-8)*32;

            break;

      }

   }

}

Программирование контроллеров AVR AtTiny13 / 25

Материал собран по интернету, любой желающий может найти
самостоятельно множество вариантов схем, плат, программ.

Я выбрал наиболее простой для наколенного исполнения способ
и описываю его.

Для начала вам понадобится программа.

Я предлагаю использовать.
PonyProg.

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

С этой версией у меня все зашилось. Я специально это
проверял при подготовке статьи.

Теперь понадобится программатор

Я использовал так называемые .

Мой макет выглядит так.

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

Схема. У меня микросхема программируется, когда питание на
нее идет от 13 ноги DRB-25M, но это не очень хорошо,
поэтому питание предлагается брать на USB разъеме.Attiny13A проекты: портал и журнал для разработчиков электроники Там гарантированные 5В.

Плата для лазерно-утюжного метода:

Вариант для печати лежит тут.

Сборка вот:

Для изготовления понадобятся 4 сверла, но можно обойтись и
двумя диаметрами

1 и 3мм.

Как работать с ПО

Устанавливаем PonyProg.

Напомню, дистрибутив есть здесь.

После установки и запуска возникнет такое окно.

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

Калибровка выполняется автоматически и там показывать
нечего.

А вот так надо выставить тип адаптера.

Далее открываем HEX файл.

Жмем кнопку Write Program Memory (пятая слева кнопка)

И радуемся, что микросхема удачно зашилась.

Жмем кнопку Configuration and security
bits (Восьмая слева)

Программа считает текущие параметры.

На всякий случай жмем Read.

Выставляем биты как указано и жмем Write.

ВНИМАНИЕ! Не верная установка
какого-нибудь бита может привести к тому, что контроллер придется выбросить,
или искать профессиональный программатор, для того, чтобы привести его в
чувство

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

Теперь микросхема зашита и готова к работе. Удачи.

Да, также через такой адаптер можно шить из CodeVision AVR.

Открывем программу

Настраиваем тип программатора

Открываем проект

Настраиваем, если необходимо

Компиллируем

Выставляем настройки программирования и программируем, нажав Programm All

Про EEPROM отвечаем нет

Про RSTDISBL отвечаем да, и после этого чип больше не перепрограммируется этим программатором!

Мои микроконтроллерные поделки:

Пульт дистанционного управления для HT6806

Пульт дистанционного управления для
Hyundai H-CMD4009

Доработка датчика дождя

Удлинитель сигналов поворота

Доработка водительского стеклоподъемника

Реализация ДХО (DRL) дальний в пол накала

Все.Attiny13A проекты: портал и журнал для разработчиков электроники Удачи!

Формирователь импульсов повышенного напряжения для расширения функционала шлюза RH-0004

  1. Введение
  2. Схема
  3. Программа для микроконтроллера
  4. Готовое устройство

Введение

Существуют микросхемы памяти с интерфейсом 1-Wire (DS1982, DS2502, AN1990 и другие), которым для выполнения некоторых процедур (запись данных, финализация) нужны импульсы повышенного напряжения (до +12 Вольт) различной длительности. Шлюз UART-to-I2C/SPI/1W (RH-0004) не имеет возможности сформировать такой импульс, поэтому в обычных условиях работать с такими микросхемами с помощью шлюза RH-0004 можно только частично. Приведённая в этой статье схема позволяет расширить функционал шлюза и обеспечивает возможность полнофункциональной работы с подобными микросхемами (при наличии внешнего источника питания).

Идея заключается в том, чтобы взять стандартный контур переключения уровней и добавить к нему формирователь импульса нужной ширины на одном из самых дешёвых микроконтроллеров ATtiny13A, а управление этим формирователем реализовать через цифровые входы/выходы шлюза (у него есть 3 I/O, управление которыми доступно в любой конфигурации).

Реализация включает в себя две части: 1) схема с печатной платой, 2) программа для микроконтроллера.

Схема

Как эта схема работает:

Когда контроллер ATtiny13A обесточен или его выход PB0 сконфигурирован на вход (по-умолчанию после старта) — затвор транзистора T2 подтянут к линии Supply и транзистор T2 открыт. Соответственно, затвор транзистора Т3 притянут к шине GND и этот транзистор закрыт. В результате этого затворы транзитсоров T1 и T4 оказываются через резистор 10 КОм притянуты к линии +12 Вольт, в результате чего транзистор T1 открывается, а транзистор T4 закрывается (T1 — N-канальный, а T4 — p-канальный). Таким образом, в этом случае напряжение +12 Вольт оказывается отключенным от шины 1-Wire, а открытый транзистор T1 свободно пропускает на эту шину сигналы от шлюза.Attiny13A проекты: портал и журнал для разработчиков электроники

По сигналу от шлюза вывод PB0 на необходимое для подачи программирующего импульса время переключается на выход и притягивается к шине GND, в результате чего транзистор T2 закрывается, затвор транзистора T3 притягивается к линии Supply, что приводит к открытию этого транзистора. В результате затворы транзисторов T1 и T4 оказываются притянуты к GND, что приводит к закрытию транзистора T1 и к открытию транзистора T4. Таким образом, на нужное время линия 1W шлюза оказывается отключена от шины 1-Wire, а через открытый транзистор T4 на эту шину подаётся напряжение +12 Вольт.

Управляющий сигнал от шлюза формируется следующим образом: уровни на линиях I/O-1, I/O-2 кодируют выбор нужного выходного импульса, а изменение с высокого на низкий уровня на линии I/O-0 служит сигналом для начала формирования этого импульса. Всего таким образом можно закодировать до 4-х различных выходных импульсов. Приведённая в статье программа умеет формировать два различных выходных импульса: длительностью 508 мкс (при I/O-1=0, I/O-2=1) для записи микросхем типа DS2502, и длительностью 104 мс (при I/O-1=1, I/O-2=1) для финализации микросхем типа AN1990.

Что касается внешнего напряжения, то на эту схему можно подавать напряжение в пределах от Vpull-up+3 до +20 Вольт (опять же, на случай, если для других микросхем понадобится напряжение программирования, отличное от +12 Вольт). Плата разведена для подключения в качестве источника внешнего напряжения компьютерного БП (точнее говоря — разъёма питания дисковода 3,5″, при этом используются только контакты GND и +12В).

Архив с печатной платой (DipTrace).

Программа для микроконтроллера

Выводы PB2, PB3, PB4 запрограммированы на вход и на них заведены сигналы I/O-0, I/O-1, I/O-2 соответственно. Входы PB3, PB4 используются для выбора нужного выходного импульса, а вход PB2 — для запуска алгоритма формирования этого импульса. Выходной сигнал формируется на выводе PB0. Изначально PB0 запрограммирован на вход, но в защёлку записан ноль, и на нём внешней подтяжкой к шине питания формируется высокий уровень.Attiny13A проекты: портал и журнал для разработчиков электроники При необходимости сформировать низкий уровень, PB0 просто переключается на выход.

Для формирования каждого импульса в программе используется отдельный таймер и счётчик циклов. Длительность импульса определяется длительностью таймера умноженной на заданное для него количество циклов. Значения, определяющие длительности таймеров и количество циклов для них прописаны в EEPROM контроллера (таким образом длительности выходных импульсов можно менять, не перезаливая программу целиком). Поскольку представленная здесь программа умеет формировать два различных импульса, то для хранения данных таймеров и счётчиков циклов используются 4 байта EEPROM.

Первые два байта EEPROM определяют количество циклов для первого таймера и его длительность, соответственно. Следующие два байта — то же самое для второго таймера. Длительность таймера в мкс можно рассчитать по следующей формуле: (256-T)*26,673, где T — соответствующее значение из EEPROM. Заданное количество циклов находится как (256-C), где C — соответствующее значение из EEPROM. Например, для второй длительности импульса в EEPROM записаны значения 0xE7(231) и 0x64(100). В этом случае длительность таймера будет равна (256-100)*26,673 = 4161 мкс, а количество циклов для этого таймера (256-231) = 25. Таким образом общая длительность импульса составит 25*4161 = 104025 мкс, то есть примерно 104 мс.

Устройство расчитано на использование внутреннего RC-генератора на 9,6 МГц, поэтому при программировании контроллера должны быть установлены фьюзы: SPIEN, SUT0 и CKSEL0 (они равны нулю, то есть в PonyProg напротив них стоят галочки).

Архив программы с исходниками и готовой прошивкой (asm / hex).

Готовое устройство

Поскольку в доке на DS2502 довольно жесткие пределы для напряжения программирования (11,5-12 Вольт), то я решил подстраховаться на случай завышения различных напряжений и дополнительно развёл на экспериментальной плате две пары включенных встречно параллельно диодов по линиям напряжения питания и напряжения программирования (на фото обведены жёлтым), а также джамперы, позволяющие эти диоды зашунтировать (синие джамперы на фото).Attiny13A проекты: портал и журнал для разработчиков электроники Диодами можно в случае необходимости уронить нужные напряжения на величину до 0,6 Вольт (в зависимости от того, какие впаять диоды). Впрочем, дальнейшие эксперименты показали, что в случае с БП моего компьютера это лишнее (хотя у него напряжение по линии +12 Вольт составляет 12,24 Вольта).

Вот так выглядит устройство, подключенное к шлюзу:

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

На этом на сегодня всё. Удачи!

Набор начинающего микроконтроллерщика | Мир микроконтроллеров

Стартовый набор микроконтроллерщика

Стартовый набор микроконтроллерщика состоит из 24 позиций радиоэлектронных и вспомогательных компонентов и предназначен для практического изучения устройства и программирования микроконтроллеров AVR.

Покупая «Стартовый набор» в интернет-магазине «МирМК» Вы получаете не только основу для качественного изучения устройства и программирования микроконтроллеров AVR семейств ATmega и ATtiny, базу для сборки и тестирования своих проектов, но и сопровождение — с января 2019 года на сайте «Мир микроконтроллеров» начнется публикация серии статей по программированию микроконтроллеров в среде «ATMEL STUDIO» для начинающих микроконтроллерщиков на языке высокого уровня «С» и языке низкого уровня — «Ассемблер». Надеюсь, что я смогу Вам помочь в изучении устройства микроконтроллеров AVR и в их программировании.
Набор составлен исходя из соображений «минимальной достаточности» и относительно не высокой стоимости, а главное — иметь под рукой все необходимое для первого шага (да и для последующих тоже) в мир микроконтроллеров.

«Стартовый набор микроконтроллерщика» идеальный подарок для Ваших близких и друзей. Освоение микроконтроллеров и языков программирования большое подспорье на будущее — специальность программиста на рынке труда очень востребована и очень хорошо оплачиваемая.Attiny13A проекты: портал и журнал для разработчиков электроники


Состав набора:

Основа набора — микроконтроллеры ATmega8А-16PU (или ATmega8-16PU), ATtiny2313А-PU и «малыш» ATtiny13A-PU — наиболее популярные в любительских проектах:

1. Микроконтроллер ATmega8A-PU — 1 шт
2, Микроконтроллер ATtiny2313A-PU — 1 шт
3. Микроконтроллер ATtiny13A-PU  — 1 шт
Простой и надежный программатор, который будет использоваться и как источник питания проектов
4. Программатор USBASP AVR — 1 шт
Преоразователь USB — UART (RS232) TTL собран на новом чипе PL2303TA и предназначен для общения микроконтроллера с персональным компьютером:
5. Конвертер USB — UART (RS232) TTL, PL2303ТА
Качественная макетная плата МВ-102 (720 точек), желательно иметь 2 такие платы — они жестко стыкуются между собой и позволят собирать и тестировать более громоздкие проекты, если бюджет позволяет — покупайте вторую плату, не пожалеете:
6. Макетная плата для монтажа без пайки — 1 шт
П-образные  и гибкие перемычки «папа-папа», «мама-мама (мама-папа)» предназначены для соедения деталей на макетной плате и подключения внешних устройств

7. Соединительные перемычки гибкие к макетной плате «папа-папа» — 1 к-т
8. Соединительные перемычки гибкие «мама-мама» (или «мама-папа»)- 10 шт
9. Соединительные П-образные перемычки к макетной плате — 1 к-т
Семисегментный светодиодный и буквенно-цифровой индикаторы (в дальнейшем, как и все что перечисленно ниже, можно использовать в своих проектах):

10. Индикатор семисегментный четырехразрядный, ОА (или ОК),  -1 шт
11. Буквенно-цифровой LCD индикатор 1602А, 2 строки по 16 символов, латинский шрифт, совместимость с HD44780, питание 5 Вольт — 1 шт (набор комплектуется одним из двух индикаторов, по наличию: или белый шрифт на темно-синем фоне с подсветкой, или черный шрифт на светло-зеленом фоне с подсветкой)
Транзисторы биполярные NPN и PNP структуры:
12. Транзисторы ВС557В — 5 шт

13.Транзисторы ВС547В — 5 шт
Датчики, микросхемы, RTC, светодиоды, кнопки, кварцы, резисторы:

14.Attiny13A проекты: портал и журнал для разработчиков электроники Датчик температуры DS18В20 — 1 шт

15. Часы реального времени DS1307DIP — 1 шт
16. Регистр сдвига SN74HC595N — 1 шт

17. Кварц HC-49S 8 МГЦ — 1 шт

18. Кварц  HC49UC  32,768 кГц 12,5 pF — 1 шт

19. Светодиод 3(5) мм — 8 шт

20. Кнопка тактовая двухконтактная 6*6*5  — 5 шт

21. Набор резисторов (30 номиналов по 10 шт)
22. Резистор подстроечный 10 кОм (для LCD) — 1 шт
23. Конденсатор керамический 22pF (для кварцев) — 2 шт
24. Штыревая линейка однорядная PLS20 (для LCD) — 1 шт


Суточный таймер на микроконтроллере Attiny13

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

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

Схема:

На схеме имеются две управляющие кнопки, пронумерованные цифрами «1» и «2». Кнопка «1» устанавливается время включения нагрузки, а кнопка «2», соответственно, время выключения. Для лучшего понимания принципа работы рассмотрим такой пример: имеется ёлочная гирлянда, которую нужно каждый день включать в 13:00 и выключать в 15:00.Attiny13A проекты: портал и журнал для разработчиков электроники Значит, для установки временных интервалов работы таймера нужно в 13:00 нажать кнопку «1», при этом реле включится примерно на минуту, затем дождаться 15:00 и нажать кнопку «2», реле опять-таки включится примерно на минуту, сигнализируя об успешной установке времени. В дальнейшем реле будет автоматически включать гирлянду в 13:00 и выключать в 15:00 каждый день. Мигающий светодиод свидетельствует о работоспособности устройства.

Схема содержит в себе две микросхемы – микроконтроллер Attiny13 и часовую микросхему DS1307. Напряжение питания всей схемы – 12 вольт. Благодаря линейному стабилизатору 78l05 на плате микросхемы получают нужное им питание 5 вольт, а обмотка реле питается от 12-ти вольт. Параллельно обмотке реле следует поставить маломощный диод, например, 1N4148. Транзистор SS8050, управляющий реле можно заменить на любой другой маломощный NPN транзистор. Кнопки в обвязке микроконтроллера следует взять без фиксации.

Особенность часовой микросхемы DS1307 состоит в том, что она может работать от резервного питания, если вдруг пропадёт основное. Для этого к её выводам 3 и 4 нужно подключить источник питания на 3 вольта, например, батарейку CR2032. В этом случае при пропадании питания отсчёт времени будет продолжаться, как только основное питание появиться вновь, устройство продолжит работать в прежнем режиме, включая и выключая реле в заданные часы. Не следует забыть ставить параллельно питанию как основному, так и резервному конденсаторы электролитические и керамические, для подавления помех любого рода. Резистор светодиода, идущий от 7-й ноги часовой микросхемы, можно уменьшить до 0,5 – 1 кОм, тогда его яркость заметно увеличится.

Перед установкой на плату микроконтроллера его необходимо прошить, файлы прошивки к статье прилагаются. Удобнее всего это делать с помощью USBASP программатора. При использовании нового, ранее не используемого микроконтроллера фьюзы менять не нужно. С завода микроконтроллеры Attiny13 тактируются от внутреннего генератора с частотой 9,6 МГц, делитель на 8 включен.Attiny13A проекты: портал и журнал для разработчиков электроники

Печатную плату можно сделать по лазерно-утюжной технологии, так называемый «ЛУТ». Фото моей платы:

После залуживания плата приобретает такой вид:

Список необходимых деталей:

Резисторы 0,125 Вт:
• 6,8 кОм (682) – 1 шт.
• 10 кОм (103) – 1 шт.
• 4,7 кОм (472) – 2 шт.
• 3 кОм (302) – 1 шт.

Конденсаторы:
• 100 мкФ (электролитич.) – 2 шт.
• 100 нФ (керамич.) – 2 шт.

Остальное:
• Микроконтроллер Attiny13 (+ панелька) – 1 шт.
• Микросхема DS3107 (+ панелька) – 1 шт.
• Транзистор SS8050 – 1 шт.
• Диод 1N4148 – 1 шт.
• Кнопка без фиксации – 2 шт.
• Стабилизатор 78l05 – 1 шт.
• Светодиод на 3 вольта – 1 шт.
• Кварц 32768 Гц – 1 шт.
• Реле на 12 вольт – 1 шт.

Фото собранного мной устройства:

Схема, печатная плата и файлы для прошивки находятся в архиве:

pechatnaya-plata-i-fayly-proshivki.zip

[36.13 Kb] (скачиваний: 658)

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

Более 100 проектов на ATtiny13 | Лукаш Подкалицки

ATtiny13 — мой любимый крошечный uC. Поэтому я решил спроектировать и собрать более 100 проектов на основе этого чипа. Почему мне нравится ATtiny13?

  • Расширенная архитектура RISC (до 1MIPS / 1 МГц, простой в освоении Ассемблер — всего 120 инструкций)
  • совместим по выводам с серией ATtiny * 5, поэтому, если 1 Кбайт флэш-памяти и / или 64 байта ОЗУ окажутся слишком ограниченными, их легко заменить до 8 Кбайт без изменения макета
  • диапазон рабочего напряжения (1.От 8 В до 5,5 В) и промышленный диапазон температур (от -40 ° C до + 85 ° C)
  • базовых периферийных функций, таких как таймер, 4-канальный АЦП, сторожевой таймер или аналоговый компаратор
  • Компилятор AVR-GCC и многие другие бесплатные инструменты разработчика с открытым исходным кодом
  • очень-очень низкая цена за такую ​​вычислительную мощность!

Вот руководство по ATtiny13, плата разработки ATtiny13, небольшие руководства о том, как скомпилировать и записать код в ATtiny13 (ANSI C) и как установить ассемблер AVR (AVRA) в Linux.Attiny13A проекты: портал и журнал для разработчиков электроники

Проектов

[001] ATtiny13 — мигает с функцией задержки.
[002] ATtiny13 — мигает светодиод с функцией задержки (программная ШИМ)
[003] ATtiny13 — случайно мигает светодиод с ГПСЧ на основе LFSR
[004] ATtiny13 — мигает с таймером OVF ( Overflow)
[005] ATtiny13 — мигает со сторожевым таймером
[006] ATtiny13 — мигает с таймером COMPA
[007] ATtiny13 — тональный генератор
[008] ATtiny13 — программный UART (регистратор отладки)
[009] ATtiny13 — псевдослучайный номеров (облегченная библиотека)
[010] ATtiny13 — управление светодиодной RGB-подсветкой (необычные световые эффекты)
[011] ATtiny13 — ИК-пульт для управления светодиодами (протокол NEC)
[012] ATtiny13 — ИК-пульт для управления светодиодной RGB-подсветкой (протокол NEC)
[013] ATtiny13 — ИК-приемник / протоанализатор NEC
[014] ATtiny13 — Лучшая температура в помещении на DS18B20
[015] ATtiny13 — двухтональный сигнал тревоги
[016] ATtiny13 — цифровой вольтметр постоянного тока с MAX7219
[017] ATtiny13 — цифровой Амперметр постоянного тока с MAX7219
[018] ATtiny13 — танцевальные огни с FFT
[019] ATtiny13 — простой таймер на TM1637
[020] ATtiny13 — драйвер ШИМ светодиода питания
[021] ATtiny13 — простой текстовый интерфейс командной строки (интерфейс командной строки) через UART
[022] ATtiny13 — код Морзе (мигающий свет)
[023 ] ATtiny13 — индикатор уровня заряда батареи
[024] ATtiny13 — простой логический датчик
[026] ATtiny13 — дискотека с использованием БПФ
[028] ATtiny13 — бегущие цифры на TM1637
[029] ATtiny13 — регистратор температуры с использованием LM35 и программного обеспечения UART
[ 030] ATtiny13 — считывание температуры и влажности из DHT11
[031] ATtiny13 — аппаратный ШИМ
[032] ATtiny13 — бегущие точки и цифры на 7-сегментном светодиодном ламповом дисплее
[033] ATtiny13 — Светодиодная лента WS2812 — мигающий
[034] ATtiny13 — радуга на одном светодиодах WS2812
[035] ATtiny13 — радуга на нескольких светодиодах WS2812
[036] ATtiny13 — круговой нарезчик светодиодов WS2812
[037] ATtiny13 — ПИ (импульсная индукция) металлоискатель
[040] ATtiny13 — случайные мерцающие пиксели на матричном светодиодном дисплее 8 × 8
[043] ATtiny13 — мигание с функцией задержки (версия на ассемблере)
[044] ATtiny13 — мигание с таймером OVF (версия на ассемблере)
[045] ATtiny13 — мигание с таймером COMPA (версия на ассемблере)
[047] ATtiny13 — управление шаговым двигателем 28BYJ-48
[ 048] ATtiny13 — случайное мигание светодиода с ГПСЧ на основе BBS
[050] ATtiny13 — переключатель хлопка хлопка
[052] ATtiny13 — 8-битный моно усилитель класса D

План реализации ~ 50%.Attiny13A проекты: портал и журнал для разработчиков электроники Некоторые проекты находятся в стадии реализации, а некоторые готовы к публикации. Я буду обновлять эту страницу!

Список TODO

У вас есть идея для следующего проекта на ATtiny13? Отправьте тему проекта в комментарии или напишите мне! ([email protected])

  • одиночный светодиодный кристалл (шарлиплексирование)
  • двойные светодиодные кристаллы (шарлиплексирование)
  • тройной светодиодный кубик (шарлиплексирование)
  • Робот-следящий за линией
  • Робот для обхода препятствий
  • Детектор ЭМП
  • усовершенствованный 4-канальный переключатель тарелки
  • Пульт ДУ Canon (разъем 2.5 мм)
  • Пульт ДУ Canon (инфракрасный RC6)
  • простой пульт дистанционного управления и 4-канальный приемник (инфракрасный порт: RC5 или NEC)
  • электронных игральных костей с использованием светодиодов WS2811
  • Счетчик импульсов

  • — счетчик импульсов TTL, 7-сегментный светодиодный модуль и кнопка сброса
  • Генератор импульсов

  • — простой генератор импульсов TTL
  • Матричная клавиатура

  • — однопроводная, АЦП
  • Ведомое устройство OneWire
  • контроллер умной настольной лампы
  • светильники дискотеки (модернизированная версия)
  • Металлоискатель ПИ
  • Выключатель хлопок-хлопок.

Общественные проекты

Учебники

Библиотеки

  1. attiny13-software-uart-library — Программная библиотека UART ATtiny13.
  2. attiny-random-library — 16-битная библиотека PRNG (генератор псевдослучайных чисел) ATtiny13 / 25/45/85, основанная на алгоритме Галуа LFSR.
  3. attiny-max7219-led-tube-display-library — 7-сегментный светодиодный ламповый дисплей для ATtiny13 / 25/45/85 (MAX7219 / MAX7221).
  4. attiny-max7219-matrix-8-led-display-library — Библиотека драйвера матричного светодиодного дисплея ATtiny13 / 25/45/85 8 × 8 (MAX7219 / MAX7221).Attiny13A проекты: портал и журнал для разработчиков электроники
  5. attiny-74hc595-library — Библиотека регистров сдвига ATtiny13 / 25/45/85 74hc595.
  6. attiny-tm1638-library — это библиотека tinyAVR (ATtiny13, ATtiny25, ATtiny45, ATtiny85 и другие) для модулей светодиодных контроллеров на базе микросхемы TM1638.
  7. attiny-tm1637-library — TinyAVR — ATtiny13, ATtiny25, ATtiny45, ATtiny85 — библиотека для 7-сегментных дисплейных модулей на базе TM1637.
  8. attiny-ds18b20-library — это библиотека tinyAVR (ATtiny13, ATtiny25, ATtiny45, ATtiny85 и др.) Для датчика температуры DS18B20.
  9. attiny-onewire-library — это библиотека tinyAVR (ATtiny13, ATtiny25, ATtiny45, ATtiny85 и т. Д.) Для доступа к устройствам с использованием протокола OneWire (1-Wire).

Программирование ATtiny13A в сборке

Назначение

Иногда вы можете захотеть использовать микроконтроллер, чтобы сделать что-то простое, но это не только микросхемы, такие как ATmega328P (IC Arduino Uno), они также довольно дороги. Вот почему использовать микросхемы AVR из семейства ATtiny — это здорово. ATtiny13A имеет только 64 БАЙТА (не килобайт… байтов) ОЗУ и 1 КБ флэш-памяти, но с 6 контактами ввода-вывода, которых может быть достаточно для многих приложений.Они стоят всего около 50 долларов за микросхему, поэтому создание нескольких схем с их помощью очень недорого.

Atmel Studio

Теперь это высшая лига, так как пора отойти от комфортной среды разработки Arduino в мир сборки и прямых манипуляций с регистрами. Хотя технически возможно использовать Arduino IDE, Atmel Studio — лучший вариант. Это промышленный стандарт IDE для программирования микроконтроллеров AVR, который также имеет полезные функции, такие как отладчик и предварительно созданные определения регистров.Чтобы установить его, перейдите на эту страницу и нажмите кнопку загрузки. После успешной установки запустите его. Вас встретит стартовая страница. Щелкните New Project и выберите Assembler / AVR Assembler Project.Attiny13A проекты: портал и журнал для разработчиков электроники

Назовите его «blink» и поместите в знакомый каталог. Затем найдите Attiny13a и выберите его. Это будет включать его свойства устройства и определения регистров.

The Programmer

Для этого проекта я выбрал программатор AVRISP MkII из-за его относительно низкой стоимости (40 долларов США) и простоты использования при взаимодействии.

Он имеет 6-контактный разъем, который подключается к разъему ICSP на платах разработки. Ниже заголовок Arduino Uno:

Эти контакты включают MISO, MOSI, SCK, RESET, GND и VCC. Программист отправляет и получает данные от чипа, которые можно просмотреть в Atmel Studio.

Breakout PCB

Хотя ATtiny13A имеет контакты, необходимые для ICSP, у него нет готовой платы для разработки, поэтому мне пришлось создать для нее специальную монтажную плату. Я начал с создания новой схемы в Eagle и добавления ATtiny13A из библиотеки atmel вместе с несколькими контактными разъемами и резисторами / переключателем и светодиодом.

Затем я соединил их вместе, как показано ниже, и разработал однослойную печатную плату.

Затем я сгенерировал G-код с помощью ChiliPeppr и фрезеровал его с помощью фрезерного станка с ЧПУ, но, к сожалению, многие следы также были фрезерованы из-за неправильной конфигурации.

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

Attiny13A Лист данных

Этот лист данных — ваш друг. Он сообщает вам спецификации, регистры и инструкции, которые необходимо выполнить для выполнения определенных задач.Чтобы мигать светодиодом, необходимо знать, как выводить сигналы на выводе ввода-вывода, а также как разветвляться и настраивать IC после сброса. Согласно таблице, первый вектор в 0x00 обрабатывает, что делать при запуске, поэтому мы можем настроить устройство на переход к началу программы.

Чтобы установить PB3 в качестве выхода, регистр направления данных (DDRB) должен быть установлен в 1 в 4-м бите справа.Attiny13A проекты: портал и журнал для разработчиков электроники

Кроме того, его можно установить в высокий или низкий уровень, изменив 4-й бит в регистре PORTB.

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

Ход программы

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

Значение 0b00001000 загружается в DDRB, устанавливая PB3 на выход.Затем программа вводит метку цикла, где микросхема поочередно устанавливает бит значения PB3 на 0 и 1. При каждом изменении она переходит к меткам таймера, которые отсчитывают определенное количество раз, которое соответствует величине задержки, по существу тратя впустую такты. После того, как это число будет достигнуто, программа вернется в основной цикл.

Только некоторые из поддерживаемых инструкций

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

Программирование в Atmel Studio очень просто. Сначала соберите программу и выведите шестнадцатеричный файл, нажав F7.Затем все, что вам нужно сделать, это открыть окно «Программирование устройства», выбрав «Инструменты» -> «Программирование устройства» и выбрав вкладку «Воспоминания». Теперь вы можете нажать «Программа», чтобы записать шестнадцатеричный файл в чип.

Watch It Blink

Чтобы светодиод мигал, подключите его анод к PB3 (контакт 2), а его катод к GND (контакт 4). Он должен включиться примерно на одну секунду, затем выключиться на одну секунду и продолжить цикл по этому шаблону.

Планы на будущее

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

attiny13 | Проект Тинусавр

Это краткое руководство о том, как собрать доску Тинусавра.

Доска Tinusaur — это то, на чем построен проект Tinusaur. Это достаточно простая печатная плата с десятком компонентов на ней.

Доска проста в сборке и не требует особых навыков или инструментов.

ВАЖНО: Если вы в чем-то не уверены, проконсультируйтесь с нашим веб-сайтом, в сообществе или с кем-нибудь более осведомленным в этой области.

Есть 4 области, на которые можно разделить доску Тинусавра: A1, A2, A3, A4.

Вот рекомендуемый порядок пайки деталей:

  1. Разъем MCU. Примечание: пока не вставляйте чип.
  2. Конденсаторы С1, С2 и резистор R1.
  3. Заголовки h2, h3.
  4. Внешний силовой разъем — красный.
    Разъем включения / выключения аккумулятора — желтый.
  5. Заголовок ISP.
  6. Держатель батареи.
  7. Кнопка RESET.

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

ВАЖНО:

Разъем внешнего питания (JP1, красный, тот, который ближе к 8-контактному разъему h2) предназначен для подключения внешнего питания. ЗАПРЕЩАЕТСЯ ставить перемычку — это может повредить плату.

Разъем

Battery On / Of (JP2, желтый, ближе к монтажному отверстию) предназначен для подключения / отключения аккумулятора к / от платы. НЕ ИСПОЛЬЗУЙТЕ этот на , когда плата подключена к программатору или внешнему источнику питания — нет схемы для защиты аккумулятора от перезарядки.

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

Имя

Описание

Печатная плата

Доска Тинусавра

MCU, Attiny85

Микроконтроллер Atmel AVR ATtiny85

Розетка, ДИП-8

Разъем DIP-8 для MCU

h2, Заголовок

Заголовок 2 × 4, Женский

h3, Заголовок

Заголовок 2 × 5, Женский

ISP, заголовок

Заголовок 2 × 5, папа, для ISP

СБРОС, кнопка

Тактильная кнопка для RESET

Power, Заголовок

Заголовок 1 × 2, папа, красный — внешний источник питания

Батарея, Заголовок

Заголовок 1 × 2, папа, желтый — питание от батареи вкл / выкл

Батарея, перемычка

Перемычка, 2-контактная, желтая — для включения / выключения питания от аккумулятора

C1, конденсатор

Конденсатор 100 мкФ, низкопрофильный 5 × 5 мм

C2, конденсатор

Конденсатор 100 нФ, малый

R1, резистор

Резистор 10К, малый, 1/8 Вт

Держатель батареи

Держатель батареи для CR2032

Аккумулятор 3V

Батарея 3В, CR2032

Примечание (около внешнего источника питания ): если вы собираетесь использовать внешний источник питания (JP1, красного цвета, тот, который находится рядом с 8-контактным разъемом h2), убедитесь, что вы подключили отрицательный полюс ( -) к внешнему контакту заголовка и положительный (+) к внутреннему.Attiny13A проекты: портал и журнал для разработчиков электроники

Примечание (около размещение батареи ): если вы собираетесь использовать батарею в держателе, убедитесь, что вы вставили ее правильно — то есть, чтобы отрицательный (-) был направлен вниз (к держателю), а положительный (+) (стороной с текстовыми отметками) вверх.

Это руководство, а также другие документы доступны в формате PDF на странице Руководств. Обратите внимание, что любые обновления будут публиковаться там.

ATTiny13 — Core Programming — StudioPieters®

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

ATTiny13 Chip

Купил эти микросхемы в Али-Экспресс. Сначала мне нужно изучить вывод ATTiny13A и связать его с микросхемой ATTiny13A. На изображении ниже показан вывод интегральной схемы.

Микросхема ATTiny13A

Купил эти микросхемы в Али-Экспресс. Сначала мне нужно изучить вывод ATTiny13A и связать его с микросхемой ATTiny13A. На изображении ниже показан вывод интегральной схемы.

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

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

ПОДКЛЮЧЕНИЯ ARDUINO NANO К ATtiny13A

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

1 x Arduino Nano (или любая плата Arduino подойдет)
1 x ATtiny13A
6 перемычек
1 x электролитический конденсатор — 10 мкФ ~ 25 В

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

Подключите следующее (я использую Arduino Nano, поэтому вы должны отметить необходимые контакты платы, которую вы используете, когда используете ее в качестве ISP

).

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

9025 Pin 9025 Digital Pin 12

Вывод 9025 8)

Arduino Nano ATtiny13A
MOSI Digital Pin 11 PB0 (Chip Pin 5)
MISO SCL Цифровой вывод 13 PB2 (Вывод 7 микросхемы)
RESET Цифровой вывод 10 PB5 (Вывод микросхемы 1)
VCC Вывод VCC (5 В)
GND GND GND (любой вывод GND)

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

УСТАНОВКА ЧЕРТОВЫХ ПЛАТ

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


https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json


Нажмите OK (затем еще раз OK, чтобы выйти из настроек).

Теперь перейдите в Инструменты> Плата> Диспетчер плат. Введите attiny в поле поиска, и вы должны увидеть MicroCore.Щелкните по нему (MicroCore от MCUDude) и установите плату. Теперь вы должны увидеть аттини-доски из списка, когда вы перейдете в Tool> Boards. Прокрутите вниз, чтобы убедиться, что плата действительно установлена.

ARDUINO AS ISP

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


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


ЗАГРУЗКА ЭСКИЗА НА ПЛАТУ РАЗРАБОТКИ ATtiny13A

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

Плата: «ATtiny13»
BOD: «BOD Disabled»
Clock: «9,6 МГц Internal osc.»
Порт: Выберите порт, к которому подключена ваша плата.

Затем убедитесь, что Arduino как ISP выбран в меню Инструменты -> Программист. По умолчанию ATtiny13A работает на частоте 9,6 МГц. Не используйте опцию внешнего генератора, если у вас нет внешнего источника синхронизации.Помните, что обычный двухконтактный кристалл на ATtiny13A работать не будет.

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

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

Тестирование ATtiny13A Blink

Теперь пора протестировать. Удалите все соединения с Arduino и возьмите источник питания. Здесь я буду использовать кнопочную ячейку для питания ATtiny13A.

Вот и программа мигания, работающая на ATtiny13A с питанием только от аккумуляторной батареи. Вы можете выполнять множество проектов с низкой стоимостью, низким энергопотреблением и небольшим пространством. Здесь пределом является только ваше воображение и, конечно же, количество выводов ШИМ.

ЕСТЬ ВОПРОСЫ? ОСТАВЬТЕ КОММЕНТАРИЙ ЗДЕСЬ.

ССЫЛКИ
MCUdude. MicroCore — это легкий аппаратный пакет Arduino для ATtiny13, ATtiny13A и ATtiny13V.(2020) https://github.com/MCUdude/MicroCorey

Микроконтроллер Atmel Attiny13a, запрограммированный с использованием Arduino Ide

Я обнаружил, что работать со студией atmel немного сложно. Atmel studio — это тяжелое программное обеспечение, оно занимает слишком много времени на компиляцию, занимает большую часть системной оперативной памяти, библиотеки не очень хорошо объяснены, и, прежде всего, сообщество помощи невелико. Поэтому я решил запрограммировать микроконтроллеры серии atmel attiny с помощью arduino ide. Arduino ide напрямую не поддерживает микроконтроллеры серии atmel attiny.Чтобы создать серию attiny, запрограммированную на arduino ide. Мы должны установить некоторые плагины в системные файлы arduino ide. В этом посте я объясню, как установить плагины серии attiny для arduino ide и какие изменения нам нужно внести в системные файлы arduino, чтобы сделать серию attiny распознаваемой arduino ide. После установки совместимости серии я объясню небольшой проект, который я сделал с использованием микроконтроллера atmel attiny13a. Я запрограммировал микроконтроллер attiny13a на arduino ide с помощью внешнего программатора usbasp.Я также запрограммировал и микроконтроллер attiny13a с автономным Arduino как icsp.

Для установки подключаемого модуля arduino ide для микроконтроллера atmel attiny13a. Загрузите файл, указанный ниже.


Распакуйте файл .rar. Вы получите папку с именем attiny13. Найдите каталог установки файлов Arduino. Найдите папку Hardware в каталоге установки arduino. Обычно это C: \ Program Files (x86) \ Arduino \ hardware.Поместите папку attiny13 в папку оборудования. Перезапустите arduino ide, и под опцией плат вы найдете опции attiny13a. Attiny13a будет указан с пятью различными конфигурациями часов. Во всех конфигурациях используется небольшой внутренний источник синхронизации. Я проверил все источники часов, и они работают нормально. Но некоторые пользователи в Интернете говорят, что им сложно создавать надлежащие задержки. Я проверил функцию delay () для каждого источника часов, и она у меня сработала правильно.

Выбор микроконтроллера

Attiny13a в arduino ide

Общий вывод attiny13a для использования с arduino ide приведен ниже. D0-D5 обозначает цифровые выводы, а A0-A1 обозначает аналоговые выводы. Итак, attiny с arduino ide имеет 5 цифровых контактов и два аналоговых контакта.

Распиновка

Attiny13a для arduino ide

Светодиод мигания с Atmel Attiny13A, Arduino Ide и Proteaus Simulation

Чтобы доказать, что верхняя конфигурация работает, я сделал простой проект / программу с мигающим светом.Светодиод переключается примерно за полсекунды. Я подключил светодиод к контакту PB4 attiny13a. В качестве источника тактовой частоты я использовал внутренний кристалл с частотой 4,8 МГц. На выводе сброса я подключил кнопку, чтобы снова запустить микроконтроллер. Вся схема питается от элемента CR2032. Cr2032 представляет собой плоскую батарею на 3,3 В. Attiny во время работы потребляет очень мало энергии. Микроконтроллеры Atmel серии attiny считаются мастерами гибернации. Они могут оставаться в спячке годами при очень небольшом количестве электроэнергии.Принципиальная схема проекта представлена ​​ниже.

Проект

Принципиальная схема Attiny13A Пример Blink.

Программирование Attiny13a с помощью программатора UsbAsp

Для загрузки кода в микроконтроллер я использовал внешний программатор Usbasp. Attiny13a можно запрограммировать, используя его интерфейс icsp. Схема подключения аттини к программатору usbasp приведена ниже. Usbasp может программировать при Vcc = 3,3 В и 5 В. Уровень напряжения можно выбрать с помощью перемычки, установленной на программаторе usbasp.Я выбрал 3.3в. Так как я использую аттини с аккумулятором cr2302, рассчитанным на 3,3 В. Лучше работать на одном уровне напряжения. Но вы также можете запрограммировать его на 5В.
Примечание. При использовании внешнего программатора, такого как usbasp, код можно загрузить в микроконтроллер только с помощью опции Sketch> Upload using Programmer.

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

Программатор

Usbasp используется для программирования микроконтроллера attiny13a с использованием arduino ide

Usbasp программатор программирование микроконтроллер atmel attiny13a

Программирование attiny13a с использованием Arduino uno как Isp

Attiny13a можно запрограммировать с помощью arduino uno.Код можно загрузить, выполнив следующие простые шаги.

  • Подключите arduino к ПК.
  • Выберите правильный порт и плату Arduino, в нашем случае «Arduino Uno».
  • Загрузите на Arduino скетч «ArduinoISP», приведенный в примерах. Дождитесь загрузки скетча. После загрузки переходите к следующему шагу.
  • Выберите «Arduino as ISP» в раскрывающемся меню «Программист».
  • Выберите правильный порт.
  • Выберите «ATtiny13A standalone 4.8Mhz» в раскрывающемся меню Board.
  • Откройте скетч, который вы хотите загрузить на attiny13a, и загрузите код, нажав кнопку загрузки.

Attiny13a, запрограммированный на Arduino uno

Загрузите код проекта и моделирование. Моделирование выполнено в протео. Папка с кодом содержит файл кода Arduino и файл .hex, который можно записать на микроконтроллер непосредственно для программы с мигающим светодиодом. Пожалуйста, поделитесь с нами своим мнением о проекте.

Посмотрите видео о проекте здесь…

Программирование ATtiny13 с Arduino Uno для управления серводвигателем

Серводвигатель работает по принципу широтно-импульсной модуляции (ШИМ), а его угол поворота контролируется длительностью импульса, подаваемого на его управляющий вывод.В этом уроке мы будем управлять серводвигателем с помощью микроконтроллера ATtiny13, используя технику ШИМ. Итак, прежде чем идти дальше, мы сначала узнаем о ШИМ, серводвигателе и о том, как программировать ATtiny13 с помощью платы Arduino.

Широтно-импульсная модуляция (ШИМ)

Широтно-импульсная модуляция (ШИМ) определяется как метод генерации аналогового сигнала с использованием цифрового источника. Сигнал ШИМ состоит из двух основных компонентов — рабочего цикла и частоты. Эти компоненты определяют его поведение.Рабочий цикл описывает количество времени, в течение которого сигнал находится в высоком состоянии. Он обозначается как процент от общего времени, необходимого для выполнения одного цикла.

Рабочий цикл = время включения / (время включения + время выключения) 

Частота определяет, как быстро ШИМ завершает цикл и как быстро сигнал переключается между высоким и низким состояниями. Частота 100 Гц означает 100 циклов в секунду. При быстром включении и выключении цифрового сигнала с определенным рабочим циклом выходной сигнал будет выглядеть как аналоговый сигнал постоянного напряжения.Одним из важных преимуществ ШИМ является то, что потери мощности очень минимальны.

ШИМ-сигналы используются для различных приложений управления. Основная цель сигнала PWM — управлять мощностью, подаваемой на различные электрические устройства, особенно на инерционные нагрузки, такие как двигатели переменного / постоянного тока. Его также можно использовать для управления насосами, клапанами, гидравликой и другими механическими деталями. Частота сигнала ШИМ зависит от приложения и времени отклика устройства, на которое подается питание.

Управление серводвигателями с помощью сигналов ШИМ

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

Сервомотор

управляется широтно-импульсной модуляцией (ШИМ) или отправкой электрического импульса переменной ширины через провод управления. Будет частота повторения, минимальный и максимальный пульс. Серводвигатель может поворачиваться на 90 o в любом направлении из своего нейтрального положения, что составляет 180 o .Нейтральное положение двигателя — это когда сервопривод имеет одинаковую величину потенциального вращения как по часовой, так и против часовой стрелки. Сигнал ШИМ, отправляемый на двигатель, определяет положение вала. Ротор повернется в желаемое положение в зависимости от длительности импульса, посылаемого через управляющий провод. Серводвигатель ожидает импульс каждые 20 миллисекунд (мс), а длина импульса определяет, как далеко будет вращаться двигатель.

Серводвигатель может вращаться от 0 до 180 градусов.Когда на управляющий провод подается импульс 1,5 мс, двигатель повернется в положение 90 o . Когда дается импульс короче 1,5 мс, двигатель будет двигаться против часовой стрелки в направлении положения 0 o . Если дается импульс длительностью более 1,5 мс, двигатель будет вращаться по часовой стрелке в направлении положения 180 o .

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

Перед подключением сервопривода к Attiny13 вы можете протестировать сервопривод с помощью этой схемы тестера серводвигателя. Здесь у нас есть интерфейс серводвигателя со многими микроконтроллерами:

Программирование ATtiny13 с использованием Arduino

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

  • Arduino 5V — ATtiny13 контакт 8
  • Arduino GND — ATtiny13 контакт 4
  • Вывод 13 Arduino — вывод 7 ATtiny13
  • Вывод 12 Arduino — вывод 6 ATtiny13
  • Вывод 11 Arduino — вывод 5 ATtiny13
  • вывод 10 Arduino — вывод 1 ATtiny13

Arduino настроен как программатор для программирования ATtiny13.Это делается путем загрузки скетча ArduinoISP в Arduino. Этот эскиз Arduino доступен в примерах в Arduino IDE. Откройте IDE Arduino и перейдите в Файлы> Примеры> ArduinoISP.

Теперь появится программа для ArduinoISP. Загрузите программу в Arduino Uno.

Arduino Uno теперь готов к программированию Attiny13. Но мы должны настроить Attiny, установив его файлы ядра. Для этого перейдите в Файл >> Настройки в Arduino IDE

.

Затем появится новое окно.И в «Дополнительные URL-адреса менеджера доски» добавьте приведенную ниже ссылку и нажмите «ОК».

«https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json»

Теперь в вашей Arduino IDE перейдите в Инструменты >> Плата >> Менеджер плат

.

Затем появится другое окно, где в поле поиска введите «Attiny», затем вы получите «DIY ATtiny», затем нажмите кнопку «установить» (я уже установил его, поэтому кнопка установки серого цвета)

Чтобы начать программировать ATtiny 13, мы должны записать на него загрузчик.Для этого перейдите в Инструменты> Доска> ATtiny13.

Теперь перейдите в Инструменты> Версия процессора и проверьте, выбрана ли правильная версия ATtiny. Выберите ATtiny13 или ATtiny13a в зависимости от вашего чипа.

Затем нажмите кнопку «Записать загрузчик» в нижней части меню «Инструменты».

После записи загрузчика ATtiny готов к программированию. Теперь вы можете загрузить свою программу.

Необходимые компоненты

  • ATtiny13 Микроконтроллер
  • Серводвигатель
  • Потенциометр
  • + 5V аккумулятор
  • IDE для Arduino
  • Соединительные провода

Принципиальная схема

и работа

Принципиальная схема для управления серводвигателем с помощью потенциометра с ATtiny13 приведена ниже.

Ниже приведены соединения

  • Подключите вывод управления серводвигателем к выводу 5 ATtiny13
  • .

  • Подключите массу серводвигателя к контакту 4 ATtiny13
  • Подключите VCC серводвигателя к контакту 8 ATtiny13
  • Подключите средний вывод потенциометра к выводу 7 ATtiny13
  • Подключите первый и третий контакты потенциометра к VCC и GND.
  • Подключите плюс + 5V батареи к контакту 8 ATtiny13
  • Подключите отрицательный полюс батареи + 5V к контакту 4 ATtiny13

Потенциометр подключен к контакту 7 (PB2) ATtiny13, а провод управления серводвигателем подключен к контакту 5 (PB0).

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

Arduino shrunk — как использовать ATtiny13 с Arduino IDE

С помощью Arduino IDE можно работать с множеством различных микроконтроллеров, а не только с платами Arduino!

Arduino IDE (интегрированная среда разработки), в настоящее время находится в версии 1.0 — отличная система для программирования плат Arduino. Он имеет простой в освоении интуитивно понятный интерфейс и поставляется со всеми необходимыми настройками для наиболее распространенных плат Arduino — Uno, Duemilanove, Nano и других на базе микроконтроллеров ATmega168 и ATmega328. Последняя версия также включает некоторые из самых последних плат ATmega1280 и ATmega2560.
Но вы не смогли бы использовать все его огромные возможности, если бы вам приходилось возвращаться к текстовому редактору каждый раз, когда вам нужно было программировать меньший чип Atmel, такой как, например, ATtiny13.Движки, лежащие в основе Arduino IDE — компилятор AVR-GCC для C и C ++ и avrdude — программное обеспечение для внутрисистемного программирования для серии микросхем Atmel AVR — уже существуют и способны кодировать и программировать более мелкие микросхемы, нам просто нужно добавить немного магии настройки Arduino IDE, чтобы иметь возможность свободно переключать оборудование, не покидая любимую интегрированную среду разработки. Вот как:

{adinserter Internal_left} Arduino IDE хранит аппаратные библиотеки C и другие необходимые файлы конфигурации в каталоге под названием hardware, который может находиться либо в корневом каталоге IDE (с этого момента я для краткости назову его [arduino_home]) или каталог альбомов пользователя.Я использую Linux-машину Ubuntu, и мой каталог для скетчей ~ / sketchbook /. Это может быть другое место на ПК с Windows — пожалуйста, проверьте руководство для версии Win.

Специфичные для оборудования библиотеки называются ядрами, и они расположены в ~ / sketchbook / hardware / xxxx / cores, где xxxx может быть либо arduino, либо именем оборудования, на котором остановился разработчик библиотек, например, tiny. Он также может находиться в [arduino_home] / hardware / arduino / cores /

.

Еще один файл, имеющий решающее значение для понимания IDE оборудования, на котором вы работаете, — это файл под названием board.txt, который также находится в ~ / sketchbook / hardware / xxxx /boards.txt или /[arduino_home ]/hardware/arduino/boards.txt. Файл содержит информацию об оборудовании («плата» может быть автономным MCU, тоже), такие как тактовая частота процессора, старший и младший байты предохранителей — параметры конфигурации, которые «вживляются» в микропроцессор и определяют источник тактовой частоты, предварительный делитель таймера и другие важные параметры, которые не нужно обновлять каждый раз. раз вы повторно загрузите свой скетч. Файл Board.txt также может предписывать, как быстро программист должен разговаривать с MCU — важная проблема для MCU, таких как ATtiny, которую можно значительно замедлить, используя внутренний источник синхронизации.

Пока что мне попалось три разных набора библиотек, подходящих для программирования микроконтроллеров ATtiny:

Большинство из них содержат версии нескольких основных функций Arduino, которые могут работать на микроконтроллерах с такими маленькими размерами Flash и SRAM, как ATtiny. Наиболее часто поддерживаемые функции:

миллис ()
микросекунды () (не совсем настоящая микросекунда)
delay ()
delayMicroseconds () (не совсем настоящая микросекунда)
analogRead ()
analogWrite ()
pinMode ()
digitalRead ()
digitalWrite ( )

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

Все ядра ATTiny устанавливаются аналогично:

  1. Выключите Arduino IDE
  2. Определите каталог альбомов (в Linux найдите ~ / sketchbook /) и создайте новый каталог с именем hardware: ~ / sketchbook / hardware.
  3. Если ядро ​​заархивировано со структурой каталогов, просто распакуйте содержимое zip-файла в каталог ~ / sketchbook / hardware / — он создаст необходимый подкаталог. В противном случае вручную создайте подкаталог с названием что-то вроде «крошечный» (или «core13», как предлагает smeezekitty для своего ядра core13.Имя каталога может быть произвольным, если оно такое же, как указано в файлеboards.txt (ниже)
  4. .

  5. В каталоге ~ / sketchbook / hardware / tiny / отредактируйте или создайте новый файл с именемboards.txt (см. Формат ниже)
  6. Файл Board.txt для ATTiny должен содержать эти данные (используется ядро ​​core13, замените его именем вашего ядра, если оно другое)

    #################################################################################################### #########################
    
    attiny13.name = Attiny13 @ 128 кГц (внутренний сторожевой генератор)
    attiny13.upload.using = arduino: arduinoisp
    attiny13.upload.maximum_size = 1024
    attiny13.upload.speed = 250
    attiny13.bootloader.low_fuses = 0x68
    attiny13.bootloader.high_fuses = 0xFF
    attiny13.build.mcu = attiny13
    attiny13.build.f_cpu = 128000
    attiny13.build.core = core13
    
    
    ########################################################################## #############
    
    attiny13at4.name = ATtiny13 @ 4,8 МГц (внутренние часы 4,8 МГц)
    attiny13at4.upload.using = arduino: arduinoisp
    attiny13at4.bootloader.low_fuses = 0x69
    attiny13at4.bootloader.high_fuses = 0xff
    attiny13at4.upload.maximum_size = 1024
    attiny13at4.upload.speed = 9600
    attiny13at4.build.mcu = attiny13
    attiny13at4.build.f_cpu = 600000
    attiny13at4.build.core = core13
    
    ########################################################################## #############
    
    attiny13at9.name = ATtiny13 @ 9,6 МГц (внутренние часы 9,6 МГц)
    attiny13at9.bootloader.low_fuses = 0x7a
    attiny13at9.bootloader.high_fuses = 0xff
    attiny13at9.upload.maximum_size = 1024
    attiny13at9.build.mcu = attiny13
    attiny13at9.build.f_cpu = 1200000
    attiny13at9.build.core = core13
     

    Arduino IDE 1.0 Выберите правильного программиста перед загрузкой программного обеспечения

  7. После редактирования файлов конфигурации запустите IDE. В разделе Programmer выберите программатор, который вы будете использовать (см. Рисунок слева). Я использую USB-программатор Atmel AVRISP mk II, но сам Arduino также может использоваться для программирования ICSP микроконтроллеров AVR
  8. .

  9. В меню Tools-> Board выберите MCU и тактовую частоту, которую вы будете использовать (см. Рисунок вверху страницы).
  10. Перед загрузкой любого фактического кода запустите «Записать загрузчик» — пункт меню рядом с «Программист» в разделе «Инструменты». Для ATtiny нет загрузчика Arduino из-за небольшого размера памяти и ввода-вывода, но эта функция фактически сжигает младшие и высокие байты предохранителей — шаг настройки, необходимый для того, чтобы убедиться, что MCU работает с той скоростью, которую вы предполагаете.
  11. Напишите код, учитывая аппаратные ограничения — для ATtiny13 это 1024-байтовая флэш-память и 64-байтовая SRAM и, очевидно, только 5 операций ввода-вывода, если вы планируете загружать код через ICSP — наиболее удобный способ загрузки кода. .Если вы собираетесь использовать другую технику программирования (которую, однако, не поддерживает Arduino IDE), вы можете повторно использовать вывод сброса в качестве 6-го ввода-вывода.
  12. Подключите ATtiny13 к программатору, как показано на этой схеме

  13. На этом этапе вы должны подключить микроконтроллер ATtiny13 к 6-контактному разъему ICSP программатора, используя распиновку на рисунке слева. Если вы строите свой проект на макетной плате, всегда удобно иметь цветные провода 6 x 18AWG, припаянные к двухрядному 6-контактному штыревому разъему — это упростит подключение программатора и его можно будет повторно использовать от проекта к проекту.Перед программированием микросхемы на Vcc следует подать питание от + 1,9 В до + 5,5 В.
  14. Загрузите согласованную программу в свой ATtiny13 с помощью программатора

  15. После того, как вы (думаете), что закончили работу с программой, используйте «Загрузить с помощью программатора» [Ctrl-Shift-U], чтобы скомпилировать программу и загрузить ее в MCU. Помните, что питание должно быть подано на MCU перед его программированием!

Ваша программа запущена! Или нет … Если в нем есть ошибки. Если вы не получаете желаемую работу MCU, проверьте программу и загрузите ее снова (шаги 8-10).