Attiny13A программирование: Прошивка и программирование ATtiny13 при помощи Arduino UPD 17.03.2016 / Хабр

Содержание

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

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

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

Чтобы устранить эту нехватку информации, в этой статье, я покажу вам, как программировать 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».

Теперь перейдите на Панель инструментов и нажмите «Диспетчер плат» … Теперь прокрутите страницу вниз до тех пор, пока вы не увидите 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.
• Подключите электролитический конденсатор 10 мкФ между землей и Reset на Arduino. Обязательно подключите конденсатор правильно, а отрицательный — к земле.
• Подключите любой конденсатор большой емкости между 5В и землей на макетной плате, это поможет сгладить любые всплески напряжения.


Attiny13 программирование

Войдите , пожалуйста. Хабр Geektimes Тостер Мой круг Фрилансим. Войти Регистрация. Уже давно появился способ программировать маленькие, дешёвые, экономичные к питанию и доступные микроконтроллеры ATtiny13A. Перезапускаем Arduino IDE если она запущена на данный момент, это нужно для того, чтобы среда добавила новый микроконтроллер в список плат.


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

Attiny13 программирование

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

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

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

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

По завершению появится ссылка для доступа к найденным материалам.

Содержание:

  • Подписаться на ленту
  • ATTiny13 – небольшой размер – хороший потенциал.
  • Прошивка и программирование ATtiny13 при помощи Arduino
  • Программирование микроконтроллеров AVR
  • ПРОГРАММИРОВАНИЕ Attiny2313
  • ПРОГРАММИРОВАНИЕ Attiny2313
  • Примеры программ на си для avr attiny13. Защита от дребезга
  • ATTiny13 на Arduino — программирование для начинающих

ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: ШИМ на Attiny 13, AVR, CodeVisionAvr

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


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

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

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

Но, как обычно, за всё приходится платить. Здесь тоже не обошлось без своих сложностей. Если купить новый МК, установить его в правильно собранную из исправных деталей схему и подать питание, то ничего не получится — устройство не будет работать. Микроконтроллеру нужна программа. Казалось бы с этим тоже всё просто — в интернете можно встретить множество схем с бесплатными прошивками. Но тут возникает одна загвоздка: прошивку необходимо как-то «залить» в микроконтроллер.

Для того, кто никогда этим раньше не занимался, такая задача зачастую становится проблемой и главным отталкивающим фактором, нередко заставляющим отказаться от прелестей использования МК и поискать схемы на «рассыпухе» и жесткой логике.

А ведь всё не так уж сложно, как может показаться на первый взгляд. Проанализировав публикации в интернете, можно заметить, что данная проблема решается чаще всего одним из двух путей: покупкой готового программатора или изготовлением самодельного. При этом публикуемые схемы самодельных программаторов очень часто неоправданно сложны — гораздо сложнее, чем это действительно необходимо. Конечно, если предполагается каждый день прошивать МК, лучше иметь «крутой» программатор.

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

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

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

Программная часть должна обеспечить работу алгоритма, управляющего всеми необходимыми процессами. Отметим также, что качество записи информации в МК не зависит от того, насколько «крутой» у вас программатор. Такого понятия, как «лучше записалось» или «хуже» не существует.

Есть только два варианта: «записалось» и «не записалось». Это объясняется тем, что непосредственно процессом записи внутри кристалла руководит сам МК. Нужно лишь обеспечить ему качественное питание отсутствие помех и пульсаций и правильно организовать интерфейс.

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

Что касается логических уровней, то в нашем случае TTL — это даже преимущество перед обычным COM-портом, потому что входы и выходы такого порта можно напрямую подключать к любому микроконтроллеру, питающемуся от напряжения 5 В, в том числе ATtiny и ATmega.

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

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

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

В этом случае воспользоваться программой не удастся — внесение в список недостающих МК, как правило, не предусмотрено.

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

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

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

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

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

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

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

Если вам попадется такой микроконтроллер, то метод, предлагаемый в данной статье, не поможет. В этом случае придется либо изменить настройки конфигурационных бит в программаторе, который поддерживает иной режим программирования, либо использовать другой микроконтроллер. Но данная проблема касается только бывших в употреблении МК, либо тех, с которыми уже кто-то неудачно «поигрался». Дело в том, что новые МК поставляются с настройками конфигурационных бит, не препятствующими использованию SPI.

Все они были новые. Начальная настройка конфигурационных бит соответствовала документации и не мешала использованию SPI. Учитывая сказанное выше, следует обращать внимание на следующие биты. Бит RSTDISBL способен превратить один из выводов микросхемы заранее предопределенный во вход сигнала «сброс», либо не превратить в зависимости от записанного в этот бит значения.

