Attiny13A программирование: Программирование ATTINY13 / ATTINY13A в Arduino IDE

Содержание

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

Возможна потеря данный передаваемых по последовательному соединению Serial data в момент выполнения функциии обработки прерывания. Переменные, изменяемые в функции, должны быть объявлены как volatile. Тогда надо мануально писать функцию. PCINTx-прерывания обслуживают сразу целый порт, поэтому в обработчике необходимо смотреть на записанное и текущее состояние выводов и выискивать, какой же из пинов изменил свое состояние и в какую сторону. Ну а потом уже решать, реагировать ли на это изменение или проигнорировать.


Поиск данных по Вашему запросу:

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

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам.
ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Микроконтроллер ATtiny13 и язык Arduino. Подключение и прошивка.

Простой ШИМ на ATTiny13.Регулируем всё


Итак, уже давненько появился способ программировать маленькие, дешёвые, маложрущие и доступные микрухи ATtiny13A. Далее нам нужна сама микруха : Имеете? Теперь нам нужно узнать как при помощи Arduino прошить тиньку, более подробней здесь.

Итак, зашили blink — работает, отлично, я Вас поздравляю, «это маленький шаг для человека и большой шаг для человечества» : Как вы уже заметили скетч стал заметно легче ежели для UNO, это связано тем что урезаны большинство дуиновских функций.

Итак как мы ещё увидели доступно всего байта, но ведь это мало? Чтобы научится экономить рекомендую ознакомится , а ещё лучше изучайте AVR и Cи, я вот когда смогу побороть лень начну :.

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

Распиновка из даташита :. PB5 это тоже что и pin 5 или просто 5. UPD1 Экономия при этом будет 8 байт а код будет работать так же. К сожалению вынужденная мера. Студенты задавали вопросы, а затем удаляли содержимое первого поста, чтобы преподаватели не нашли. В результате ответы повисали в воздухе. Может какой-то добрый модер поправит их, ато сюда народ направлять будете и каждый раз будут в меня пальцем тикать что я безграмотная сволоч Уберите пожалуйста » Первая картинка с гугла, скорей всего при нажатии на кнопку горит какой-то светодиод, или же они образуют какой-то цвет Где работаешь?

По ссылкам на проекты с 45 и 85 тинькой все пучком, а 13 не встает. У кого вышло — поделитесь куда что клали, плиз. У топикстартера — не очевидно. Я НЕ хочу пользовать Ардуину как программатор. Хочу пользовать дуиновский язык и оболочку и шить напрямую через USBasp. Это возможно? Конечно возможно. Выберите свой программатор из списка программаторов и в меню File нажимаете Upload using programmer.

Потом ну и в настройках платы выбрать attiny13 9. Все прочитал. Интересно, что дома под 7 все встало, а на работе под ХР не встает Частота RC — kHz attiny13int. Частота RC — 4,8 MHz attiny13at4. Дефолт — 0x6a attiny На работе тоже все получилось. Стер все, переставил — заработало. Самое главное, что получилось шить через USBasp!

Но там выскакивает Warning — avrdude: warning: cannot set sck period. Немного геморройно с названиями выводов, надо помнить распиновку, что вывод 1 это pin 5, вывод 2 — это pin 3 и т. Абсолютно согласен, но Дуина — это среда для разработки своих мозгов а не железа , посему, как завещал Ильич, которому скоро стукнет кста — «Учиться, учиться и еще раз учиться».

Бум учиться на малом, а потом и к старикам Кернигану с Ричем, глядишь подойдем. Хотелось бы. Но ASM уж точно ниасилю. Нет, про среду я ничего не говорю, она кстати, не имеет практически никаких ограничений — хоть на асме пишите, а вот некоторые дуиновские функции Посмотрев указанные в топике примеры хочу задать дурацкий вопрос. Насчёт фюзов спросите тут правда если владеете английским.

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

Ну почему же балавство Транзистор первый который попался под руку — КТБ. Пробовал частоту опускать с кГц до 2. Не совсем ясно о чем вы, а ваш динамик вообще в таком диапазоне частот работает? Ведь для ультразвука специальные излучатели применяют ,а не обычные колонки. Частота уменьшенная в 10 раз, тоесть 2. Прошу помощи, есть идея сделать так чтобы тинька запоминала последнее состояние, тоесть я нажал на кнопку, галогенки включились, отключил зажигание отрубил питание МК , включаю зажигание и тинька вспоминает что я галогенки оставил включёнными и включает их опять, тоесть мне не нужно второй раз лезть к кнопке включение фар.

Фьюзы — можете подсмотреть в файле Boards. И поставить галочку «Show verboase output during [] Compilation». Тогда внизу в окошке будет видно как и с какими параметрами ArduinoIDE вызывает avrdude для заливки. Можете это «подсмотреть скопировать» и пользоватся уже без ArduinoIDE. Нужно галочку ставить не возле Compilation тогда вы будете видеть «как скомпилировать без ArduinoIDE» , а возле Upload — тогда будет виден вызов дудки как заливать.

Или ставте обе. Тогда будуте «видеть все». В том числе и где сам. Что-бы заливать его в будущем. Тоесть когда я буду кому-то давать прошивку в НЕХ формате которую я вынул из временой папки IDE, то чтобы тот человек з с правильным программатором, не дуинкой, верно запрограммировал тиньку ему нужно выставить такие галочки, я всё верно понял? Нужно чтоды светодиоды светились подключены к 12 В , подсветка кнопки и индикация роботы дальних фар, тоже питается от 12 В.

С фьзами все верно. Я тут вот что подумал, а что если кнопка западёт, несколько часов и ячейка памяти выйдет из строя, было бы неплохо добавить в первом ифе ещё один иф, типо если кнопка всё ещё нажата то подождём ещё секунд 10 и тогда уже продолжим выполнение цикла. Или Вы это предусмотрели? Смотрю в протеусе записывает один раз когда кнопка нажата, держи сколько влезет, индикатор записи в епром негорит.

Зачем же в лупе включать подтяжку, можно это сделать один раз в сетапе и не надо настраивать выводы на вход — они и так по умолчанию настроены на вход. В помощь новичку.

PB5 это ресет, использовать его неполучится если фюзы не сменить, кстати, у меня получается использовато только ногу PB3 в качестве АЦП, другие почуму-то нехотят. Что такое Ардуино? Войдите или зарегистрируйтесь , чтобы получить возможность отправлять комментарии ответа [ Последнее сообщение ]. Зарегистрирован: Тут я Вам расскажу как можно зашивать дуиновские скетчи. Чтобы научится экономить рекомендую ознакомится , а ещё лучше изучайте AVR и Cи, я вот когда смогу побороть лень начну : Если будут какие-то вопросы их задавайте тут, хвастайтесь своими проектами на этой замечательной микрухе, я только за, интересно же.

Войдите или зарегистрируйтесь , чтобы получить возможность отправлять комментарии. Будет обновляться. Я ведь даже не русский, а по русском языке у меня была двойка. Готово, поправил. В любом случае никто пальцем тыкать не будет, это ведь не форум лингвистов. Спасибо, жду пополнений проектов на сабжовой микрухе. В скетче пин 13, это которая нога?

Скетч из примера в IDE, чисто для наглядности. Вопросы топикстартеру и тем у кого получилось. Densoider пишет:. Кстати первый пост читали? Что наваяю — буду постить сюда. По поводу задержек — разберитесь со фьюзами в файле boards.

ИМХО там хрень какая-то. На это надо просто забить, так как все шьется замечательно. Теперь можно Дуиновским языком писать под тиньку Теперь надо бы разобраться с таймингами, понять чему равен delay в зависимости от частоты и т. Поморгал диодом, поморгал диодом с кнопки. Короче работает! Кстати, про среду. Гдето внутрях смотрит в io.


ATTINY13A с завода — обычный ISP вам не поможет

Авторизация Зарегистрироваться Логин или эл. Напомнить пароль Пароль. Войти Запомнить меня. Программирование Arduino даёт не только огромный простор для фантазии и возможностей, но, как и любой фреймворк , одновременно навязывает свой стиль и ограничивает возможности. Поэтому, если чувствуется, что Arduino становится тесноват — можно не только перейти на битные контроллеры например, STM32 , но и попробовать более низкоуровневое программирование контроллеров.