В нашем случае вход «сброс» необходим при его отсутствии не получится перевести МК в режим программирования через SPI. Они не препятствуют использованию SPI, но их тоже необходимо иметь в виду, потому что при полном отсутствии тактовых импульсов, либо при их частоте ниже допустимой для заданной скорости SPI, также ничего хорошего не получится.

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

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

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

Еще две сигнальные линии обеспечивают прием и передачу данных по одному биту за такт. Они показывают, в какой момент микроконтроллер «проглатывает» выставленный на входе MOSI бит данных, и в какой момент сам выставляет на выход MISO свой бит данных.

Все достаточно просто. В общей сложности выходит, что к микроконтроллеру для его прошивки по SPI нужно подключить всего 6 проводков. Ниже разберем это подробнее, а пока добавим, что обмен данными с МК в режиме программирования по SPI выполняется пакетами по 4 байта. Первый байт каждого пакета в основном полностью отводится под кодирование команды. Второй байт в зависимости от первого может быть продолжением кода команды, либо частью адреса, а может иметь произвольное значение.

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

Подробности по каждой команде можно найти в документации на контроллер в таблице под названием «SPI Serial Programming Instruction Set». Пока отметим лишь, что весь обмен с контроллером построен из последовательности битных пакетов, в каждом из которых передается не более одного байта полезной информации. Это не очень оптимально, но в целом работает неплохо. Чтобы обеспечить подачу на входы микроконтроллера всех необходимых сигналов для организации интерфейса SPI и чтение данных с его выхода MISO, не обязательно создавать программатор.

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


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

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

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

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

Насколько я понял, подобная проблема волновала не только меня. Потому, как держать STK наготове и доставать его всякий раз для таких случаев не всегда удобно. Какой выход? Купить новый программатор, где есть такой режим? Микроконтроллер вернули к жизни. Кое-что изменил в схеме, так как мне хотелось бы, кое-что упростил и вот, что у меня получилось:. После подачи питания, микроконтроллер загружает в повреждённый микроконтроллер, начальные заводские установки, по сути применяя то же самое высоковольтное параллельное программирование, цикл записи осуществляется за интервал около секунды, о чём свидетельствует зажигание светодиода схемы в момент подачи напряжения на реанимируемый микроконтроллер. А так же одновременно по другим выводам параллельно передаётся на запись из U1 в U2 информация изначальных заводских настроек. Посредством данного реаниматора возвращал его к жизни. Транзистор Q1 n-p-n структуры, из отечественных, можно применить КТ

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

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

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

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

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

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

Материал собран по интернету, любой желающий может найти самостоятельно множество вариантов схем, плат, программ. На всякий случай я скачал последнюю, на данный момент, версию и положил здесь. Но так делать я лично не рекомендую, поскольку это не надежно и есть опасность замыканий, и как следствие выгорания LPT порта. У меня микросхема программируется, когда питание на нее идет от 13 ноги DRBM, но это не очень хорошо, поэтому питание предлагается брать на USB разъеме. Там гарантированные 5В.

В статье доступным языком рассказывается о программировании чипа ATTiny13 при помощи Arduino.

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

Attiny13 программирование

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

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

За пониженное питание приходится платить понижением тактовой частоты микроконтроллера более медленная работа. В рабочем режиме потребляет мкА при питании 1. В режиме энергосбережения Power-down кушает меньше 0. Для микроконтроллера наиболее удобен режим программирования по последовательному SPI интерфейсу. Микроконтроллер может программироваться прямо в рабочей схеме внутрисхемное программирование но при этом должно соблюдаться условие — линиям SPI интерфейса при программировании не должно ничего мешать большие емкости, маленькие сопротивления относительно общего провода и т. ATTiny13 был обновлен буковка А в конце.

Схемы устройств на микроконтроллерах МК обычно отличаются сочетанием двух трудносовместимых качеств: максимальной простотой и высокой функциональностью.

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

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


Attiny13a — Рубрика — PVSM.RU


24×01 I2C на ATTINY13 без TWI

2020-12-19 в 10:49, , рубрики: attiny13a, eeprom, I2C, Алгоритмы, Производство и разработка электроники

Казалось бы что тут такого сложного, ну I2C ну без TWI.

Читать полностью »

Дистанционное управление громкостью IP TV приставки при помощи Attiny13A

2020-10-22 в 11:15, , рубрики: attiny13a, c++, diy или сделай сам, программирование микроконтроллеров