Как производится программирование микроконтроллеров ATtiny? Итак, имеем микроконтроллер ATtiny, LPT порт (обязательно железный.

Работа с микроконтроллерами: прошивка с помощью Arduino и Arduino IDE

Микроконтроллер — микросхема, предназначенная для управления электронными устройствами, или по другому — простенький компьютер микро-ЭВМ , способный выполнять несложные задачи. Рано или поздно, любой радиолюбитель я так думаю , приходит к мысли о применении в своих разработках микроконтроллеров. Что нужно для того, чтобы начать пользоваться всеми возможностями микроконтроллеров? Я считаю, что не так уж и много. Главное в этом деле — желание. Будет желание, будет и результат. В своих статьях я буду опираться на материалы из публикаций популярных авторов микроконтроллерной тематики: Рюмика С. Микроконтроллеры — первый шаг. Эта статья, как и все последующие, — маленький шажок в мир микроконтроллеров. Но и это, скорее всего, из области фантастики — нельзя объять необъятное, — мир микроконтроллеров постоянно развивается и совершенствуется.

Прошивка и программирование ATtiny13 при помощи Arduino

Если Вы не знаете, что означает тот или иной конфигурационный бит, то не трогайте его. Вот теперь у нас готовый к работе контроллер ATtiny! Материал для сайта Радиосхемы предоставил Ansel Испытание и модернизация китайского детского электромобиля.

Войдите , пожалуйста.

Переходим от Arduino к программированию ATtiny13 на C

Итак, уже давненько появился способ программировать маленькие, дешёвые, маложрущие и доступные микрухи ATtiny13A. Далее нам нужна сама микруха : Имеете? Теперь нам нужно узнать как при помощи Arduino прошить тиньку, более подробней здесь. Итак, зашили blink — работает, отлично, я Вас поздравляю, «это маленький шаг для человека и большой шаг для человечества» : Как вы уже заметили скетч стал заметно легче ежели для UNO, это связано тем что урезаны большинство дуиновских функций. Итак как мы ещё увидели доступно всего байта, но ведь это мало?

ATTiny13 – небольшой размер – хороший потенциал.

Я радиомонтажник, умею и люблю паять, но с микроконтроллерами никогда не сталкивался, считал что это сложно и нереально. В схеме присутствует микроконтроллер, работу которого необходимо запрограммировать. Для меня это «темный лес «, но мне очень хотелось разобраться. Начал с программатора Громова и программы UniProf, все делал по вот этой статье. Изготовил простейший программатор кстати это моя первая печатная плата собственноручного изготовления, использовал ЛУТ лазерно-утюжная технология и травление хлорным железом, получилось с первого раза. Программатор Громова.

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

ATTiny13 на Arduino — программирование для начинающих

Схемы устройств на микроконтроллерах МК обычно отличаются сочетанием двух трудносовместимых качеств: максимальной простотой и высокой функциональностью. К тому же функциональность может в дальнейшем меняться и расширяться без внесения каких-либо изменений в схему — путём лишь замены программы перепрошивкой. Эти особенности объясняются тем, что создатели современных МК постарались разместить на одном кристалле всё, что только может потребоваться разработчику электронного устройства — по крайней мере настолько, насколько это возможно.

Подписаться на ленту

ВИДЕО ПО ТЕМЕ: Программируем ATtiny13 из Arduino IDE

Собирать мы будем устройство с потенциометром и светодиодом. В зависимости от угла поворота потенциометра будет изменяться яркость светодиода. Скетч содержит следующий код:. Итак, у нас Arduino Uno. Для этого используется такое устройство, как программатор.

Жертва эксперимента — ATtiny13 — воткнут в макетную плату, рядом собран формирователь сигналов, всё готово: Рис.

ПРОГРАММИРОВАНИЕ Attiny2313

Используя наш сайт, вы подтверждаете, что прочитали и поняли политику о куки , политику конфиденциальности и пользовательское соглашение. Stack Overflow на русском — это сайт вопросов и ответов для программистов. Регистрация займёт не больше минуты. Ответ ДА : Сам не пробовал. Фрагмент статьи с хабра. Пин GND на землю, с пина Miso светодиод с резистором на землю.

Примеры программ на си для avr attiny13. Защита от дребезга

Расположение выводов ATtiny Выполняя команды за один цикл, ATtiny13 достигает производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности. AVR ядро объединяет богатую систему команд и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно связаны с арифметико-логическим устройством АЛУ , что позволяет получить доступ к двум независимым регистрам при выполнении одной команды.


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

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

ATtiny13 20PU и ATtiny85 20PU

ATtiny13 20PU и ATtiny85 20PU

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

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

Распиновка

Распиновка

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

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

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

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

Цена за 10 шт ATtiny13

Цена за 10 шт ATtiny13

Цена за 10 шт ATtiny85

Цена за 10 шт ATtiny85

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылка для Менеджера плат

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

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

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

Скетч Blink

Скетч Blink

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

Выбор ATtiny13

Выбор ATtiny13

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

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

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

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

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

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

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

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

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

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

Выбираем ATtiny85

Выбираем ATtiny85

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

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

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

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

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

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

_________________________________________________________

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

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

Ищу IDE для ATtiny13A. Arduino IDE не предлагать! | My77thBlog

Всем привет. В этой статье я очень хочу затронуть заблуждения, с которыми я столкнулся на старте изучения программирования микроконтроллеров семейства Tiny (в частности Attiny13a), связанное с выбором IDE и не только. Совокупность таких заблуждений можно заметить вокруг способа программирования и прошивки этого микроконтроллера через Arduino IDE. Что же я имею в виду?

Есть, например, заблуждение, что Arduino IDE, в которой можно без проблем программировать подобные микроконтроллеры, воспринимает только “ардуиновский код”. Более прошаренные могут подразумевать именно структуру кода с якобы обязательным void setup() и void loop() в файле .ino. Конкретно вспомнил видео, где, как мне показалось, мужик удивился тому, что Arduino IDE проглотила код на чистом C.

Возможно я неправильно интерпретировал видео и мужик все же на тот момент знал, что этот код скомпилируется без проблем и просто показывает своим зрителям, что Arduino IDE может работать с чистым C. Тем не менее заблуждение такое есть и люди, услышав про “ардуиновский код”, представляют, что для Ардуино есть свой специальный язык программирования. Я обязательно объясню, почему это не так.

Все же речь идет прежде всего об Attiny13a и ему подобных (в статье я их иногда буду называть тиньками). То неверное представление об “ардуиновском коде” породило еще одно заблуждение. А конкретно заблуждение о том, что эти микроконтроллеры (Attiny13a) нужно программировать чуть ли не только в Atmel Studio, а если и в чем-нибудь другом, то никак не в Arduino IDE. По крайней мере примерно такие комментарии я видел на ютубе и под некоторыми статьями, посвященными этому микроконтроллеру. Особенно порадовал этот комментарий:

Тут уже претензии к фреймворку Core13, позволяющему использовать ардуиновские команды (по сути функции) в коде. Реализация этих функций получилась достаточно тяжеловесной и человек просто по незнанию использовал эти функции, получив в итоге на выходе тяжеленькую прошивку.

Здесь я должен сразу отметить, что Arduino IDE — достаточно бедная среда для разработки и очевидно, что среда Atmel Studio для микроконтроллеров семейства Tiny будет по удобству разработки все же получше. Я лишь хочу показать на своем примере, что Atmel Studio — далеко не обязательная среда программирования, когда у вас уже есть установленная Arduino IDE. То есть касается это в основном тех, кто работает и с ардуинками, и с тиньками, кто без особых усилий может написать программу без помощи всплывающих подсказок в IDE. По крайней мере я не могу сказать, что лично мне эти подсказки как-то помогают, скорее в случае с микроконтроллерами я не ощущаю разницы между “кодить в IDE” и “кодить в обычном текстовом редакторе”. Именно по этой причине я на своей практике убедился, что Arduino IDE очень даже хватает для полноценной разработки программ для таких микроконтроллеров и что нет смысла дополнительно устанавливать Atmel Studio, который к тому же в 5-6 раз тяжелее Arduino IDE.

Самое основное забыл отметить: то, для чего и пишется эта вся статья. Когда я имею в виду, что нет разницы, в какой среде программировать и прошивать микроконтроллер, я также подразумеваю, что в Atmel Studio, как и в Arduino IDE встроен один и тот же компилятор. Если вы думайте, что результат компиляции одного и того же сишного кода в этих IDE будет разным, то вы ошибайтесь. Наверное на этой ноте можно закончить статью, но нет. Давайте я постараюсь объяснить, как такое стало возможно, а также расскажу про особенности ардуиновского кода и как я к этому всему пришел.

Предыстория такова, что в своем увлечении схемотехникой работу с микроконтроллерами всегда обходил стороной (да, такое бывает). Но вдруг появилось аж целых два проекта, в которых микроконтроллер необходим, причем чем дешевле — тем лучше. Я никогда не имел дело с микроконтроллерами, разве что в универе, помню, были пары по микропроцессорам… Первый проект касался моей основной работы и руководитель производства мне подсказал, что при таких обстоятельствах я без проблем могу попробовать освоить один из самых дешевых микроконтроллеров: Attiny13а. И в итоге я его освоил.

Самый главный вопрос в начале пути освоения данного микроконтроллера: в чем программировать и как прошивать. По крайней мере главный для меня, т.к. синтаксис чистого C после написания и отладки досовских программ мною более или менее освоен. В ютубе самое популярное решение заключается в том, чтобы в Arduino IDE прошить плату ардуино, будь то нано, уно или какая другая, как программатор ISP, а уже через этот программатор в том же Arduino IDE прошивать Attiny13а, предварительно скачав для этого ардуиновский фреймворк Core13. У меня давно чесались руки поизучать всем известную ардуинку, по этому без всяких колебаний приобрел и ардуино нано.

Как итог: все получилось и через какое-то время один из проектов был успешно завершен. Над вторым проектом еще идет работа и его успешное завершение — вопрос времени.

Проблема выбора IDE началась с вопроса: “Нужно ли мне для программирования микроконтроллеров семейства Tiny что-то более профессиональное, чем Arduino IDE?”. На этот вопрос, помимо комментариев на ютубе и под статьями, меня подтолкнула статья “Переходим от Arduino к программированию Attiny13 на C”, а конкретно эта фраза:

Раз решили программировать «по-взрослому», то и среда разработки нужна «взрослая». Идём на сайт Atmel-a, и скачиваем свежую версию Atmel Studio.

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

Свой код я писал в Arduino IDE и помню были некоторые ошибки, при которых в консоли ругался avrdude — программа, предназначенная для прошивки микроконтроллеров AVR ATmega и ATtiny. В статье же автор предлагает использовать этот же avrdude после написания и сборки проекта в Atmel Studio. “Учитывая то, что в Arduino IDE без проблем компилируется код, написанный в Atmel Studio, не сложно догадаться, что компилятор и в той, и в другой IDE один и тот же.” — подумал я и рассмотрел каталоги этих IDE.

И в том и в другом случае я нашел папку тех самых компиляторов (да, их несколько). Путь к компиляторам у Arduino IDE —

...\Arduino\hardware\tools\avr\bin\

а у Atmel Studio —

...\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\

Содержимое этих папок практически идентичное, только версии компиляторов могут отличаться. Вот вам для сравнения:

Atmel StudioArduino IDE
$ tree
.
├── avr-addr2line.exe
├── avr-ar.exe
├── avr-as.exe
├── avr-c++.exe
├── avr-c++filt.exe
├── avr-cpp.exe
├── avr-elfedit.exe
├── avr-gcc-5.4.0.exe
├── avr-gcc-ar.exe
├── avr-gcc.exe
├── avr-gcc-nm.exe
├── avr-gcc-ranlib.exe
├── avr-gcov.exe
├── avr-gcov-tool.exe
├── avr-gdb.exe
├── avr-gdb-py.exe
├── avr-g++.exe
├── avr-gprof.exe
├── avr-ld.bfd.exe
├── avr-ld.exe
├── avr-man
├── avr-nm.exe
├── avr-objcopy.exe
├── avr-objdump.exe
├── avr-ranlib.exe
├── avr-readelf.exe
├── avr-size.exe
├── avr-strings.exe
└── avr-strip.exe

0 directories, 29 files

$ tree
.
├── arduinoOTA.exe
├── avr-addr2line.exe
├── avr-ar.exe
├── avr-as.exe
├── avr-c++.exe
├── avr-c++filt.exe
├── avr-cpp.exe
├── avrdude.exe
├── avr-elfedit.exe
├── avr-gcc-4.9.2.exe
├── avr-gcc-ar.exe
├── avr-gcc.exe
├── avr-gcc-nm.exe
├── avr-gcc-ranlib.exe
├── avr-gcov.exe
├── avr-gdb.exe
├── avr-g++.exe
├── avr-gprof.exe
├── avr-ld.bfd.exe
├── avr-ld.exe
├── avr-man
├── avr-nm.exe
├── avr-objcopy.exe
├── avr-objdump.exe
├── avr-ranlib.exe
├── avr-readelf.exe
├── avr-run.exe
├── avr-size.exe
├── avr-strings.exe
├── avr-strip.exe
├── giveio.sys
├── install_giveio.bat
├── libiconv-2.dll
├── libusb0.dll
├── loaddrv.exe
├── remove_giveio.bat
└── status_giveio.bat

0 directories, 37 files

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

...\Arduino\hardware\arduino\avr\cores\arduino\

(в дальнейшем cores\arduino\), а распиновка для вашей конкретной платы ардуино при выборе учитывается в

...\Arduino\hardware\arduino\avr\variants\

и когда вы собираете свой проект (т.е. нажимайте “Проверить”), проект собирается в папке

C:\Users\{ваш юзернэйм}\AppData\Local\Temp\build{рандомные символы}.tmp\

И вот как раз в этой папке, где собрался проект, можно наблюдать, как все без исключения файлы из папки cores\arduino\ включены в ваш проект. Ваш код в файле .ino в немного измененном виде находится в файле {название проекта}.cpp. Он “немного изменен” специально для дальнейшей компиляции через gcc или g++.

Что, не поняли? Прикол в содержимом cores\arduino\. Ардуиновские команды в этой папке прописаны так, будто бы вы написали код на Atmel Studio для, например, ATmega328P (микроконтроллер в Arduino Nano и не только). Ну т.е. по сути тот самый “ардуиновский код” — это не что иное, как обычный c++. Надеюсь, так понятнее.

По точно такому же принципу реализован фреймворк “Сore13” для той самой Attiny13a. В папке ардуиновского фреймворка, помимо файлов с кодом реализованных под Attiny13a ардуиновских команд, можно найти файлы настроек boards.txt и platform.txt. В первом, как я понял, прописаны свойства микроконтроллера и значения фьюзов, во втором — параметры и команды для компиляции и прошивки. Думаю, при особых навыках по подобию такого фреймворка можно без проблем сделать свои собственные и для других типов микроконтроллеров.

До всего вышеописанного я догадался, когда мне нужно было реализовать прием данных по UART. Реализация программного UART для микроконтроллера Attiny13a была взята из интернета в виде сишных файлов и помню, выдавало ошибки, когда я пытался код main.c перенести в файл проекта .ino с подключенными файлами заголовков из той же директории. Arduino IDE требует в проекте обязательное наличие файла проекта .ino и, помню, он ругался, когда я пытался сделать из .ino строгое подобие main.c. В этом случае самым удачным решением было оставить этот файл пустым и работать с сишными файлами (.c, .h). Как итог я обнаружил, что компилятор в таком случае подхватывал только сишные файлы. Да, дополнительные файлы тоже будут включены, но неиспользуемые файлы при конечной компиляции, как и в случае с ардуино, будут проигнорированы.

Для сравнения почему бы не скомпилировать “блинк” из представленной выше статьи в этих двух IDE? В общем:

Arduino IDE:

Atmel Studio:

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

Все же можно без проблем в файле .ino писать сишный код, но у меня, помню, возникали некоторые проблемы с подключением других сишных файлов (заголовков) и как итог — содержимое моих проектов в Arduino IDE для Attiny13 состоит из файлов main.c, других , .h и обязательного, но не нужного мне файла .ino. В этом случае файл с расширением .ino вы можете либо оставить пустым, либо вносить в него заметки, комментарии, как это делаю я.

В итоге приходим к тому, что нет разницы, через что компилировать прошивку и прошивать микроконтроллер. Но есть разница, какое IDE все же использовать для кодинга и отладки! Вопрос удобства разработки далеко не на последнем месте и тут уже зависит от потребностей человека. Если он профессионально занимается программированием микроконтроллеров, реализует достаточно сложные алгоритмы, то тут действительно необходим Atmel Studio, т.к. он имеет весьма широкие возможности в плане инструментов, вариантов отладки, по сравнению с достаточно бедной Arduino IDE.

В общем так как в начале этой статьи я написал про выбор IDE, то давайте в заключение попробую ответить на вопрос “А что же можно выбрать?”, исходя из того, что я знаю. Ни на чем не настаиваю, но вдруг это кому-то поможет. Я могу не знать обо всем многообразии IDE и если упустил что-то действительно важное, вы всегда можете написать это важное в комментариях. В своих представлениях я все же попробую обобщить IDE в группы и предоставить описание в общих чертах. В итоге мои сформированные представления о том, что можно выбрать, делятся на всего 4 пункта. Поехали!

1. Для профи, новичков и любителей, которые хотят стать профи, просто любителей, для коммерческих проектов и тому подобное. Да, сюда можно отнести что угодно, но я имею в виду именно Atmel Studio и ему подобные среды, которые именно специализированы под разработку программ для микроконтроллеров. “Ему подобные среды” — это, например, IAR Embedded Workbench, CodeVision, уже устаревший WINAVR.

2. Для ардуинщиков, ютуберов DIYщиков, просто DIYщиков, новичков ардуинщиков. В общем для всех. В основном и для тех, кому жалко ардуинки на маленькую программку типа “умный светильник” и прочее, для тех, кому не нужно парится с оптимизацией кода, вполне хватит одной Arduino IDE и для ардуинок, и для AVR микроконтроллеров семейства Tiny или других семейств. Ведь помимо фреймворка для ATtiny13 можно без проблем найти фреймворки и для других микроконтроллеров семейства Tiny. Например, здесь. Или самому написать.

3. Для любителей, профи, просто DIYщиков, но скорее всего уже не для всех. В общем знакомый мне подсказал, что для Visual Studio Code для работы с микроконтроллерами существуют специальные плагины. Я где-то также увидел, что что-то подобное есть и в Sublime Text. В общем подобные связки сторонних IDE со специальными плагинами — очень удобная штука в разработке и пожалуй это то, что я скорее всего буду использовать в дальнейшем при работе с микроконтроллерами.

4. Для ТруЪ Программистов, истинных профи! Простой текстовый редактор, компилятор avr gcc и avrdude. И все! И это вроде даже и не шутка, когда-то давно примерно так это все и делалось. Уверен, что такие люди до сих пор есть.

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

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

Кстати для тех же, кто знает про ардуиновские команды, прописанные в cores\arduino\ и при этом утверждают, что это все равно считается ардуиновским языком, могу лишь сказать, что если вы в C или в C++ переопределите фигурные скобочки в begin и end, языки от этого не превратятся в паскаль. Один из результатов такого переопределения — горящие жопы людей, читающих ваш код. Впрочем, это уже совсем другая история…

 12.09.2020 

Программируем Attiny 13, 13а и 85 через Ардуинку (Arduino) (видео)

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

Attiny 13 и 13а микроконтроллеры

 В общем, не буду приводить даташиты и очень подробно расписывать, что и где. В целом у микроконтроллера несчастных 8 ножек, само собой две это питание 4 и 8. 4 аналоговых выхода-входа, пару ШИМ ножек, и на всех них навешано еще дополнительных функций. Лучше обратиться к картинке.

* — надо обратить внимание, что PB1, PB2 и т.д. совсем не соответствует физическим ножкам 1, 2 и т.д.. Это надо помнить, подключая и программируя Тиньку.

 Собственно на этой картинке показано даже как подключается Ардуино к Аттини во время ее программирования. Смотрите синие метки.

Как залить скетч для программирования через Arduino

Сам же скетч для того, чтобы Ардуино стала нашим программатором, залит прямо уже в оболочке программы Arduino. То есть подключаем Ардуино и заливаем скетч-программатора. Для наглядности тоже картинка. Именно кликнув по этому пути и можно будет залить скетч для программирования Attiny

Если выдает ошибку, то заливаем загрузчик через примеры вот так… (тоже самое, но другим путем)

Появляется (открывается новое окно) скетч из примера, его и льем в Ардуинку.

* — почитайте в скетче комментарии на английском, там могут быть ограничения по частоте работы для различных микроконтроллеров. Это надо учитывать при последующей заливке.

Теперь Ардуинка это уже не Ардуинко, а ISP программатор, который как раз работает через Ch440, именно через эту микросхему все программируется и она встречается в других программаторах ISP. Осталось лишь вместо встроенного 328 контроллера подключить Attiny 13.

Установка плат микроконтроллеров Attiny 13, 13a, 85 в программную среду Arduino

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

Теперь подключаем уже наш микроконтроллер согласно ножек в картинке выше, — синие метки. А сама принципиальная схема будет таковой.

Затем как все собрали, выбираем плату attiny13 в Инструменты>Платы>ATtiny13. (частота 128 Khz) В итоге можно заливать стандартные скетчи, надо лишь указывать правильные ножки и понимать, что функции для Аттини 13 ограничены.

Если что-то не получается залить из скетчей, то это вполне возможно из-за того, что такие функции не поддерживаются. Доступны:

pinMode()
digitalWrite()
digitalRead()
analogRead()
analogReference(INTERNAL) / (EXTERNAL)
shiftOut()
pulseIn()
analogWrite()
millis()
micros()
delay()
delayMicroseconds()

Собственно о наладке Ардуино для программирования Аттини 13, на этом всё! Далее поле вашего творчества будет лишь ограничиваться фантазиями и возможностями по их реализации.

Установка платы микроконтроллера Attiny 85

Первоначально необходимо скачать архив ВОТ ЭТОТ и залить по аналогии с тем, о чем я уже говорил, в папку hardware. Схемотехника подключения один в один как для 13 серии.

Если так не получилось, то делаем по-другому. Выбираем в меню вкладки Файл>Настройка и вставляем вот эту ссылку — https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json в окно «Дополнительные ссылки для менеджера плат». После переходим в менеджер плат и там выбираем плату «attiny by Davis A. Mellis», она должна быть в самом низу. Устанавливаем ее и у нас появляются нужные нам микроконтроллеры.

Потом выбираем нужную плату.

Делаем последние настройки по выбору и все… После этого у меня все прекрасно заливалось в Аттиньку 85.

Атинька 85 перед 13 имеет ряд преимуществ. Во-первых, это больший объем памяти, что важно для «больших» проектов. Но самое главное, как мне кажется, это поддержка канала I2С, это значит что гипотетически к ней уже можно подключать экраны для отображения информации, хотя я этого не проверял. Если кто-то подключал то, отпишитесь так ли это?

 

 

Возможные проблемы при программировании и подключении Attiny 13, 13а, 85 

 

Как мы видим на картинке выше, у микроконтроллера ATtiny13, 6 портов ввода-вывода (PB0 – PB5) и 2 ножки по питанию (VCC, GND).

Однако, первая ножка микроконтроллера Attiny13 (а именно программный порт PB5), по умолчанию не порт ввода-вывода, а сброс (Reset) микроконтроллера.

Да, его можно переключить в порт ввода-вывода специальным фьюз битом (RSTDISBL), но тогда микроконтроллер не будет поддерживать внутрисхемное программирование (по SPI интерфейсу). 

Не устанавливаете без надобности фьюз бит RSTDISBL, в противном случае ваш микроконтроллер перестанет программироваться по SPI интерфейсу (внутрисхемное программирование).

Ну и еще один трабл связанный с этим же фактом, то есть если вы вдруг повесите на 1 физическую ножку скажем подтягивающий резистор в 10кОм (или светодиод), как для входа (выхода), а использовать его не будете для этих целей, то микроконтроллер будет постоянно перезагружаться и работать не будет. Это уже относится к схемотехнике, а не программированию. В общем первую ножку лучше оставить в покое…

АмперВольтметр на attiny13 — Микроконтроллеры и Технологии

Этот проект возник из любопытства – что мы можем сделать на таком маленьком микроконтроллере? Оказывается, много чего. В этом проекте микроконтроллер будет измерять напряжение, ток и температуру, пересчитывать их и выводить на ЖК дисплей формата 16×1. Несмотря на необычные решения, и несколько недостатков, его также можно использовать как измеритель напряжения питания. Размеры печатной платы составляют 35 × 16 мм.

Дисплей использует 6 контактов, поэтому вывод RESET придется сконфигурировать как обычный порт ввода/вывода. Это следует делать ПОСЛЕ программирования. Измерение напряжения осуществляется с помощью резистивного делителя. Измерения в диапазоне от 0 до 99.9 В выполняются с точностью 0.1 В. Ток измеряется путем измерения падения напряжения на шунтирующем резисторе сопротивлением 0.1 Ом. Диапазон измерения составляет от 0 до 9.99 А, точность 0.01 А. Температура измеряется с помощью аналогового датчика LM35 в диапазоне от 0 до 99.9 °С с точностью 0.01 °С. В качестве о напряжения для АЦП используется внутренний источник опорного напряжения микроконтроллера ATtiny13, его напряжение составляет 1.1 В. Таким образом, для измерения тока нам не придется использовать операционный усилитель (и отрицательное напряжение питания для него), а вычисления становятся гораздо проще.

 

Такому простому устройству свойственны небольшие недостатки. Измерение происходит на тех же самых выводах, по которым передаются данные для ЖК-дисплея, а выводам дисплея требуется ток около 80 мкА, чтобы подтянуть их к земле. Резистор сопротивлением 100 Ом в резистивном делителе плохо справляется с этой функцией, и на нем остается около 7 мВ относительно земли. Эти 7 мВ просто вычитаются из результата измерений, из за чего возникает погрешность и результат измерений получается нелинейным. Эта погрешность наиболее сильно проявляется в диапазоне измеряемых напряжений от 0 до 5 В.

Помните, что для измерения больших токов и напряжений мощности шунтирующего и добавочного резисторов должны быть соответствующими. Устройство калибруется с помощью двух подстроечных потенциометров. Контраст ЖК дисплея не регулируется, он задан с помощью двух резисторов, получаемое напряжение равно приблизительно 1 В. Большинство ЖК дисплеев хорошо работают с этим напряжением, но при желании вы можете установить свое значение. Ток измеряется относительно шины земли. Земля источника питания соединяется с землей на плате. Шунтирующий резистор подключается между землей (на схеме GND) и входом -V. Если вы захотите запитать это устройство от источника измеряемого напряжения, просто подключите вход стабилизатора напряжения ко входу +V. Не забывайте, что максимальное напряжение, которое вы можете подать на вход стабилизатора 7805, составляет 30 В. Таким образом, если вы захотите измерять более высокие напряжения или измерять напряжение в диапазоне от 0 В, понадобится отдельный источник питания для устройства. В этом случае перережьте дорожку под потенциометром калибровки напряжения, измеряемое напряжение подключите к контакту +V, а затем подключите источник питания к контакту ZAS на плате.

Плата спроектирована так, чтобы разместить на ней стабилизатор 7805 в корпусе TO252, но на ней можно без проблем поставить микросхему 78L05 в корпусе TO92. Общий ток, потребляемый устройством, включая подсветку ЖК-дисплея, составляет около 30 мА, так что стабилизатора 78L05 вполне хватит.

Диапазон измеряемых напряжений : 0 — 99 Вольт, с дискретностью 0,1 Вольт

Диапазон измеряемого тока : 0 — 9,9 Ампер (С шунтом 0,1 Ом)

Диапазон измеряемых температур : 0 — 99° С, с дискретностью 0,1° С

Программирование: порт сброса (reset) микроконтроллера должен быть запрограммирован как обычный порт (fuse RSTDISBL). Внимание! При установке бита RSTDISBL=0, дальнейшее программирование микроконтроллера с помощью ISP будет невозможным. Восстановить заводскую конфигурацию микроконтроллера можно с помощью этого устройства. Остальные FUSE — биты по умолчанию.

В архив добавлен файл tiny13lcd_9_64-sample, это обновленная версия программы для микроконтроллера, производящая 64 измерения и отображающая их среднее значение.

Источник: elektroda.eu


Архив для статьи «АмперВольтметр на attiny13»
Описание:
Размер файла: 74.18 KB Количество загрузок: 6 061 Скачать

ATtiny13 программатор

Программирование микроконтроллера AVR ATtiny13 в среде Arduino и с помощью программы avrdude.

В качестве программатора микроконтроллера ATtiny13 будем использовать плату Arduino UNO как описано в следующей статье ISP Программатор микроконтроллеров ATtiny из Arduino или самодельный программатор USB программатор своими руками на ATmega8. Для работы с микроконтроллером ATtiny13 в среде разработки Arduino, программу Arduino необходимо настроить, читайте Микроконтроллеры ATtiny в среде разработки Arduino. 

Воспользовавшись описанием микроконтроллера ATtiny13 (datashit) ATtiny13A, нарисуем схему подключения ATtiny13 к программатору:

Подключите программатор ATtiny13 к компьютеру, в среде разработки Arduino выберите меню:

  1. / /
  2. / /
  3. /

Таким образом, вы настроили программу Arduino и уже прошили фьюз биты микроконтроллера ATtiny13. В Arduino установить необходимые параметры микроконтроллера ATtiny13 (фьюзы) можно вручную в файле …arduino/hardware/…/boards.txt

С помощью программы Arduino программу на AVR-C (скетч, прошивку) заливают в микроконтроллер нажатием на кнопку Загрузить с помощью программатора. Нажатие на кнопку Загрузить с помощью программатора в программе Arduino запускает следующие программы командной строки (в Linux):

  1. avr-g++
  2. avr-ar
  3. avr-gcc
  4. avr-objcopy
  5. avrdude

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

Загрузка фьюзов и прошивок в м-к ATtiny13 с помощью программы avrdude.

Avrdude — утилита командной строки, предназначенная для загрузки двоичных файлов микропрограмм в микроконтроллер с использованием программатора. Руководство по avrdude: man avrdude руководство пользователя.

С помощью следующей команды Вы установите фьюзы микроконтроллера ATtiny13 в старший 0xFF, 0x7A младший:

avrdude -C/home/dior/ProgramFiles/arduino-1.0.6/hardware/tools/avrdude.conf -v -v -v -v -pattiny13 -cstk500v1 -P/dev/ttyUSB0 -b19200 -e -Uhfuse:w:0xff:m -Ulfuse:w:0x7a:m

Следующая команда загрузит двоичный файл Blink01_ATtiny13.cpp.hex в микроконтроллер ATtiny13:

avrdude -C/home/dior/ProgramFiles/arduino-1.0.6/hardware/tools/avrdude.conf -v -v -v -v -pattiny13 -cstk500v1 -P/dev/ttyUSB0 -b19200 -Uflash:w:/tmp/build481490467907776681.tmp/Blink01_ATtiny13.cpp.hex:i

Программируемый мигающий светодиод на микроконтроллере Attiny13

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

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

Описание работы мигающего светодиода

Фоторезистор применен в качестве входного датчика для обнаружения изменения освещения. Он подключен  к АЦП (аналого-цифровой преобразователь) порту микроконтроллера Attiny13.

 

Устройство имеет два режима работы: программирование последовательности мигания и  воспроизведение записанной последовательности.

Силиконовый коврик для пайки

Размер 55 х 38 см, вес 800 гр….

Если контроллер обнаруживает короткие световые изменения (темно, светло, темно или наоборот), он переключается в режим программирования. Он записывает световую комбинацию мигания продолжительностью до 10 секунд, с частотой выборки  40 Гц.  Затем он переключается в режим воспроизведения и воспроизводит записанную последовательность мигания светодиода.

Чтобы сделать схему как можно проще, в устройстве применен внутренний генератор.  Внутренний генератор контроллера позволяет работать на частоте 1,2МГц, которая является более чем достаточной.

Если в схеме использовать  другой светодиод или иное напряжение питания, то следует изменить сопротивление резистора R2. Его сопротивление можно рассчитать по следующей формуле:

R2 = (Uпит. – Uled) / 0,002А

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

R2 = (Uпит. – 2*Uled) / 0,002А

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

Скачать прошивку (1,1 MiB, скачано: 2 570)

Источник: www.instructables.com

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

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

 

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

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

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

 

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

 

Сигналы ШИМ

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

 

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

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

 

Серводвигатель управляется широтно-импульсной модуляцией (ШИМ) или посылкой электрического импульса переменной ширины по проводу управления.Будет частота повторения, минимальный импульс и максимальный импульс. Серводвигатель может повернуться на 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 — ATtiny13 контакт 4
  • Arduino контакт 13 – ATtiny13 контакт 7
  • Arduino контакт 12 – ATtiny13 контакт 6
  • Arduino контакт 11 – ATtiny13 контакт 5
  • Arduino контакт 10 – ATtiny13 контакт 1

 

 

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

 

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

 

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

 

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

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

 

Теперь в Arduino IDE перейдите к Tools>>Board>>Boards Manager

 

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

 

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

 

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

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

 

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

 

Необходимые компоненты
  • Микроконтроллер ATtiny13
  • Серводвигатель
  • Потенциометр
  • Батарея +5В
  • Arduino IDE
  • Соединительные провода

 

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

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

 

Внизу соединения

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

 

 

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

 

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

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

Чипы серии ATtiny13 — чрезвычайно дешевые и полезные чипы для небольших проектов, которым не нужен полноценный Arduino, но из-за очень устаревших руководств и недостатка информации мне потребовалась большая часть дня, чтобы понять, как программировать они с Arduino IDE.

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

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

Необходимое оборудование

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

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

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

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

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

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

Arduino____________ATtiny13(a)

5В——————————Контакт 8

Земля ———————— Контакт 4

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

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

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

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

Шаг 3: Настройка Arduino в качестве интернет-провайдера

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

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

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

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

Теперь перейдите на панель инструментов и нажмите «Диспетчер досок…». Теперь прокрутите вниз, пока не увидите DIY ATtiny , и нажмите кнопку установки (по умолчанию будет установлена ​​самая новая версия).

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

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

Важное примечание: Вы должны убедиться, что ваш программатор настроен как « Arduino как ISP »

Шаг 6: Программирование микросхемы

Вы на финишной прямой! Чтобы убедиться, что все работает, давайте загрузим скетч мигания в ATtiny.Перейдите к Files-Examples-Basics и выберите Blink .

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

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

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

Шаг 7. Устранение неполадок

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

• Дважды проверьте все соединения и ориентацию ATtiny и светодиода.
• Повторно загрузите скетч ArduinoISP в Arduino.
• Подключите электролитический конденсатор 10 мкФ между землей и сбросом на вашем Arduino. Убедитесь, что подключите конденсатор в правильной ориентации, минус идет на землю.
• Подключите любой большой конденсатор между 5 В и землей на макетной плате, это поможет сгладить скачки напряжения.
• Убедитесь, что к плате Arduino, которая программирует ATtiny, поступает достаточно энергии, 9-вольтовая батарея может не работать.
• Замените свой Arduino на другой Arduino
• Убедитесь, что вы используете последнюю версию IDE и последние файлы ядра
• Нажмите на инструменты и убедитесь, что выпадающее меню выглядит так же, как меню, показанное на Шаг «Записать загрузчик». Если что-то отличается, измените это и перезапишите загрузчик.

Источник: Обновленное руководство по программированию Attiny13a или 13 с помощью Arduino IDE

ATtiny13 Microcontroller: Pinout, Datasheet, Programming [Video]

ATtiny13 представляет собой маломощный CMOS 8-разрядный микроконтроллер , основанный на усовершенствованной RISC-архитектуре AVR.

 

Это вводная статья о ATtiny13, 8-битном микроконтроллере, после прочтения вы узнаете о распиновке ATtiny13, функциях, его альтернативах, отличии от ATtiny13a, о том, как его программировать и т. д. Оставайтесь с нами, ребята!

В этом обучающем видео подробно показано, как программировать ATtiny13 с помощью Arduino.


Каталог


ATtiny13 Описание

ATtiny13 представляет собой 8-разрядный КМОП-микроконтроллер с низким энергопотреблением, основанный на улучшенной RISC-архитектуре AVR.Он имеет 8 контактов, 6 из которых могут использоваться как контакты ввода-вывода. Выполняя мощные инструкции за один такт, ATtiny13 достигает пропускной способности, приближающейся к 1 MIPS на МГц, что позволяет разработчику системы оптимизировать энергопотребление в зависимости от скорости обработки.

 

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

 

Работает в широком диапазоне напряжений, от 1.8В до 5,5В. В результате его можно использовать в операциях логического уровня при напряжении 1,8 В, 3,3 В или 5,0 В. С другой стороны, входное напряжение 1,8 В для ATtiny13V поддерживает работу в диапазоне 0–4 МГц. Для частот до 10МГц минимальное напряжение для ATtiny13 2,7В, а для частот до 20МГц минимальное напряжение 4,5В-5,5В.


Распиновка ATtiny13

Микроконтроллер ATtiny13 AVR Распиновка микроконтроллера ATtiny13 AVR

 

Номер контакта Название контакта Описание
1 (PCINT5/СБРОС/ADC0/dW)PB5 Контакт порта B, бит 5, или входной канал АЦП 0, или ввод-вывод debugWIRE, или прерывание смены контакта 0, источник 3 или контакт сброса, в основном используемый для программирования
2 (PCINT3/CLKI/ADC3) PB3 Контакт двунаправленного ввода-вывода порта B, бит 3, или входной канал АЦП 3, или вход внешнего тактового сигнала, или прерывание смены контакта 0, источник 3
3 (PCINT4/ADC2) PB4 Контакт двунаправленного ввода-вывода порта B, бит 4, или входной канал АЦП 2, или прерывание смены контакта 0, источник 4
4 ЗЕМЛЯ Контакт заземления MCU
5 PB0 (MOSI/AIN0/OC0A/PCINT0) Контакт двунаправленного ввода-вывода порта B, бит 0, или SPI MOSI, используемый для программирования, или аналоговый компаратор +, или прерывание по смене контакта 0, источник 0 или таймер/счетчик 0, сравнение Match A Out
6 PB1(MISO/AIN1/OC0B/INT0/PCINT1) Контакт двунаправленного ввода/вывода порта B, бит 1 или вход аналогового компаратора — или вход внешнего входа 0, или выход совпадения таймера/счетчика 1 с выходом B, или изменение контакта Прерывание 0, источник 1 или SPI MISO, используемый для программирования
7 PB2 (SCK/ADC1/T0/PCINT2) Контакт двунаправленного ввода-вывода порта B, бит 2, или входной канал АЦП 1, или источник тактового сигнала таймера/счетчика 0, или вход последовательного тактового сигнала, или прерывание по смене контакта 0, источник 2 или вход внешнего тактового сигнала, используемый для программирования
8 ВКЦ Положительный контакт MCU (+5 В)

Характеристики ATtiny13

  • Высокопроизводительный 8-разрядный микроконтроллер AVR® с низким энергопотреблением
  • Расширенная архитектура RISC

          – 120 мощных инструкций – выполнение самого большого цикла за один такт

          – 32 x 8 рабочих регистров общего назначения

          – Полностью статическая операция

         – Пропускная способность до 20 MIPS на частоте 20 МГц

  • Сегменты долговременной энергонезависимой памяти

        – 1 Кбайт внутрисистемной самопрограммируемой флэш-памяти программ

        – 64 байта EEPROM

        – 64 байта внутренней SRAM

        – Циклы записи/стирания: 10 000 Flash/100 000 EEPROM

        – Срок хранения данных: 20 лет при 85°C/100 лет при 25°C (см. стр. 6)

        – Блокировка программирования для самопрограммирования флэш-памяти и безопасности данных EEPROM

       – Один 8-разрядный таймер/счетчик с предварительным делителем и двумя каналами ШИМ

       – 4-канальный 10-разрядный АЦП с внутренним опорным напряжением

       – Программируемый сторожевой таймер с отдельным встроенным генератором

       – Встроенный аналоговый компаратор

  • Специальные функции микроконтроллера

       – Встроенная система отладки debugWIRE

       – внутрисистемное программирование через порт SPI

       – Внешние и внутренние источники прерываний

       – Режимы ожидания с низким энергопотреблением, шумоподавления АЦП и отключения питания

       – Усовершенствованная схема сброса при включении питания

       – Программируемая схема обнаружения пониженного напряжения

       – Внутренний калиброванный осциллятор

       – 8-контактный разъем PDIP/SOIC: шесть программируемых линий ввода/вывода

       – 20-контактный MLF: шесть программируемых линий ввода-вывода

       – 1.8 — 5,5 В для ATtiny13V

       – 2,7–5,5 В для ATtiny13

       – ATtiny13V: 0–4 МГц при 1,8–5,5 В, 0–10 МГц при 2,7–5,5 В

       – ATtiny13: 0–10 МГц при 2,7–5,5 В, 0–20 МГц при 4,5–5,5 В

  • Промышленный температурный диапазон
  • Низкое энергопотребление

       – Активный режим:

       – Режим отключения питания:

       < 0,1 мкА при 1,8 В


ATtiny13 Параметр

Производитель: Технология микрочипов
Серия: AVR® ATтини
Упаковка: Трубка
Статус детали: Активный
Базовый процессор: АВР
Размер ядра: 8-битный
Скорость: 10 МГц
Возможность подключения:
Периферийные устройства: Обнаружение/сброс пониженного напряжения POR PWM WDT
Количество входов/выходов: 6
Объем памяти программ: 1 КБ (512 x 16)
Тип памяти программ: ФЛЭШ
Размер ЭСППЗУ: 64 х 8
Размер ОЗУ: 64 х 8
Напряжение питания (Vcc/Vdd): 1.8 В ~ 5,5 В
Преобразователи данных: A/D 4x10b
Тип осциллятора: Внутренний
Рабочая температура: -40°C ~ 85°C (ТА)
Тип крепления: Сквозное отверстие
Упаковка/футляр: 8-DIP (0,300 дюйма, 7,62 мм)
Упаковка устройства поставщика: 8-ПДИП
Номер базовой детали: АТТИНИ13

Блок-схема ATtiny13


Альтернатива ATtiny13

  • ATtiny2313A (Точная альтернатива новой версии)
  • АТтини417
  • АТтини28Л
  • АТтини48
  • ATmega88PA
  • ATmega8A
  • ATmega8515
  • ATmega8535
  • ATmega645A
  • ATmega6490

ATtiny13 против ATtiny13a

АТтини13а

AVR

класса A — это незначительные улучшения по сравнению с предыдущей итерацией; эти улучшения варьируются от чипа к чипу, например.г. разница между ATtiny2313 и ATtiny2313A отличается от разницы между ATmega128 и ATmega128A.

 

Чтобы быть более точным, ATtiny13 является оригинальной версией и использует другой технологический процесс, чем ATtiny13A. Детали с суффиксом A изготавливаются с использованием процесса с низким энергопотреблением, продаваемого как «picoPower», и основное отличие состоит в том, что они обычно потребляют меньше энергии при том же напряжении и частоте.

          

Что касается различий с точки зрения совместимости кода, я не вижу причин, по которым ATtiny13A не был бы совместим по коду и двоичному коду с программами, написанными для ATtiny13.Однако обратное не совсем так: хотя наборы команд и большинство периферийных устройств идентичны, ATtiny13A имеет дополнительные регистры PRR (регистр снижения мощности) и BODCR (регистр управления детектором снижения мощности).


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

Микроконтроллеры AVR можно программировать с помощью различных вариантов программного обеспечения, доступных на рынке. Некоторые люди продолжают программировать микроконтроллеры AVR на языке ассемблера. Информация, представленная ниже, относится к самому передовому и широко используемому программному обеспечению и компилятору, разработанному Atmel (теперь Microchip).

 

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

 

IDE: Atmel Studio 7

Компилятор: наборы инструментов AVR и ARM

 

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

 

Нам понадобится устройство под названием ATAtmel-ICE, чтобы выгрузить или загрузить наш код в AVR. Программатор/отладчик ATAAtmel — ICE представляет собой простой внутрисхемный отладчик, которым управляет ПК с запущенной Atmel Studio на платформе Windows. Программатор/отладчик ATAAtmel-ICE является важным инструментом в наборе инструментов инженера-разработчика. Схема программирования ATtiny13 изображена на диаграмме ниже.

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


Пакет ATtiny13


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

Microchip Technology Inc. — ведущий поставщик микроконтроллеров и аналоговых полупроводников, обеспечивающий разработку продуктов с низким уровнем риска, более низкую общую стоимость системы и более быстрый вывод на рынок тысяч разнообразных клиентских приложений по всему миру.Компания Microchip со штаб-квартирой в Чандлере, штат Аризона, предлагает превосходную техническую поддержку наряду с надежной доставкой и качеством.


Спецификация компонентов

ATtiny13A — документация PlatformIO v5.2

Платформа

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

.

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

АТТИНИ13А

Частота

9 МГц

Вспышка

1 КБ

ОЗУ

64Б

Поставщик

Микрочип

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

 [окружение: attiny13a]
платформа = atmelavr
доска = attiny13a
 

Вы можете переопределить настройки ATtiny13A по умолчанию для каждой среды сборки, используя board_*** вариант, где *** — путь к объекту JSON из Манифест платы attiny13a.json. Например, board_build.mcu , board_build.f_cpu и т. д.

 [окружение: attiny13a]
платформа = atmelavr
доска = attiny13a

; поменять микроконтроллер
board_build.mcu = attiny13a

; изменить частоту микроконтроллера
доска_сборка.f_процессор = 9600000L
 

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

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

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

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

ATtiny13A имеет встроенный датчик отладки, а IS READY для отладки.Вам не нужно использовать/покупать внешний отладочный зонд.

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

Бортовой

По умолчанию

Симавр

Да

Да

Имя

Описание

Ардуино

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

ATTiny13 в Arduino IDE

Да, это немного безумно, 8-битный AVR-микроконтроллер ATTiny13 имеет ошеломляющие 64 БАЙТА оперативной памяти, и здесь мы используем Arduino IDE для его программирования, но да, вы может это сделать, и вы также можете делать в нем кое-что полезное (для разных определений слова «полезный»).

В качестве примера, вот проект Candle Flickering LED, который я сделал с помощью ATTiny13 в Arduino IDE

.

Скажи мне, Джеймс, как мне сделать эти удивительные вещи с помощью ATtiny13 в Arduino?!

Легко, используя мое специально созданное ядро ​​Arduino, настроенное для Tiny 13, вы действительно можете многое сделать с этим маленьким чипом, вы даже можете делать такое волшебство, как последовательная связь или музыка Tone(), в 1 КБ, всего за 64 байта оперативной памяти, и все это в Arduino IDE с использованием (относительно) стандартных соглашений о программировании Arduino!

Автоматическая установка с помощью Board Manager (рекомендуется)

Распиновка Arduino (распределение контактов)

Вот сопоставление выводов Arduino для ATtiny13, реализованное моим ядром (другие ядра могут отличаться)

Примеры

Ряд примеров доступен в Файл > Примеры > ATTinyCore > Tiny13, которые помогут вам разобраться в особенностях написания кода для Tiny13.

Старая информация Core13 ниже, игнорируйте, если вы действительно не заинтересованы

Core13 был сторонним ядром для более ранних IDE Arduino, в которых была поддержка Tiny13, оно значительно превосходит вышеперечисленное, не используйте его, информация оставлена ​​для любопытных.

Приведенная ниже загрузка представляет собой «Core13», который я использовал, и файл определения оборудования, откройте ZIP, и вы найдете README.TXT, чтобы рассказать вам, как установить файлы в вашу Arduino IDE.

Загрузите версию Arduino Core13 Джеймса для ATTiny13 с его файлами boards.txt здесь

Сопоставление контактов Arduino для Core13

Для аналоговых контактов необходимо использовать номер АЦП, для цифровых контактов — номер PB (без PB).

Поэтому сопоставления для большинства целей примерно такие, как для версии DIP или SOIC ATTiny13…

1 СБРОС (или, если отключено, D5, A0) ВКЦ 8
2 Д3, А3 Д2, А1 (СКК) 7
3 Д4, А2 Д1 (МИСО) 6
4 ЗЕМЛЯ Д0 (МОСИ) 5

Например, AnalogRead(1) получает значение от контакта 7 микросхемы, а digitalRead(0) получает значение от контакта 5 микросхемы.

Как мне запрограммировать ATtiny13 с помощью Arduino Uno? – Firstlawcomic.com

Как запрограммировать ATtiny13 с помощью Arduino Uno?

Содержание

  1. Программирование ATtiny13 с помощью Arduino Uno.
  2. Превратите Arduino в AVRISP.
  3. Установите аппаратный пакет для ATtiny13.
  4. Подключите оборудование.
  5. Настройки Arduino IDE.
  6. Записать загрузчик.
  7. Загрузить скетч.
  8. Демо.

Как использовать ATtiny13?

Для этого нужно выполнить два шага: во-первых, перейдите в Tools-Board и выберите ATtiny13, а во-вторых, нажмите кнопку «Записать загрузчик» в нижней части раскрывающегося меню инструментов.Обратите внимание на версию ATtiny, перейдите в Tools-Processor Version и выберите ATtiny13 или ATtiny13a в зависимости от вашего чипа.

Как добавить ATtiny13A в Arduino IDE?

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

Как загрузить коды в ATtiny?

2.Запрограммируйте ATtiny85 с помощью Arduino

.
  1. Войдите в IDE Arduino в меню Tools > Board.
  2. Выберите вариант под надписью ATtiny25/45/85.
  3. В разделе Инструменты выберите Процессор: ATtiny85 и Часы: Внутренние 1 МГц.
  4. Измените настройку программатора на USBtinyISP.
  5. Когда вы будете готовы к загрузке, подключите ATtiny85 к специальному разъему.

Как записать программу в Arduino Uno?

После подключения перейдите в «Инструменты» > «Плата» и выберите «Arduino Uno» в качестве платы целевого Arduino.После этого нажмите «Записать загрузчик» в меню «Инструменты», программатор ISP начнет записывать загрузчик в целевую Arduino. Обычно для завершения записи загрузчика требуется несколько минут.

Как добавить платы Attiny в Arduino IDE?

Шаг 2. Установите пакет ATtiny Board

  1. В Arduino IDE перейдите в Инструменты–> Плата–> Диспетчер плат.
  2. Откроется новая вкладка и в верхней части вкладки введите: attiny.
  3. Выберите «Установить на Attiny» Дэвида.Меллис.
  4. Перезапустите IDE Arduino.
  5. Теперь необходимо добавить плату ATtiny85! Перейдите в Инструменты->Плата->Attiny85.

Есть ли у Attiny I2C?

Стандартную библиотеку Arduino нельзя использовать для I2C на Attiny, так как она вызывает «Wire. h’, и этот не совместим с Attiny. Библиотека «NewLCD» от Франсиско Мальпартиды — моя любимая библиотека, но она также не может использовать I2C для Attiny, потому что она обращается к библиотеке Wire.

Как записать загрузчик Uno?

  1. Снова подключите плату программатора к компьютеру.
  2. Нажмите: Инструменты > Записать загрузчик. В случае успеха в нижней части Arduino IDE появится следующее подтверждающее сообщение: Обратите внимание, что вы также можете подключить платы с помощью контактов ICSP на каждой плате, так как они соединены с соответствующими контактами ввода-вывода.

Как записать ATmega328P?

Запись загрузчика за 5 простых шагов:

  1. Шаг 1 – Установка мини-ядра.Установите «Mini-core» аппаратный пакет, который добавляет поддержку ряда устройств ATmega в Arduino IDE.
  2. Шаг 2 — Установка ArduinoISP.
  3. Шаг 3 – Подключение.
  4. Шаг 4 – Выберите свое устройство, кристалл и программатор.
  5. Шаг 5. Запишите загрузчик.

Как запрограммировать USB ATtiny85?

Первым шагом в программировании ATtiny85 является выбор платы в Arduino IDE. Перейдите в Инструменты → Доска: и выберите «Digispark (по умолчанию -16.5МГц)». Пользовательский светодиод подключен к PB1 ATtiny85. Чтобы мигать этим светодиодом, используйте следующий код.

Как установить attiny13 в Arduino IDE?

ISP означает «В системном программаторе») Откройте Arduino IDE -> Файл -> Примеры -> 11.ArduinoISP -> ArduinoISP и загрузите в Arduino 1. Установите аппаратный пакет для ATtiny13 Хорошо. 1.2 Откройте Arduino IDE -> Инструменты -> Плата -> Диспетчер плат. Найдите MicroCore и нажмите «Установить».

Как запрограммировать ATtiny 13?

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

Как установить Gogo DIY ATtiny на Arduino?

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

Как управлять серводвигателем с помощью потенциометра с attiny13?

Схема управления серводвигателем с помощью потенциометра с ATtiny13 приведена ниже. Подключите первый и третий контакты потенциометра к VCC и GND. Потенциометр подключается к контакту 7 (PB2) ATtiny13, а провод управления серводвигателя подключается к контакту 5 (PB0).

Совет по развитию ATTINY для ATtiny13A — ATtiny25 — ATtiny45

Политика покупки «Aafaq Asia Store»:

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

  • Перед подтверждением заказа клиент должен убедиться, что для каждого товара правильно выбраны нужные опции -если на странице товара разные опции-

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

Политика доставки и доставки «Aafaq Asia Store»:

  • Посылки будут отправлены на адрес клиента в течение 1-2 рабочих дней только после проверки действительности заказа.

  • Aafaq Asia Store имеет право выбрать подходящую транспортную компанию для отправки заказа клиента на его адрес, зарегистрированный в магазине, зная, что рабочая группа стремится выбрать самый быстрый способ доставки заказа в штат/регион клиента.

  • После отправки посылки команда Aafaq Asia отправит счет-фактуру и контактные телефоны транспортной компании на адрес электронной почты, зарегистрированный в магазине. чтобы клиент мог следить за своей отправкой.