Как-то мне позвонили из Ростелекома и предложили подключить IP TV. Ну что же, решил я, пусть жена с сыном смотрят в спальне мультики и согласился. И вот принесли мне заветную коробочку. Т.к. отдельного телевизора для неё у меня нет, то решил я значит подключить её к старому монитору, через переходник HDMI-VGA. Для звука у меня были старые компьютерные колонки. Решено — сделано. Всё прекрасно завелось с одним но: с пульта, который шёл в комплекте с приставкой, невозможно регулировать громкость звука. Как так то? Честно сказать никогда с таким не сталкивался. Особо я в причинах не разбирался, но вроде как пульт от Ростелекома прописывается в телевизоре, так что с пульта меняется громкость на самом телевизоре, а не на выходе из приставки. Удобно? Конечно, если подключить приставку к современному телевизору. А вот вставать с кровати и крутить крутилку на колонках каждый раз, когда нужно поменять громкость — неудобно. Решением этого вопроса и займёмся. Соберём отдельное устройство, которое будет регулировать громкость на наших колонках по сигналу с пульта.

Читать полностью »

TinyFL — драйвер фонарика на микроконтроллере

2019-08-22 в 10:54, , рубрики: arduino, attiny13, attiny13a, avr, diy или сделай сам, LED, led driver, open source, pcb design, программирование микроконтроллеров, Производство и разработка электроники, Электроника для начинающих

Привет, Habr!

Хочу рассказать историю о том, как мне в руки попал китайский налобный фонарик на светодиоде Cree XM-L и что дальше с ним стало.

Читать полностью »

Слон и Моська, или подключение LCD к Attiny13A

2016-01-12 в 1:55, , рубрики: asm, atmel, attiny13a, c++, PROGMEM, ws2811, Алгоритмы, программирование микроконтроллеров


Вновь приветствую читателей «Хабра»!

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

Использование цветовых пространств в ATTiny13a для WS2811

2015-02-26 в 16:22, , рубрики: atmel, attiny13a, c++, ws2811, Алгоритмы, программирование микроконтроллеров, метки: Atmel, Attiny13a, ws2811, Программирование микроконтроллеров.


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

Ещё один программный UART на ATtiny13

2015-02-25 в 18:30, , рубрики: arduino, Arduino IDE, attiny13, attiny13a, avr, uart, программирование микроконтроллеров, программный, метки: Arduino, arduino ide, ATtiny13, ATtiny13a, AVR, UART, программный

Привет всем хаброюзерам. Совсем недавно, товарищ Himura опубликовал свою статью UART в ATtiny13 или Как вывести данные из МК за 52р, и тут я вспомнил, что имею кроме предыдущих наработок по этой теме, а именно Трёхканальный UART АЦП на ATtiny13, есть ещё кое-что, часть которой я вырезал из довольно таки любопытного проекта Happy Christmas and Happy New Year wishes from Attiny13, там есть и программный UART, как чтение так и отправка, и ещё кое что по SPI, вообщем рекомендую заглянуть всем кто заинтересовался, правда ресурс англоязычный.
Вот видео работы:

UART в ATtiny13 или Как вывести данные из МК за 52р

2015-02-18 в 20:57, , рубрики: attiny13, attiny13a, avr, uart, программирование микроконтроллеров

(цена за 10 шт магазина Чип и Дип на момент публикации)

Я никогда не мог удержаться от покупки разных электронных штук, и однажды у меня стало на 10 очень мелких МК больше. Я люблю ATtiny13 — дешево и сердито. Когда я их покупал, я твердо помнил, что у них «Даже АЦП есть, не то что таймер!» и сильно радовался их малой цене.
Однако, когда я столкнул ATtiny13 с реальной задачей, оказалось что одной очень важной штуки в нем нету, а именно, интерфейсов для передачи данных (разумеется, не считая GPIO). Ну а если GPIO есть, то написать все что угодно можно! Подумал я и пошел гуглить… И красивого готового решения под avr-gcc не нагуглил… О создании (надеюсь) такого решения, данная статья — добро пожаловать под кат.
Читать полностью »

Еще один программный ШИМ или реабилитация Attiny13a при помощи Дзен

2015-01-21 в 5:47, , рубрики: atmel, attiny13a, c++, программирование микроконтроллеров, Электроника для начинающих

Приветствую Хабр, и всех его многочисленных обитателей!

Сразу оговорюсь, что то о чём здесь пойдет речь не очень рассчитано на новичков, тем не менее если есть интерес и тяга к изучению, напротив — прошу познать.

А в этот раз, речь пойдет о реализации гибридного ШИМ, которых наплодилось в сети уже множество. Так что думаю еще один, или два, или три (бонусом), будут не лишними или не будут лишними.
Читать полностью »

ATtiny13a: Контроллер управления СТОП-сигналом и габаритными огнями автомобиля

2015-01-13 в 16:21, , рубрики: atmel, attiny13a, c++, Автомобильные разработки., программирование микроконтроллеров, Электроника для начинающих

Здравствуйте!

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

И вот на тебе! Пробка… А ехать еще и ехать. Путь не близкий, с учетом пробки — это не менее 3 часов до дома.
Ну, соответственно: подбадриваю себя, что, мол, дома ужин, чай, снег за окном. И вроде настроение возвращаться начинает, как внезапно с правой полосы Toyota Prius (ну, знаете такой — на батарейках весь), включает левый поворот и лезет прямо перед моей машиной… «Хорошо, дружище! Езжай, все равно вместе стоять 3 часа. » Встроился, проехал два метра и встал. Как положено на дороге в пробке, зафиксировался тормозом.
Читать полностью »

Реле с дистанционным ИК управлением на ATtiny13a

2014-11-27 в 11:43, , рубрики: arduino, attiny13, attiny13a, diy или сделай сам, irda, ИК, программирование микроконтроллеров, пульт, реле

Привет!

Появилась необходимость выключения старой, но вполне рабочей акустической системы с пульта от телевизора, не вставая с дивана. Подумав, я решил использовать ИК приёмник, некогда выкрученный со старого телевизора. ИК приёмник оказался без опознавательных знаков. Определив выходы методом тыка выяснил, что он из серии TSOP4xxx, если верить картинке:


Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery. min.js

Ищу 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 Studio Arduino 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 

Карта сайта

Карта сайта

Главная страница-Персональные страницы-Коновалов Дмитрий Александрович

  • НАУКА
    • Темы
      • Квантовая информатика
    • Семинары
    • Публикации
    • Важнейшие результаты
    • Конференции
      • Только предстоящие конференции
      • Все конференции (+ прошедшие)
    • Партнеры
    • Научные школы
      • Научная школа «Ионно-лучевая и импульсно-энергетическая модификация материалов»
      • Научная школа «Химическая физика»
      • Научная школа «Когерентная и квантовая оптика»
  • ОБРАЗОВАНИЕ
    • Научно-образовательный центр
      • Положение о НОЦ
      • Состав и структура НОЦ
      • Образование
      • Мероприятия
      • Ссылки и контактная информация
    • Аспирантура
      • Обучающиеся
      • Расписание
      • Образовательные программы
      • Информационные ресурсы
    • Базовые кафедры
    • Именные стипендии
      • Лауреаты
    • ЭПР — электронный урок
      • Экскурсия школьников по КФТИ КазНЦ РАН
  • ДОСТИЖЕНИЯ
    • Важнейшие результаты
    • Разработки
      • Магнитно-резонансный томограф
        • Наши клиенты
        • Основные технические параметры и характеристики томографов
        • Эксплуатационные характеристики томографов КФТИ
        • Выявляемые патологии
        • Изображения полученные на МР-томографе
        • Отзывы о применении наших томографов
    • Патенты
    • Награды и премии
  • ИНСТИТУТ
    • Название
    • Структура института
    • Руководство
    • Советы
      • Учёный совет
        • Заседания Учёного совета
      • Диссертационный совет
        • Рекомендации диссертантам
        • Новости и объявления
        • Видео архив
        • Диссертации (архив)
      • Совет молодых учёных
        • Молодёжные гранты
    • Профсоюз
      • События
      • Документы
    • Награды и премии
    • Контакты
    • Положение о КФТИ ОСП ФИЦ КазНЦ РАН
    • Реквизиты
    • Результаты специальной оценки условий труда
  • <div>English page</div>

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

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

Содержание статьи включает:

1. Кратко об Attiny 13 и 13а
2. Залив скетча в Arduino
3. Установка плат микроконтроллеров Attiny 13, 13a, 85 (установка ядра — core)
4. Видео по теме
5. Возможные проблемы

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кОм (или светодиод), как для входа (выхода), а использовать его не будете для этих целей, то микроконтроллер будет постоянно перезагружаться и работать не будет. Это уже относится к схемотехнике, а не программированию. В общем первую ножку лучше оставить в покое…

ATTINY13A Микроконтроллер: Arduino, Техническое описание, Распиновка [Видео и часто задаваемые вопросы]

Обзор продукта

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

 

В этом блоге будет систематически представлен ATTINY13A , включая его функции, распиновку, спецификации, приложения, а также программирование ATTiny13 с помощью Arduino Uno и многое другое.

 

Catalog

Product Overview

Programming ATTiny13 with Arduino Uno

ATTINY13A Features

ATTINY13A Pinout

ATTINY13A Applications

ATtiny13A Alternative

ATTINY13A Block Diagram

ATTINY13A vs ATTINY13