Компенсационная политика «Aafaq Asia Store»:

  • Aafaq Asia Store обязан компенсировать клиенту товары, которые не доступны в его запросе, в размере 100% от стоимости продукта после или в течение периода отгрузки заказа.

  • Клиенту не будет компенсирована никакая сумма за любой продукт, который он выберет и не ознакомится с его подробностями и способом использования на странице продукта или на других интернет-страницах.

  • Клиент имеет право потребовать компенсацию за продукт, предоставленный вам вокруг вас, в течение семи дней после даты отправки накладной на его адрес, и он не имеет права требовать какой-либо компенсации по истечении семи дней. -Если продукт не имеет заводской гарантии-.

  • Претензии о компенсации не будут рассматриваться, если клиент использовал продукт или получил от него пользу. Aafaq Asia Store имеет право осмотреть товар, прежде чем соглашаться на компенсацию, чтобы убедиться в его хорошем состоянии.

  • Клиент не имеет права требовать компенсацию за товар в следующих случаях:

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

  • Если продукт состоял из видеокассет, компакт-дисков, компакт-дисков или используемых информационных программ.

  • Если продуктом являются газеты, журналы, публикации, книги или другие виды литературы.

  • При появлении дефекта товара из-за плохого владения клиентом.

  • Если в заказе речь идет о покупке программных продуктов для загрузки через Интернет.

Возврат и обмен «Aafaq Asia Store»:

  • Клиент имеет право открыть запрос на компенсацию из корреспонденции Центра обслуживания в течение семи дней с даты отправки накладной на его адрес, и он не имеет права требовать какой-либо компенсации по истечении семи дней -Если продукт имеет заводскую гарантию — на запрос компенсации будет дан ответ после его оценки рабочей группой, независимо от того, является ли компенсация купоном на покупку, финансовой компенсацией или возвратом и обменом — покупатель несет расходы по возврату продукта в магазин.

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

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