ATTINY13A Specification

ATTINY13A Manufacturer

ATTINY13A Лист данных

Использование предупреждений

ATTINGY13A FAQ

Программирование Attiny13 с Arduino Uno

Вот видео из программирования Attiny13 с Ardino.

 

ATTINY13A   Особенности

Высокопроизводительный 8-битный микроконтроллер AVR® с низким энергопотреблением

— 120 эффективных инструкций — выполнение большинства циклов за один такт

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

— полностью статическая работа

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

 

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

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

– 64 байта EEPROM

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

– Циклы записи/стирания: 10 000 Flash/100 000 EEPROM 85°C/100 лет при 25°C (см. стр. 12)

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

 

  • Периферийные функции

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

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

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

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

 

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

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

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

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

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

— Расширенный сброс при включении питания Схема

— Программируемая схема обнаружения падения напряжения с функцией программного отключения

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

 

  • Ввод/вывод и блоки

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

— 10-контактный VDFN: шесть программируемых линий ввода-вывода

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

 

  • Рабочее напряжение:

– 1,8 – 5,5 В

 

  • Класс скорости:

– 0 – 4 МГц при 1,8 – 5,5 В

– 0 – 10 МГц при 2,7 – 5,5 В

– 0 – 20 МГц при 4,5 – 5,5 В

 

Температурный диапазон 2
    909129

 

  • Низкое энергопотребление

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

  • 190 мкА при 1,8 В и 1 МГц

– Режим ожидания:

  • 24 мкА при 1,8 В и 1 МГц

 

ATTINY13A  Распиновка

На следующем рисунке показана схема ATTINY13A распиновки .

 

ATTINY13A Распиновка

 

ATTINY13A  Приложения 9 02005 8 010004 0129 Автоматизация зданий
  • Безопасность
  • Бытовая электроника
  • Промышленный
  • Датчики и приборы
  • Освещение
  • Портативные устройства
  • Attiny13 A Альтернатива

    ATTINGE13

    ATTINGE13A Блок -диаграмма

    На следующем рисунке показано Block диаг.0004 .

     

    Блок-схема ATTINY13A

     

    ATTINY13A против ATTINY13 Предыдущая итерация AVR незначительна эти улучшения варьируются от чипа к чипу, например. разница между ATtiny2313 и ATtiny2313A отличается от разницы между ATmega128 и ATmega128A.

     

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

     

    ATTINY13A против ATTINY13

     

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

     

    ATTINY13A  Спецификация
    Максимальное разрешение АЦП (бит) 10
    Размер памяти программы (КБ) 1
    Количество компараторов 1
    Скорость процессора (MIPS/DMIPS) 20
    Данные EEPROM (байты) 64
    Макс. 8-битные цифровые таймеры 1
    Ethernet Нет
    Тип памяти программ Вспышка
    Каналы АЦП 4
    Низкая мощность Да
    Рабочее напряжение 1,8–5,5
    выходной компаратор ШИМ 2
    Количество контактов 8
    Диапазон температур (°C) -165

     

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

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

    ATTINGY13A DataShet

    Вы можете скачать этот таблиц данных для Attiny13a — Datasheet по ссылке, приведенной ниже:

    , Attiny13a DataSheet

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

     

    ATTINY13A  FAQ

    Что такое ATtiny?

    ATINY — это сокращение от «ATEEZ и судьба» и означает, что будущее ATEEZ — вместе с их фанатами.

     

    Как запрограммировать ATtiny13A Arduino Nano?

    Подключите ATtiny85 к плате Uno. (Не забудьте добавить колпачок 10 мкФ на сброс и заземление вашего Arduino.) Используйте перемычку для соединений или СДЕЛАЙТЕ ЭКРАН, ИСПОЛЬЗУЯ PERF BOARD И DIP8 SOCKET. Выберите правильную тактовую частоту, для ATtiny85 выберите 8 МГц, а для ATtiny13A выберите 9.0,6 МГц.

     

    Что такое контакт 3 ATtiny 13?

    Контакт 3 аппаратно определяется как PB4, теперь давайте посмотрим на отредактированный код: // Мы заменим «LED_BUILTIN» на «4», так как у ATtiny нет встроенного светодиода! // инициализируем цифровой контакт 3 ATtiny 13 (определенный аппаратно как 4) в качестве выхода.

     

    На чем основан ATtiny13A?

    Усовершенствованная RISC-архитектура AVR®

     

    Сколько MIPS на МГц обеспечивает пропускная способность ATtiny13A?

    1 MIPS на МГц

     

    Очень маленький и дешевый Arduino с ATtiny13a :: Bzzt

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

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

    Обрежьте жир (и стоимость!)⌗

    Для простых задач рассмотрите возможность использования микроконтроллеров без микросхем, таких как Atmel (Microchip) AVR ATTiny13a. Эта 8-контактная ИС имеет ряд функциональных возможностей, распределенных по 6 контактам ввода/вывода. 8-контактный DIP-корпус довольно крошечный. Если вы можете работать с компонентами для поверхностного монтажа, корпус SOIC будет еще меньше. Любой из них можно приобрести оптом менее чем за 1 доллар США каждый при покупке у Mouser или Digi-key.

    DIP-корпус слева и SOIC-корпус справа. Расстояние между желтыми линиями 1 дюйм

    Особенности⌗

    Схема распиновки от MCUDude, автора ядра Arduino для ATTiny13a

    Выше приведена схема распиновки для ATTiny13a. Если вы будете работать на платформе Arduino, значения «порта» будут для вас менее важны.

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

    • 6 контактов могут быть сконфигурированы контакты цифрового ввода/вывода
    • 4 контакта могут быть настроены для аналоговых входных контактов
    • 3 контакта можно настроить для последовательной связи SPI
    • 2 контакта могут быть настроены для выхода ШИМ

    Вау. Все это в 8-контактной микросхеме DIP… менее чем за 1 доллар!

    Последовательная связь UART⌗

    Заметно отсутствует аппаратный UART. Имейте это в виду, если монитор последовательного порта или другие средства связи UART необходимы для вашего проекта. Если ваш проект требует связи UART, есть надежда, так что читайте дальше!

    Поддержка платформы Arduino⌗

    Так как же писать программы «на голом чипе»? Традиционно для программирования микропроцессоров или встроенных систем обычно использовались проприетарные компиляторы или программные платформы. Для многих людей (включая меня) есть веские аргументы в пользу того, чтобы оставаться в экосистеме платформы Arduino: простота использования, мощная поддержка сообщества, множество зрелых библиотек и открытый исходный код, и это лишь некоторые из них. К счастью, хорошие ребята из проекта MCUDude MicroCore разработали ядро ​​Arduino для ATTiny13A, которое обеспечивает поддержку большинства функций Arduino для ATTiny13A.

    Поскольку на ATTiny13a нет аппаратного UART, в состав ядра MicroCore входит программный UART. Это небольшой фрагмент кода, который предоставляет базовые возможности UART для ATTiny13a. Однако есть ограничения. Пожалуйста, обратитесь к Serial support в документации MicroCore за подробностями.

    Чтобы настроить Arduino IDE, откройте настройки и добавьте

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

    в список из Дополнительные URL-адреса диспетчера плат .

    После этого ATTiny13 будет доступен в качестве выбора для вашего эскиза.

    Прошивка чипа⌗

    Так как же загрузить (прошить) программу на «голый чип»? Очевидно, что на чипе нет разъема USB или разъема FTDI. Для загрузки (или перепрошивки) программы требуется дополнительное оборудование: программатор ISP. Хотя для ATTiny13a есть коммерчески доступные программаторы ISP, если у вас есть запасной Arduino, он может действовать как программатор.

    Arduino Pro Mini в качестве ISP-программатора для ATTiny13A. Я использую сокет ZIF, поэтому я могу легко вставлять и извлекать микросхему ATTiny13a, не рискуя сломать или погнуть контакты.

    Для описанной выше установки я использовал:

    • Макетную плату (#ad)
    • Arduino Pro Mini (#ad) — обычно у меня есть несколько штук.
    • Разъем DIP ZIF (#ad)
    • Электролитический конденсатор 100 мкФ
    • Соединительный провод (#ad)

    Конечно, если вы используете Mini, вам также понадобится адаптер или кабель FTDI (#ad).

    На хабе Arduino Project есть отличное руководство по настройке, написанное Тауно Эриком.

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

    Ограниченная память⌗

    ATTiny13a имеет 1 килобайт памяти. Да, всего 1к. Вы должны быть бережливыми и оптимизировать свой код до чертиков.

    Итог⌗

    Плюсы:⌗
    • Меньше 1 доллара!
    • Крошка
    • 6 многофункциональных контактов ввода-вывода
    • Поддержка Arduino
    • Доступен в корпусе DIP со сквозным отверстием и корпусе SOIC для поверхностного монтажа

    Минусы:⌗

    • Нет аппаратного UART
    • Только 1 КБ программной памяти
    • Необходимо запрограммировать с помощью ISP

    Вывод⌗

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

    Если вы пропустили⌗

    • Макеты (#ad)
    • Arduino Pro Minis (#реклама)
    • Розетки DIP ZIF (#ad)
    • Ассортимент конденсаторов (#ad)
    • Соединительный провод (#ad)
    • Адаптер FTDI (#ad)

    На момент написания этой статьи ощущалась нехватка чипов ATTiny13a. Проверьте ожидаемую доступность на веб-сайтах таких поставщиков, как Mouser или Digi-key. Чтобы купить у более мелкого поставщика, попробуйте здесь, на Amazon (#ad). Ожидайте платить около 1,50 доллара за чип в меньшем количестве или от более мелких поставщиков.

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

    Если вы заинтересованы в более глубоком изучении программирования микроконтроллера Atmel (Microchip) AVR ATTiny13a (или другого AVR), ознакомьтесь с этими книгами:

    Поддержите меня клецкой.⌗

    Если вам понравился этот пост, пожалуйста, поддержите меня клецками 🙂

    Наконец⌗

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

    Arduino уменьшилась – как использовать ATtiny13 с Arduino IDE

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

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

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

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

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

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

    • Ядра ATtiny от Damellis (может поддерживать ATtiny13 с дополнительными изменениями конфигурации)
    • Arduino-Tiny Cores (похоже, не поддерживает ATtiny13)
    • ядро ​​smeezekitty13 (только ATtiny13)

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


    миллис()
    микрос()
    (не настоящая микросекунда)
    delay()
    delayMicroseconds()
    (не настоящая микросекунда)
    AnalogRead()
    AnalogWrite( )
    pinMode()
    digitalRead()
    digitalWrite()

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

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

    1. Завершение работы Arduino IDE
    2. Определите каталог Sketchbook (в Linux ищите ~/sketchbook/) и создайте новый каталог с именем hardware : ~/sketchbook/hardware.
    3. Если ядро ​​заархивировано со структурой каталогов, просто разархивируйте содержимое zip-файла в каталог ~/sketchbook/hardware/ — он создаст необходимый подкаталог. В противном случае вручную создайте подкаталог с именем что-то вроде «tiny» (или «core13», как предлагает smeezekitty для своего ядра core13 . Имя каталога может быть довольно произвольным, если оно совпадает с установленным в boards.txt (ниже)
    4. Внутри ~/sketchbook/hardware/tiny/ , отредактируйте или создайте новый файл с именем boards.txt (см. формат ниже)
    5. Файл boards.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=0x69attiny13at4.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 Выберите правильный программатор перед загрузкой программного обеспечения

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

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

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

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

    При написании кода для ATtiny13 нужно следить за объемом оперативной памяти, используемой вашей программой. Например, каждая объявленная переменная получает место в оперативной памяти, и вы всегда должны использовать самый короткий тип переменной. Например, если у вас есть счетчик, который не превышает 255, нет необходимости использовать 2-байтовый тип int , если будет достаточно 1-байтового типа byte . Имея всего 64 байта оперативной памяти, важен каждый байт!

    Если вы объявляете константы значительного размера, такие как массивы или текстовые строки, рассмотрите возможность использования PROGMEM , чтобы переместить их из ОЗУ во флэш-память, где у вас может быть гораздо больше места для работы.

    Мне очень понравилось программировать микросхемы ATtiny13 с помощью Arduino IDE. IDE обеспечивает очень удобную среду для работы, а ограничения небольших микроконтроллеров, таких как ATtiny13, делают программирование еще более интересным. Если вы еще этого не сделали, я думаю, вам обязательно стоит добавить ATtiny в свои проекты.

    Удачного кодирования!

    Оставьте ответ

    Или воспользуйтесь форумом! Если ваш комментарий представляет собой вопрос, рассмотрите возможность размещения его в соответствующем разделе нашего форума по электронике. Форумы обеспечивают более естественное течение беседы, особенно если требуется несколько ответов. Кроме того, вы сможете стилизовать свой текст (жирный шрифт, курсив и т. д.) и публиковать изображения, которые могут помочь с хорошим ответом.

    Программирование Attiny13 Attiny85 с помощью Arduino Uno

    BILARASA.COM — Микроконтроллеры Arduino- в 1-1 системы attiny13- открыть это- 0- 11-arduinoisp программатор дополнительный gt файл arduino загрузить установить gt 1- gt и arduino isp package manager arduino- означает перейти к эскизу-семейство ide открыть аппаратное обеспечение и файл для gtarduinoisp avrisp- a gt в платах avr ide скопировать настройки gt в примеры URL-адреса

    Ниже приводится краткое изложение примерно Программирование Attiny13 Attiny85 с Arduino Uno лучше всего После простого размещения символов можно преобразовать 1 часть контента в столько 100% читаемых версий, сколько вам нравится, что мы сообщаем, а также указываем Написание историй для вас очень весело. Большинство из нас получают много интересного о Programming Attiny13 Attiny85 With Arduino Uno с красивой картинкой, но многие из нас просто отображают фактические статьи, которые мы считаем лучшими.

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

    Программирование Attiny13 Attiny85 с помощью Arduino Uno Youtube

    0. превратить ардуино в аврисп. (avr — это семейство микроконтроллеров. ISP означает системный программатор) откройте arduino ide > файл > примеры > 11. arduinoisp >arduinoisp и загрузите в arduino. эскиз. 1. установить аппаратный пакет для attiny13. 1.1 откройте arduino ide> файл> настройки, перейдите к URL-адресам менеджера дополнительных плат и скопируйте это:. Чтобы запрограммировать attiny85, нам нужно сначала перевести Arduino Uno в режим ISP. подключите ардуино уно к компьютеру. откройте arduino ide, откройте файл примера arduinoisp (файл > примеры > arduinoisp) и загрузите его. добавление поддержки attiny85 в arduino ide по умолчанию arduino ide не поддерживает attiny85, поэтому мы должны добавить платы attiny в arduino ide. Чтобы запрограммировать attiny85, нам нужно сначала перевести Arduino Uno в режим ISP. подключите ардуино уно к компьютеру. откройте arduino ide, откройте файл примера arduinoisp (файл > примеры > arduinoisp) и загрузите его. добавление поддержки attiny85 в arduino ide по умолчанию arduino ide не поддерживает attiny85, поэтому мы должны добавить платы attiny в arduino ide. Чтобы начать программировать attiny 13, мы должны записать на него загрузчик. для этого перейдите в инструменты > доска > attiny13. Теперь перейдите в Инструменты > Версия процессора и проверьте, выбрана ли правильная версия attiny. выберите attiny13 или attiny13a в зависимости от вашего чипа. затем нажмите кнопку записи загрузчика в нижней части меню инструментов. Isp означает системный программатор) откройте arduino ide > файл > примеры > 11.arduinoisp >arduinoisp и загрузите в arduino. 1. установить аппаратный пакет для attiny13. 1.1 откройте arduino ide> файл> настройки, перейдите к URL-адресам менеджера дополнительных плат и скопируйте это: ok. 1.2 откройте arduino ide > инструменты > доска > менеджер плат.

    Программирование Attiny85 с помощью Arduino Uno Arduino Project Hub

    Программируя attiny13 для программирования attiny13, мы должны настроить нашу Arduino как программатор. это может произойти путем загрузки скетча arduinoisp в arduino по этому пути (файлы > примеры > arduinoisp) в IDE. Теперь наша Arduino готова к программированию attiny 13, но нам еще нужно настроить attiny, установив файлы ядра. Для этого ардуино нужно настроить как в системном программаторе. в меню инструментов измените программатор на «arduino as isp». в инструментах выберите плату «attiny85» в качестве платы для программирования: еще раз проверьте правильность выбора платы, иначе будут ошибки. из инструментов ide, меню, часов. выберите: тактовая частота 8 МГц. Чтобы запрограммировать attiny85, мы начнем с настройки arduino uno в качестве поставщика услуг Интернета. это делается для того, чтобы когда мы начинаем процесс загрузки, arduino ide обнаруживал arduino uno в режиме ISP. начните с подключения arduino uno к компьютеру. запустите программное обеспечение arduino ide, затем откройте пример файла «arduinoisp». перейдите в файл > пример > arduinoisp.

    Программирование Attiny13 и Attiny85 с помощью Arduino Uno

    это предпочтительный способ, не покупайте USB-разъем, потому что это отстой, и вам все равно придется использовать Arduino для загрузчика. URL-адрес дополнительного менеджера платы: mcudude.github.io microcore package mcudude microcore index.json. Пошаговое руководство по программированию attiny 85 с помощью arduino uno. Делаем программный щит. более подробно давайте взглянем на микроконтроллер attiny85 и как его запрограммировать. сначала мы подготовим наш arduino ide для поддержки attiny. Недавно я купил несколько таких микросхем attiny85 у Farnell (uk.farnell atmel), они действительно дешевые по 1 фунту стерлингов каждая, и я знаю, как собрать программатор и запрограммировать attiny85 (attiny 85) с помощью arduino ide версии 1.8.18. он также работает со ссылкой на arduino github, которую нужно вставить в настройки arduino attiny #arduino #isp. В этом видео я показываю, как загрузить код на attiny 13 a с помощью arduino uno. принципиальная схема Основное преимущество использования attiny85 заключается в том, чтобы очень легко сжимать ваши проекты, и вы также можете загрузить код на дополнительные URL-адреса менеджера плат: mcudude.

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

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