Attiny13 программирование
Войдите , пожалуйста. Хабр Geektimes Тостер Мой круг Фрилансим. Войти Регистрация. Уже давно появился способ программировать маленькие, дешёвые, экономичные к питанию и доступные микроконтроллеры ATtiny13A. Перезапускаем Arduino IDE если она запущена на данный момент, это нужно для того, чтобы среда добавила новый микроконтроллер в список плат.
Поиск данных по Вашему запросу:
Attiny13 программирование
Схемы, справочники, даташиты:
Прайс-листы, цены:
Обсуждения, статьи, мануалы:
Дождитесь окончания поиска во всех базах.
По завершению появится ссылка для доступа к найденным материалам.
Подписаться на ленту
Схемы устройств на микроконтроллерах МК обычно отличаются сочетанием двух трудносовместимых качеств: максимальной простотой и высокой функциональностью. К тому же функциональность может в дальнейшем меняться и расширяться без внесения каких-либо изменений в схему — путём лишь замены программы перепрошивкой.
Эти особенности объясняются тем, что создатели современных МК постарались разместить на одном кристалле всё, что только может потребоваться разработчику электронного устройства — по крайней мере настолько, насколько это возможно.
В результате произошло смещение акцента со схемотехнического и монтажного на программный. С использованием МК теперь меньше приходится «нагружать» схему деталями, между компонентами становится меньше соединений. Это, конечно, делает схему более привлекательной для её повторения как опытными, так и начинающими электронщиками.
Но, как обычно, за всё приходится платить. Здесь тоже не обошлось без своих сложностей. Если купить новый МК, установить его в правильно собранную из исправных деталей схему и подать питание, то ничего не получится — устройство не будет работать. Микроконтроллеру нужна программа. Казалось бы с этим тоже всё просто — в интернете можно встретить множество схем с бесплатными прошивками. Но тут возникает одна загвоздка: прошивку необходимо как-то «залить» в микроконтроллер.
Для того, кто никогда этим раньше не занимался, такая задача зачастую становится проблемой и главным отталкивающим фактором, нередко заставляющим отказаться от прелестей использования МК и поискать схемы на «рассыпухе» и жесткой логике.
А ведь всё не так уж сложно, как может показаться на первый взгляд. Проанализировав публикации в интернете, можно заметить, что данная проблема решается чаще всего одним из двух путей: покупкой готового программатора или изготовлением самодельного. При этом публикуемые схемы самодельных программаторов очень часто неоправданно сложны — гораздо сложнее, чем это действительно необходимо. Конечно, если предполагается каждый день прошивать МК, лучше иметь «крутой» программатор.
Но если надобность в такой процедуре возникает нечасто, от случая к случаю, то можно вообще обойтись без программатора. Нет, конечно, речь идет не о том, чтобы научиться делать это силой мысли. Имеется в виду, что понимая, как происходит взаимодействие программатора с микроконтроллером при записи и считывании информации в режиме его программирования, мы можем обойтись подручными средствами более широкого назначения.
Эти средства должны будут заменить как программную, так и аппаратную части программатора. Аппаратная часть должна обеспечить физическое соединение с микросхемой МК, возможность подавать логические уровни на его входы и считывать данные с его выходов.
Программная часть должна обеспечить работу алгоритма, управляющего всеми необходимыми процессами. Отметим также, что качество записи информации в МК не зависит от того, насколько «крутой» у вас программатор. Такого понятия, как «лучше записалось» или «хуже» не существует.
Есть только два варианта: «записалось» и «не записалось». Это объясняется тем, что непосредственно процессом записи внутри кристалла руководит сам МК. Нужно лишь обеспечить ему качественное питание отсутствие помех и пульсаций и правильно организовать интерфейс.
Если по результатам контрольного считывания ошибок не выявлено, то все в порядке — можно использовать контроллер по назначению. Такой конвертер в любом случае полезно иметь в «хозяйстве», так что если у вас его еще нет, непременно стоит приобрести.
Что касается логических уровней, то в нашем случае 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
Как производится программирование микроконтроллеров ATtiny2313? Итак, имеем микроконтроллер ATtiny2313, LPT порт (обязательно железный — никакие USB-2-LPT не работают), несколько проводков (длина не более 10см) и конечно же паяльник. Желательно иметь разъём DB-25M (папа), с ним будет удобней подключать микроконтроллер, но можно обойтись и без него. Припаиваем проводки к выводам 1, 10, 17, 18, 19, 20 микроконтроллера. Получаем нечто вроде того, что на фото: 2. Из другого списка выбираем «ATtiny2313» 3. Загружаем файл прошивки (File -> Open Device File), выбираем нужный файл, например «rm-1_full.hex». 4. Жмём кнопочку «Launch program cycle». Когда программирование завершится прога скажет «Program successful» 5. Ну и напоследок надо запрограммировать так называемые Фьюзы (fuses). Для этого жмём кнопочку «Security and Configuration Bits». В появившемся окне жмём «Read», потом выставляем галочки и жмём «Write». ВНИМАНИЕ! Если Вы не знаете, что означает тот или иной конфигурационный бит, то не трогайте его. Вот теперь у нас готовый к работе контроллер ATtiny2313! На форуме можно скачать программу PonyProg2000 и оригинал статьи с дополнительными рисунками. Материал для сайта Радиосхемы предоставил Ansel73. Форум по обсуждению материала ПРОГРАММИРОВАНИЕ Attiny2313
|
Обновленное руководство по программированию Attiny13 или Attiny13a с помощью Arduino IDE » NGIN.pro
Обновленное руководство по программированию 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В и землей на макетной плате, это поможет сгладить любые всплески напряжения.
Программирование контроллеров AVR AtTiny13 / 25
Материал собран по интернету, любой желающий может найти самостоятельно множество вариантов схем, плат, программ.
Я выбрал наиболее простой для наколенного исполнения способ и описываю его.
Для начала вам понадобится программа.
Я предлагаю использовать. PonyProg.
На всякий случай я скачал последнюю, на данный момент, версию и положил здесь.
С этой версией у меня все зашилось. Я специально это проверял при подготовке статьи.
Теперь понадобится программатор
Я использовал так называемые .
Мой макет выглядит так.
Но так делать я лично не рекомендую, поскольку это не надежно и есть опасность замыканий, и как следствие выгорания LPT порта.
Схема. У меня микросхема программируется, когда питание на нее идет от 13 ноги DRB-25M, но это не очень хорошо, поэтому питание предлагается брать на USB разъеме. Там гарантированные 5В.
Плата для лазерно-утюжного метода:
Вариант для печати лежит тут.
Сборка вот:
Для изготовления понадобятся 4 сверла, но можно обойтись и двумя диаметрами
1 и 3мм.
Как работать с ПО
Устанавливаем PonyProg.
Напомню, дистрибутив есть здесь.
После установки и запуска возникнет такое окно.
Далее программатор сообщит, что надо выполнить калибровку и установить тип адаптера.
Калибровка выполняется автоматически и там показывать нечего.
А вот так надо выставить тип адаптера.
Далее открываем HEX файл.
Жмем кнопку Write Program Memory (пятая слева кнопка)
И радуемся, что микросхема удачно зашилась.
Жмем кнопку Configuration and security bits (Восьмая слева)
Программа считает текущие параметры.
На всякий случай жмем Read.
Выставляем биты как указано и жмем Write.
ВНИМАНИЕ! Не верная установка
какого-нибудь бита может привести к тому, что контроллер придется выбросить,
или искать профессиональный программатор, для того, чтобы привести его в
чувство
Некоторые мои проекты требуют использования 1 вывода процессора,
для его использования необходимо зашить бит RSTDISBL, что PonyProg делать не умеет, тут придется воспользоваться
CodeVision. Но учите, сделать это можно только один раз. После прошивания этого бита, больше таким программатором
стереть/прошить этот контроллер не удастся. В проектах, где это необходимо, я отмечаю об этом специально.
Теперь микросхема зашита и готова к работе. Удачи.
Да, также через такой адаптер можно шить из CodeVision AVR.
Открывем программу
Настраиваем тип программатора
Открываем проект
Настраиваем, если необходимо
Компиллируем
Выставляем настройки программирования и программируем, нажав Programm All
Про EEPROM отвечаем нет
Про RSTDISBL отвечаем да, и после этого чип больше не перепрограммируется этим программатором!
Мои микроконтроллерные поделки:
Пульт дистанционного управления для HT6806
Пульт дистанционного управления для Hyundai H-CMD4009
Доработка датчика дождя
Удлинитель сигналов поворота
Доработка водительского стеклоподъемника
Реализация ДХО (DRL) дальний в пол накала
Все. Удачи!
Программирование микроконтроллеров AVR ATtiny на Arduino IDE
Программирование микроконтроллеров AVR ATtiny на Arduino IDE
разделы: Arduino , Программаторы , AVR , дата: 23 февраля 2014г.
Часто можно слышать отзывы об Arduino, что это дорого, неэффективно, профанация идеи и т.п. Если задуматься, то окажется, что во многом эта критика справедлива. Одним Arduino сыт не будешь. Если мне требуется микроконтроллер для чего-то простого, например: дисплей и пара кнопок, то использование для такой тривиальной задачи Arduino, действительно можно сравнить с забиванием гвоздей электронным микроскопом. Но если отбросить эмоции и подумать, что наиболее ценное в Arduino-проектах? На мой взгляд, это колоссальный объем открытого кода написанного под различные проекты. Называя вещи своими именами, я не хочу писать с нуля программу для работы микроконтроллера с дисплеем, я хочу использовать уже готовую библиотеку, которую я использовал для Arduino. И не потому что мне «слабо», а потому что я не вижу смысла в изобретении еще одного велосипеда.
О портировании проектов Arduino для “младшего” семейства микроконтроллеров AVR ATtiny пойдет речь в этом посте.
Несколько ссылок:
1) Страница проекта реализующая данную возможность: arduino-tinyТак же, в вопросе мне помогли разобраться следующие материалы:
2) Programming an ATtiny w/ Arduino 1.0
3) ISP программатор из Arduino. Разберемся и с ATtiny
4) Ошибка «please define PAGEL and BS2 signals in the configuration file for part» при прошивки ATtiny45/85
Из литератуты рекомендую почитать книгу: Андрей Евстифеев «Микроконтроллеры AVR семейства Tiny»
- Предполетная подготовка.
- Что будем программировать?
- Проект позволяет задействовать микроконтроллеры ATtiny84 (84/44/24), ATtiny85 (85/45/25), и ATtiny2313 (4313).
- ATtiny84/44/24 это 14-pin микроконтроллеры с размером флеш-памяти под прошивку 8/4/2 Кбайта соответственно.
- ATtiny85/45/25 — это то же самое, но на 8-pin. ATtiny2313/4313 — Выделяется из общего ряда являясь по сути ревизией AVR Classic AT90s2313. На борту имеется и I2C и UART, 20-pin, 2/4 Кбайта под прошивку. Вкусная штучка.
Arduino использует старшее семейство микроконтроллеров ATmega. Портируя программы на ATtiny придется отказаться от некоторых плюшек. Что мы теряем кроме меньшей памяти и меньшего количества ног? Отказаться придется от UART и I2C интерфейсов(ATtiny2313 это по сути не совсем ATtiny). Если вас это не пугает, то идем дальше.
- Программатор. Для того чтобы залить прошивку в чип, нужен будет программатор. Здесь я буду использовать сам Arduino в качестве программатора.
- Используемое ПО: Slackware64-14.1 + Arduino-1.0.5
- Приступим:
- Сначала нужно добавить поддержку ATtiny для Arduino IDE. Заходим по первой ссылке на сайт проекта arduino-tiny
На текущий момент я вижу два zip архива доступных для скачивания, для версий Arduino IDE v1.0 и v1.5. Хм. Я пользуюсь последней доступной версией 1.0.5, какой архив следует выбрать? Выбирать надо первое. Версия 1.5 еще только разрабатывается. Итак:
$ cd sketchbook
Получаем папку tiny в которой лежит файл README. Открываем его вашим любимым текстовым редактором и внимательно читаем секцию INSTALLATION/УСТАНОВКА
$ mkdir hardware
$ cd hardware
$ wget http://arduino-tiny.googlecode.com/files/arduino-tiny-0100-0018.zip
$ unzip ./arduino-tiny-0100-0018.zip
Если присмотреться, то мы уже дошли до этапа:
из всего этого следует только одна команда:* Create a new file named "boards.txt" in the tiny directory. Following from the examples above, the file would be here... C:\Projects\Arduino\hardware\tiny\boards.txt * Open the "boards.txt" file and the "Prospective Boards.txt" file using your favourite text editor. * Copy board entries of interest from "Prospective Boards.txt" to "boards.txt" (or copy the entire contents of "Prospective Boards.txt" to "boards.txt"). Board entries are delineated by a long line of pound-signs. * In the "boards.txt" file, change the "upload.using" entries to the appropriate value for your setup. * Save and close "boards.txt". Close "Prospective Boards.txt".
$ cp -v 'Prospective Boards.txt' ./boards.txt
после чего можно запускать Arduino IDE$ arduino
Если все нормально, то в меню: “Сервис->Плата” увидим список поддерживаемых микроконтроллеров ATtiny:Здесь, пожалуй, сразу следует пояснить. oscillator — генератор тактовой частоты. Если вы купили микроконтроллер и еще не успели поменять fuse-биты, то генератор должен быть встроенным и работать на частоте 1MГц. Что будет, если ошибешься с частотой? Работать будет, но или медленнее или быстрее.
BOD — детектор пониженного питания ака Brown-out Detection. Датчик позволяющий определить пониженный уровень питания и “мягко” выключить чип предотвратив дребезг питания. Дело в том, что выключение питания, процесс не мгновенный, чип доли секунды работает при не достаточном питании. В таком состоянии, программа зашитая в нем, начинает выполняться с произвольных адресов т.е. работать хаотически. Это чревато чем? Если ваша программа пишет в EEPROM, то в этом состоянии она запишет туда кашу.
- Программатор. Здесь все просто. Подключите Arduino к компьютеру, запустите Arduino IDE, и запишите программу из примеров: меню -> Файл-> Примеры->ArduinoISP. Программатор готов.
- Сборка схемы. Для прошивки через ISP интерфейс на каждом микроконтроллере имеются четыре контакта MOSI, MISO, SCK, RESET. ISP-программатор позволяет перепрошить чип уже впаянный в схему. Он так и называется In-System Programming внутрисхемный программатор. В связи с этим, контакты MOSI, MISO, SCK по совместительству имеют функции тех или иных цифровых/аналоговых выводов. Расположение контактов Вашего микроконтроллера можно посмотреть по datasheet на официальном сайте.
У меня под рукой оказался ATtiny45
Схема подключения такая
Я использовал в качестве программатора Arduino на ATmega168. Конденсатор электролитический 10мФ x 16В. Минус на GND, плюс на RESET. Я не уверен, что он нужен на Arduino c ATmega328. Видел схемы без конденсатора, но шить через ATmega328 не пробовал. - Прошивка. В Arduino IDE в меню Сервис — Программатор установите опцию: Arduino as ISP
В меню “Плата” укажите тип прошиваемого микроконтроллера.
Откройте из “Примеров” программу “Blink”. В самом начале, строку:int led=13
исправте наint led =0
К Pin0 (пятый контакт ИС) подключите подтягивающий резистор, на другой конец резистора анод светодиода, катод которого соедините с землей.
Скомпилируйте и залейте программу. Работать должно сразу.
При прошивке микроконтроллера может выдать предупреждение:please define PAGEL and BS2 signals in the configuration file for part
Вашим любимым текстовым редактором откройте файл$ nano /opt/arduino/hardware/tools/avrdude.conf
найдите секцию со своим микроконтроллером и добавьте в нее две строкиpagel = 0x01; bs2 = 0x01;
Попробуйте перепрошить микроконтроллер, предупреждение должно исчезнуть. Подробнее смотрите по четвертой ссылке
Программирование ATTiny с помощью Arduino Mega 2560
В течение последних нескольких дней я безуспешно пытался запрограммировать ATTiny45 AVR, используя Arduino Mega 2560 в качестве ISP. Все учебники, которые я видел для использования Arduino в качестве ISP, используют Uno и Duemilanove. Ни один из них не упоминает Mega2560.
Мне было интересно, нужно ли что-то менять в проводке или программировании при использовании Mega2560. Например, используется ли конденсатор между сбросом и землей? Или резистор должен быть подключен к сбросу до 5 в? Прежде чем я пойду на форумы и начну публиковать свои конкретные сообщения об ошибках, я подумал, что проверю, не является ли проблема простой разницей между настройкой Uno/Duemilanove и Mega2560.
arduino avrПоделиться Источник Kevin A. Wilson 01 апреля 2012 в 22:43
3 ответа
- Attiny 1634 не найден в меню Сервис Arduino IDE
Я разработал дизайн с использованием arduino uno r3 и хотел бы использовать attiny 1634 вместо atmega 328p. Научился программировать attiny 85 с помощью arduino isp. Нужна помощь для программирования attiny 1634, не смог найти плату attiny 1634 в меню инструментов arduino IDE. Провел некоторые…
- USB связь между Arduino Mega ADK 2560 и Samsung Galaxy S2
Я пытаюсь обеспечить usb связь между Arduino Mega ADK 2560 (есть два типа, я использую тот, который имеет два порта usb на нем) и Samsung Galaxy S2, версия которого 2.3.5 (custom build). Однако, когда я пытаюсь использовать код demokit, приведенный на сайте Arduino, я всегда получаю ошибку error 5…
0
Последние пару дней я тоже рвал на себе волосы,чтобы заставить мой Mega 2560 запрограммировать запас ATtiny85 и 328 с загрузчиками. Прошлой ночью я наконец-то заработал. Эти две статьи помогли мне:
- http://arduino.cc/forum/index.php?действие=страница печати;тема=96735.0
Загрузка предложенного модифицированного эскиза AVRISP и добавление конденсатора между +5 В и землей на mega сделали для меня трюк, и я запрограммировал свой 328p с загрузчиком Duemilinove.
Затем с этой новой настройкой я использовал эти инструкции для программирования моего ATtiny85, и это тоже сработало:
- http://hlt.media.mit.edu/?p=1695
Надеюсь, это поможет,
Поделиться Skorn99 04 апреля 2012 в 17:50
0
Насколько я знаю, нет никаких изменений, которые вам нужно сделать, чтобы Mega использовался в качестве ISP.
Можете ли вы опубликовать какое-либо конкретное сообщение об ошибке, которое вы получаете, или с какой проблемой вы сталкиваетесь при использовании mega as ISP?
Поделиться Sudar 03 апреля 2012 в 05:55
0
На благо будущих читателей… Я пытался и не смог заставить мега запрограммировать ATTiny85. В конце концов я где-то прочитал в комментариях к статье (забыл, где сейчас), что она не работала на 2560, поэтому я поменял ее на uno, и она отлично работала.
Поделиться sjmeverett 15 декабря 2012 в 16:12
Похожие вопросы:
Как сбросить код arduino Mega 2560 автоматически?
Я работаю над температурным проектом, используя arduino для сбора температуры. Но иногда arduino висит там, так что мне приходится отсоединять шнур и подключать его обратно, чтобы перезапустить…
Проблема с началом работы с Arduino mega
Я только что получил свою первую совершенно новую доску Arduino mega 2560 . Я скачал программу Arduino 1.0.1 . Когда я впервые подключил плату, она не смогла обнаружить устройство. Поэтому я открыл…
Arduino — увеличить диапазон рабочего цикла PWM на mega 2560?
Я использовал arduino mega 2560. Потому что analogWrite просто имеет значение от 0 до 255, если я хочу увеличить диапазон, например 4096: analogWrite(9, 4096) . Неужели это невозможно? Как мы можем…
Attiny 1634 не найден в меню Сервис Arduino IDE
Я разработал дизайн с использованием arduino uno r3 и хотел бы использовать attiny 1634 вместо atmega 328p. Научился программировать attiny 85 с помощью arduino isp. Нужна помощь для…
USB связь между Arduino Mega ADK 2560 и Samsung Galaxy S2
Я пытаюсь обеспечить usb связь между Arduino Mega ADK 2560 (есть два типа, я использую тот, который имеет два порта usb на нем) и Samsung Galaxy S2, версия которого 2.3.5 (custom build). Однако,…
Перенос FreeRTOS на Arduino MEGA 2560 Rev3 (ATmega2560)
В настоящее время я внедряю программу на основе FreeRTOS на платформе Arduino. Я хотел бы использовать Arduino MEGA 2560 Rev3 (который основан на ATmega2560 ) для этого проекта, но я не смог найти…
Настройка Bluetooth HC-05 с Arduino Mega 2560
я не могу понять, когда я пытаюсь настроить и подключить bluetooth с моим устройством android. (я использовал bluetooth HC-05 от lc-technology и Arduino Mega 2560) Я пытаюсь соединить arduino и…
Как загрузить код c# с Visual Studio на Arduino Mega
Поэтому я решил попробовать свои силы в кодировании и Arduino. Мой проект-это автономный робот, который будет перемещаться сам по себе с помощью гидролокатора HC-SR04, который будет использовать в…
Arduino Sketch не загружается в Arduino Mega 2560
Я пытаюсь загрузить эскиз в Arduino Mega 2560, но он не загружается. Он показывает сообщение об ошибке- avrdude: verification error, first mismatch at byte 0x0000 0xbf != 0x06 avrdude: verification…
Встроенный светодиод светится на коде светодиода on arduino mega
Я написал код на atmel studio для мигания светодиода на выводе 13. После загрузки кода с помощью встроенного светодиода xloader mega начал мигать. Я загрузил код fade на свой mega, и встроенный…
Внутрисхемное программирование AVR — d.lab
Несколько слов об особенностях внутрисхемного программирования микроконтроллеров AVR ATtiny13, ATmega8 и подобных. Неоднократно наступая на грабли решил кратко обрисовать важные моменты.
Для того, что бы внутрисхемное (In-System Programming) программирование было возможным его нужно предусмотреть на этапе разработки схемы проекта — нужно добавить в схему разъем для программатора и учитывать обвязку портов микроконтроллера. Т.е., еще на начальном этапе разработки проекта нужно иметь в виду, что использование цепей (линий) программирования одновременно для других целей, может в последствии «сыграть злую шутку».
Так сложилось, что наиболее распространены два вида разъемов для ISP — 6- и 10-контактный. Причем 6-контактный используется чаще потому, что в нем есть необходимое количество контактов и он занимает меньше места на плате. На рисунке ниже изображены штыревые контакты разъемов впаянные в плату — вид на плату со стороны деталей (сверху).
Теперь по порядку о подключении выводов:
VDD и GND — при подключении программатора можно не обесточивать схему в которую он впаян при условии, что уровень питающего напряжения и напряжение программатора одинаковые. Т.е. для 5-вольтовой схемы используем 5-вольтовый программатор, а для 3.3-вольтовой схемы 5-вольтовый программатор использовать нельзя. Программируемый МК может питаться и даже запуститься от программатора, поэтому питание на схему можно не подавать.
RESET — для того, что бы внутрисхемное программирование работало нельзя в МК использовать его как порт входа/выхода. Как правило этот вывод «подтянут» к плюсу питания МК внешним или внутренним резистором. При использовании внешнего резистора не стоит выбирать его меньше 10кОм — это увеличит ток потребляемый схемой. Это правило касается всех подтягивающих резисторов и на других выводах.
SCK — главное, что бы на нем не «висел» конденсатор. Иначе МК будет определяться через раз или вообще «залочится». Тоже условие применимо и к выводам MISO/MOSI.
MISO, MOSI — можно использовать как и все порты входа/выхода, главное сильно не «прижимать» к земле или питанию. Нельзя подключать программатор к этим выводам через диоды и резисторы — возможен конфликт уровней.
RXD и TXD — можно напрямую соединять с линиями приема/передачи, но рекомендуется не оставлять висящим в воздухе RXD, дабы микроконтроллер не наловил помех. Дело в том, что в некоторых приемо-передатчиках RS-232 во время приема данных на вход RXD выход TXD переходит в неопределенное состояние (ни «0», ни «1»). Таким образом прерывание по UART в микроконтроллере может начать принимать данные по линии RXD во время передачи и заполнять буфер UART данными вперемешку в передаваемыми. Т.е. в итоге, на выходе получится каша. Поэтому, рекомендуется на оставлять без присмотра вывод RXD микроконтроллера и подтягивать его к лог. «1»:
По поводу подключения UART в микроконтроллерах ATMega есть еще одна любопытная особенность — микроконтроллер или подключенное к нему устройство по линии RXD-TXD может получать питание от входа RXD и начинать кое как работать. Честное слово, сам не верил пока не попался ибо звучит бредово. Но факт есть — подал питание на МК, а на другую половину схемы забыл. МК запустился и… начал общаться с соседней микросхемой по UART. Получается соседняя микросхема тоже включилась, хотя питание на нее не приходило 100%. Из-за такой особенности я убил пару дней, пытаясь наладить качественный прием-передачу данных микроконтроллера с «обесточенной» микросхемой.
Вот такой получился краткий «курс молодого яйца» и помните: люди, которые все знают, тоже наступают на грабли потому, что забывают их куда положили. Дополнения и пожелания как всегда приветствуются.
Скачать материалы статьи одним архивом
ATtiny13 — Последняя документация PlatformIO
ПлатформаAtmel AVR: 8-разрядные микроконтроллеры Atmel AVR обеспечивают уникальное сочетание производительности, энергоэффективности и гибкости конструкции. Они оптимизированы для ускорения выхода на рынок и легко адаптируются к новым продуктам. Они основаны на наиболее эффективной в отрасли архитектуре для программирования на языке C и ассемблере
.Микроконтроллер | АТТИНИ13 |
Частота | 9 МГц |
Вспышка | 1 КБ |
ОЗУ | 64Б |
Поставщик | Микрочип |
Используйте идентификатор attiny13
для опции платы в «platformio.ini» (файл конфигурации проекта):
[окружение: attiny13] платформа = atmelavr доска = attiny13
Вы можете переопределить настройки ATtiny13 по умолчанию для каждой среды сборки, используя board_***
вариант, где ***
— путь к объекту JSON из
Манифест платы attiny13.json. Например, board_build.mcu
, board_build.f_cpu
и т. д.
[окружение: attiny13] платформа = atmelavr доска = attiny13 ; поменять микроконтроллер board_build.mcu = attiny13 ; изменить частоту микроконтроллера доска_сборка.f_процессор = 9600000L
Отладка — решение «в один клик» для отладки с нулевой конфигурацией.
Предупреждение
В зависимости от вашей системы вам потребуется установить драйверы средств отладки. Пожалуйста, нажмите на совместимый инструмент отладки ниже для дальнейшего инструкции и информацию о конфигурации.
Вы можете переключаться между инструментами отладки и зондами отладки, используя Опция debug_tool в «platformio.ini» (файл конфигурации проекта).
ATtiny13 имеет встроенный датчик отладки, а IS READY для отладки.Вам не нужно использовать/покупать внешний отладочный зонд.
Совместимые инструменты | Бортовой | По умолчанию |
---|---|---|
Симавр | Да | Да |
Имя | Описание |
---|---|
Ардуино | Платформа на основе Arduino Wiring позволяет писать кроссплатформенное программное обеспечение для управления устройствами, подключенными к широкому спектру плат Arduino, для создания всех видов творческого кода, интерактивных объектов, пространств или физических ощущений |
2004 — ATMega48 для управления двигателем Аннотация: Примеры приложений ATTINY13 2535B Программирование ATTINY13 Примеры кода ATtiny13 attiny13 | Оригинал | 10-битный 2535Б ATMega48 для управления двигателем Примеры применения ATTINY13 Программирование ATTINY13 Примеры кода ATtiny13 аттини13 | |
2010 — attiny13 Резюме: нет абстрактного текста | Оригинал | Вспышка/100 С/100 2535JSâ аттини13 | |
2010 — Примеры применения ATTINY13 Аннотация: Примеры кода ATtiny13 Программирование ATTINY13 ATTINY13V-10SU ATMEL TINY13 Atmel attiny13 tiny13 atmel ATtiny13-20MMUR CS01 ATMEL 910 | Оригинал | Вспышка/100 С/100 10палаток 2535JS Примеры применения ATTINY13 Примеры кода ATtiny13 Программирование ATTINY13 АТТИНИ13В-10СУ АТМЕЛ МАЛЕНЬКИЙ13 Атмел Аттини13 крошечный13 атмел ATtiny13-20MMUR CS01 АТМЭЛ 910 | |
2004 — P87A Аннотация: p115a P87AD Atmel attiny13 ATTINY13 программирование P100 P150 P116A WGM02 | Оригинал | ATtiny13V1 ATtiny132 ATtiny13V: ATtiny13: ATtiny13 535А-06/03 2535Б-01/04 12 МГц 10 МГц P87A р115а P87AD Атмел Аттини13 Программирование ATTINY13 Р100 Р150 P116A WGM02 | |
2010 — Крошка13 Аннотация: примеры применения ATTINY13 ATtiny13-20MMUR 2535B ATTINY13-20PU | Оригинал | Вспышка/100 С/100 10контентов 2535Дж Крошечный13 Примеры применения ATTINY13 ATtiny13-20MMUR 2535Б ATTINY13-20PU | |
2003 — Программирование ATTINY13 Аннотация: ATtiny13 4297a 4297a adc «AVR132 — Enhanced Watchdog Timer» | Оригинал | AVR092: ATtiny11/12 ATtiny13 ATtiny11 ATtiny12 ATtiny13.ATtiny13 Программирование ATTINY13 4297а 4297а ацп «AVR132 — улучшенный сторожевой таймер» | |
2004 — крошечный13 Аннотация: Программирование ATTINY13 ATTINY13 ATMEL TINY13 tiny13 atmel Tiny-13 s8-s1 | Оригинал | 10-битный 2535БС крошечный13 Программирование ATTINY13 АТТИНИ13 АТМЕЛ МАЛЕНЬКИЙ13 крошечный13 атмел Крошечный-13 с8-с1 | |
2004 — Программирование ATTINY13 Аннотация: Примеры применения ATTINY13 ATtiny13V-10SJ | Оригинал | 10-битный 2535D Программирование ATTINY13 Примеры применения ATTINY13 ATtiny13V-10SJ | |
2004 — крошечный13 Аннотация: примеры применения ATTINY13 tiny13 atmel ATMEL TINY13 ATtiny13-20SI ATTINY13 программирование s8-s1 ATTINY13-20Pi CS02 ATtiny13V-10SJ | Оригинал | 10-битный 2535ДС крошечный13 Примеры применения ATTINY13 крошечный13 атмел АТМЕЛ МАЛЕНЬКИЙ13 ATtiny13-20SI Программирование ATTINY13 с8-с1 ATTINY13-20Pi CS02 ATtiny13V-10SJ | |
2003 — Примеры применения ATTINY13 Аннотация: attiny adc ATtiny13L atmel isp attiny atmel sine wave pwm схема 42SPM ATtiny family avr isp программатор схема схема ДИАГРАММА AVR GENERATOR SP10 | Оригинал | 10-битный Примеры применения ATTINY13 аттини адк ATtiny13L атмел провайдер аттини синусоидальная ШИМ-схема atmel 42SPM Семья Аттини схема программатора avr isp СХЕМА АВР ГЕНЕРАТОРА СП10 | |
2007 — CS01 Аннотация: CS02 | Оригинал | 10-битный 2535ГС CS01 CS02 | |
2007 — Примеры применения ATTINY13 Аннотация: Программирование ATTINY13 ATtiny13-20SI 2535H ATTINY13 Таймер DELAY | Оригинал | Вспышка/100 С/100 2535ч Примеры применения ATTINY13 Программирование ATTINY13 ATtiny13-20SI ATTINY13 Таймер задержки | |
2007 — ATTINY13V-10SU Аннотация: ATtiny13 sii 021 | Оригинал | 10-битный 2535G АТТИНИ13В-10СУ ATtiny13 021 | |
2008 — Примеры применения ATTINY13 Реферат: Примеры кода ATTINY13 ATTINY13V-10SU CS01 CS02 atmel 836 ATtiny13 ATMEL TINY13 ATTINY13-20MMU | Оригинал | Вспышка/100 С/100 10палаток 2535IS Примеры применения ATTINY13 АТТИНИ13 АТТИНИ13В-10СУ CS01 CS02 Атмел 836 Примеры кода ATtiny13 АТМЕЛ МАЛЕНЬКИЙ13 АТТИНИ13-20ММУ | |
2007 — attiny13a Реферат: ATTiny13-20PU Примеры приложений ATTINY13 ATMEL TINY13 ATTINY13 DELAY timer Примеры приложений ATTINY13a | Оригинал | Вспышка/100 С/100 10нтент 2535I аттини13а ATTiny13-20PU Примеры применения ATTINY13 АТМЕЛ МАЛЕНЬКИЙ13 ATTINY13 Таймер задержки Примеры применения ATTINY13a | |
2007 — Примеры применения ATTINY13 Резюме: JEDEC STANDARD MO-220 WGGD-5 ATTINY13V-10SU Примеры кода ATtiny13 CS01 CS02 | Оригинал | Вспышка/100 С/100 2535HS ATtiny13 Примеры применения ATTINY13 СТАНДАРТ JEDEC MO-220 WGGD-5 АТТИНИ13В-10СУ Примеры кода ATtiny13 CS01 CS02 | |
2004 — Недоступно Резюме: нет абстрактного текста | Оригинал | 10-битный 2535С | |
2004 — Примеры применения ATTINY13 Реферат: tiny13 tiny13 atmel ATTINY13V-10SU JEDEC STANDARD MO-220 WGGD-5 ATtiny13-20PU CS02 CS01 attiny13-20ssu ATTINY13 программирование | Оригинал | 10-битный 2535ES Примеры применения ATTINY13 крошечный13 крошечный13 атмел АТТИНИ13В-10СУ СТАНДАРТ JEDEC MO-220 WGGD-5 ATtiny13-20PU CS02 CS01 attiny13-20ssu Программирование ATTINY13 | |
2009 — AVR520: переход с ATtiny13 на ATtiny13A Аннотация: attiny13a AVR520 attiny13 ATtiny | Оригинал | AVR520: ATtiny13 ATtiny13A ATtiny13A ATtiny13.ATtiny13A. 8157С-АВР-05/09 AVR520: переход с ATtiny13 на ATtiny13A AVR520 ATtiny | |
2004 — Примеры применения ATTINY13 Реферат: Программирование ATTINY13 tiny13 atmel ATMEL серийный EEPROM 32K ATTINY13V-10SU JEDEC STANDARD MO-220 WGGD-5 ДИАГРАММА AVR ГЕНЕРАТОР avr isp программатор схема AVR 133 ATtiny13L | Оригинал | 10-битный 2535E Примеры применения ATTINY13 Программирование ATTINY13 крошечный13 атмел EEPROM серийного номера ATMEL 32K АТТИНИ13В-10СУ СТАНДАРТ JEDEC MO-220 WGGD-5 СХЕМА АВР ГЕНЕРАТОРА схема программатора avr isp АВР 133 ATtiny13L | |
2006 — 078-0342-01А Реферат: Примеры применения ATTINY13 atiny13 EN14908 AT90S8515-8PC atiny ARM at91sam7s64 Atmel attiny13 0026 Гц Конфигурация контактов ARM7 | Оригинал | 78-0342-01А СТК500, крошечный13.078-0342-01А Примеры применения ATTINY13 атини13 EN14908 АТ90С8515-8ПК крошечный АРМ at91sam7s64 Атмел Аттини13 0026 Гц Конфигурация контактов ARM7 | |
2008-ATTINY25 Резюме: ATtiny85 ATtiny13 attiny45 | Оригинал | W10624SDF W10624M ATtiny13, ATtiny25, ATtiny45 ATtiny85. ATtiny13 ATtiny25 ATtiny45 ATtiny85 | |
крошечный13 Резюме: stk500 ATMEL TINY13 315 МГц однонаправленная антенна РЧ-передатчик приемник 315 МГц светодиодная гистограмма tiny13 ATMEGA Atmel ATmega 16 сопряжение с РЧ-передатчиком 434 РЧ-приемник РЧ-приемник 434 МГц | Оригинал | СТК511 СТК500 18-мрз-05 ATtiny13 СТК500) крошечный13 стк500 АТМЕЛ МАЛЕНЬКИЙ13 Однонаправленная антенна 315 МГц Приемник радиопередатчика 315 МГц Светодиодная гистограмма tiny13 АТМЕГА Интерфейс Atmel ATmega 16 с радиочастотным передатчиком 434 радиочастотный приемник РЧ-приемник 434 МГц | |
Примеры применения ATTINY13 Аннотация: Примеры кода STK200 ATtiny13 Порт программатора AVR ISP Примеры кода ATmega8515 Исходный код схемы atmega8 Код STK200 на языке C для интерфейса микроконтроллера ATMEGA16 atmega32 с ЖК-дисплеем AVR ATMEGA8 таймеры | Оригинал | СТК200 СТК200 ATmega64 ATmega169 СТК300: ATmega103 ATmega128 Примеры применения ATTINY13 Примеры кода ATtiny13 Порт программатора AVR ISP Примеры кода ATmega8515 исходный код atmega8 Схема STK200 C-код для ATMEGA16 Интерфейс микроконтроллера atmega32 с ЖК-дисплеем Таймеры AVR ATMEGA8 | |
2007-ATtiny13 Аннотация: ATTINY45 | Оригинал | W10624M ATtiny13 ATtiny25 ATtiny45 ATtiny85 W10524SDF ATtiny13, ATtiny25, ATtiny45, ATtiny85, |
Пару месяцев назад я купил «Raspberry Pi Pico», чтобы получить некоторый практический опыт и создать с его помощью несколько потрясающих проектов.Но с тех пор он просто лежит у меня на столе и пылится. Сегодня, после очень долгого ожидания, я, наконец, решил создать короткий видео-учебник, чтобы показать вам, ребята, как начать работу с Raspberry Pi Pico. Темы, затронутые в этом уроке, я собираюсь обсудить: 1. Что такое Raspberry Pi Pico? 2. Технические характеристики платы3. Как запрограммировать Pico с помощью C/C++ и MicroPython a. Программирование Raspberry Pi Pico с помощью «Arduino IDE» i. Подготовка Arduino IDE ii. Загрузка примера Blink iii.Демо б. Программирование Raspberry Pi Pico с использованием «Tonny Python IDE» i. Установка MicroPython на Pico ii. Установка Tonny Python IDE iii. Загрузка примера Blink iv. Демо4. Разница между Raspberry Pi Pico и Arduino5. Преимущества и недостатки этой платы Что такое Raspberry Pi Pico? Raspberry Pi Pico — недорогой микроконтроллер. Его можно использовать для управления другими электронными модулями и датчиками так же, как и любым другим микроконтроллером. Pico — это не одноплатный компьютер с Linux, а скорее микроконтроллер, такой как Arduino.Поскольку это микроконтроллер, он не несет всех накладных расходов, которые приносит компьютер, и, следовательно, потребляет гораздо меньше тока. на самом деле он больше похож на Arduino, чем на Raspberry Pi. Pico не является конкурентом Raspberry Pi Zero, он на самом деле может работать в сочетании с обычным Pi. Pico удобен для макета и имеет 40 контактов GPIO, работающих на 3,3 В (по 20 на каждой стороне). . Он оснащен двухъядерным процессором ARM Cortex M0+. Мозг Пико — микросхема микроконтроллера RP2040 разработана Raspberry Pi в Великобритании.Он может питаться либо через порт micro USB, либо через контакт VSYS GPIO, обеспечивая напряжение в диапазоне от 1,8 В до 5,5 В. Технические характеристики PicoRaspberry Pi Pico абсолютно отличается от всех других моделей Raspberry Pi. Pico — один из первых микроконтроллеров, использующих процессор RP2040 «Pi Silicon». Это специальная «система на чипе» (SoC), разработанная командой Raspberry Pi в Великобритании, которая оснащена двухъядерным процессором Arm Cortex M0+ с тактовой частотой 133 МГц, 264 КБ SRAM и 2 МБ флэш-памяти для хранения файлов на нем.Технические характеристики:- Микроконтроллер: RP2040, разработанный Raspberry Pi в Великобритании- Процессор: двухъядерный процессор Arm Cortex-M0+, гибкая тактовая частота до 133 МГц- Входная мощность: 1,8–5,5 В постоянного тока- Рабочая температура: от -20°C до +85 °C- Размеры: 51,0 x 21,0 мм — Встроенные датчики: Датчик температуры — Память: 264 КБ встроенной внутренней SRAM и может поддерживать до 16 МБ внешней флэш-памяти 2 МБ встроенной флэш-памяти QSPI (Adafruit’s Feather RP2040, функции 16 МБ памяти) — GPIO: он имеет 40 сквозных контактов GPIO, также с зубчатым краем — 26 × многофункциональный 3.Контакты GPIO 3 В, которые включают в себя 3 аналоговых входа (аналоговые входы — это то, чего не хватает Raspberry Pi. Они используют переменное напряжение для подключения к таким устройствам, как потенциометры, джойстик или LDR) — 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-разрядных АЦП, 16 × управляемых каналов ШИМ — 8 × программируемых конечных автоматов ввода-вывода (PIO) для пользовательской поддержки периферийных устройств, которые могут разгрузить ЦП многие виды критичных по времени процессов — Другие особенности: — 1 × содержит 1 × Контроллер USB 1.1 и PHY с поддержкой хоста и устройства. Точные часы и таймер на кристалле. Режимы сна и ожидания с низким энергопотреблением. Pi Computers — обеспечивает программирование методом перетаскивания с использованием запоминающего устройства через USB. Самый большой недостаток Raspberry Pi Pico заключается в том, что на нем нет Wi-Fi или Bluetooth.ESP32 и ESP8266, которые вы можете купить по сходной цене, поставляются с Wi-Fi и Bluetooth (ESP32). Конечно, мы можем добавить беспроводную связь через внешние компоненты, однако это потребует немного больше знаний и опыта, чтобы заставить его работать. прошить код на микроконтроллер через USB. Схема распиновки: Вот вид сверху на распиновку на Raspberry Pi Pico. Метки контактов находятся на нижней стороне платы.Как запрограммировать Pico с помощью C/C++ и MicroPythonPi Foundation официально поддерживает MicroPython и C/C++, однако язык программирования высокого уровня, такой как CircuitPython (разветвление MicroPython, созданное Adafruit), и редактор Drag and Drop Python, такой как Pico Piper, который добавляет дополнительные улучшения и может использоваться для программирования плат Pico. Программирование Raspberry Pi Pico с использованием Arduino IDEPython и C/C++ отлично подходит для программирования Picos. Однако возможность программировать Pico точно так же, как Arduino, поможет нам интегрировать Pico в экосистему Arduino.Одна из лучших причин для этого — наличие библиотек для интеграции модулей, датчиков и других сложных вещей без необходимости писать весь код с нуля. Подготовка Arduino IDEДля запуска откройте Tools > Доски > Диспетчер плат и найдите «Pico», выберите «Arduino Mbed OS RP2040 Boards» и нажмите кнопку «Установить». Подключите кабель micro USB к Pico, а затем нажмите и удерживайте кнопку «BOOTSEL», прежде чем подключать USB-кабель к компьютеру.Отпустите BOOTSEL, как только диск RPI-RP2 появится на вашем компьютере. Теперь перейдите в Инструменты > Port, и теперь вы сможете увидеть номер COM-порта.ii. Загрузка примера BlinkПерейдите в раздел «Файлы» > Примеры > Основы > Моргните и нажмите «Загрузить», это загрузит код на плату Pico.iii. ДемонстрацияПосле того, как IDE завершит загрузку кода, вы увидите, как мигает встроенный светодиод Pico. Теперь вы можете использовать Pico как Arduino и программировать его с помощью Arduino IDE. Программирование Raspberry Pi Pico с помощью Tonny Python IDE. Вы можете программировать Pico с помощью MicroPython, подключив его на компьютер через USB, а затем перетаскивая на него файлы.я. Установка MicroPython на PicoДля установки MicroPython на Pico требуется скопировать на него файл «UF2». Файл UF2 представляет собой «файл двоичных данных», который содержит программу, которую можно перенести с ПК на микроконтроллер, такой как печатная плата Arduino или Pico. Чтобы загрузить MicroPython на Pico:1. Загрузите «Файл MicroPython UF2» по ссылке, указанной в описании ниже.2. Подключите кабель micro USB к Pico, а затем нажмите и удерживайте кнопку «BOOTSEL», прежде чем подключать кабель USB к компьютеру.Отпустите BOOTSEL, как только на вашем компьютере появится диск RPI-RP2.3. Перетащите файл UF2 на том RPI-RP2. 4. Ваш Pico перезагрузится. Вот и все, теперь вы используете MicroPython на своем Pico.ii. Установка Tonny Python IDE Для написания кода и сохранения файлов в Pico мы будем использовать «Thonny Python IDE». Thonny поставляется со встроенным Python 3.7, поэтому для изучения программирования вам понадобится всего одна простая программа установки. Для начала: 1. Загрузите и установите «Thonny» бесплатно с веб-сайта Thonny для вашей версии ОС.Ссылка на сайт в описании ниже. Примечание. Если вы используете «Raspberry Pi OS», на ней уже установлен Thonny, но, возможно, потребуется обновить его до последней версии sudo apt update && sudo подходящее обновление -y2. Подключите Raspberry Pi Pico к компьютеру. Затем в Thonny выберите Инструменты > Параметры и перейдите на вкладку «Интерпретатор». В раскрывающемся списке интерпретатора выберите «MicroPython (Raspberry Pi Pico)». Выпадающее меню порта можно оставить для «автоматического обнаружения Pico».Нажмите «ОК», чтобы закрыть. 3. Появится всплывающая оболочка Python под названием «REPL» (чтение, оценка, печать, цикл), показывающая, что Pico подключен и работает.iii. Загрузка Blink Пример1. Нажмите на панели главного редактора Thonny и введите следующий код, чтобы переключить встроенный светодиод. Из импорта машины Pin, Timerled = Pin(25, Pin.OUT)timer = Timer()def blink(timer):led.toggle() timer.init (частота = 2,5, режим = Timer.PERIODIC, обратный вызов = мигание) 2. Нажмите кнопку «Выполнить», чтобы выполнить код. 3. Тонни спросит, хотите ли вы сохранить файл на «Этот компьютер» или «Устройство MicroPython».Выберите «Устройство MicroPython». Введите «blink.py» в качестве имени файла. Убедитесь, что вы ввели «.py» в качестве расширения файла, чтобы Тонни распознал его как файл Python. IV. Демонстрация Теперь вы должны увидеть, как встроенный светодиод включается и выключается, пока вы не нажмете кнопку «Стоп». Разница между Raspberry Pi Pico и Arduino* До Raspberry Pi Pico компания Raspberry Pi всегда была известна своими одноплатными компьютерами. Однако в 2021 году Raspberry Pi Foundation сделала несколько шагов вперед и выпустила Raspberry Pi Pico, бросив прямой вызов Arduino и всем другим микроконтроллерам на основе плат.* Arduino впервые был представлен в 2005 году, и с тех пор на рынке были проданы миллионы модулей Arduino. По сравнению с этим отклик, полученный Pico после первого запуска в 2021 году, просто ошеломляет*. Оба устройства предназначены для автоматизации приложений, не требующих вмешательства человека. * Pico можно использовать отдельно или в сочетании с Arduino для целей автоматизации и искусственного интеллекта. * Оба модуля различаются по энергопотреблению, стоимости, функциональности и цене. * Платы Pico поставляются не распаянными, а Arduino поставляется предварительно припаянными или не распаянными.* Модуль Pico поддерживает MicroPython и C/C++, в то время как коды Arduino написаны на C/C++ с использованием Arduino.IDE. Итак, какой из них выбрать… Pico или Arduino? Преимущества и недостатки Теперь давайте посмотрим на плюсы и минусы этого микроконтроллера. board.Преимущества: * Raspberry Pi Pico — дешевый, очень маленький и простой в использовании микроконтроллер * Pico — это двухъядерное устройство, соединенное с высокопроизводительной шинной матрицей, что означает, что оба его ядра могут дать вам полную производительность одновременно * Pico потребляет очень низкое энергопотребление * Pico подходит для макетной платы * Pico можно запрограммировать с помощью C/C++ и MicroPython * Pico можно запрограммировать с помощью Arduino IDE * Pico имеет 26-кратное многофункциональность 3.Контакты GPIO 3 В (23 цифровых + 3 аналоговых) * Pico поставляется с 8 программируемыми входами/выходами (PIO) и 2 аналоговыми входами * Pico загружается быстро и не требует безопасного завершения работы Недостатки: * Pico полностью лишен WiFi и Bluetooth без каких-либо дополнительных ons * На верхней стороне платы отсутствует маркировка GPIO * Плата поставляется не распаянной, поэтому вам придется припаять контакты разъема или установить ее на поверхность, чтобы использовать ее в своем проекте * Контакты GPIO рассчитаны на 3,3 В, что можно рассматривать как недостаток, однако устройства, рассчитанные на 5 В, все еще могут использоваться с 3 В через делитель напряжения или преобразователь логического уровня.* Pico по-прежнему использует порт micro-USB. В то время как многие другие микроконтроллеры перешли на USB-C, Pico по-прежнему поставляется с портом micro-USB. и великолепный Raspberry Pi Pico в вашем следующем проекте. Бьюсь об заклад, в вашей голове должно быть много проектных идей, так что берите все необходимое и начинайте программировать. И чего же вы ждете??? Спасибо Еще раз спасибо за проверку моего поста. Я надеюсь, что это поможет вам.Если вы хотите поддержать меня, подпишитесь на мой канал YouTube: https://www.youtube.com/user/tarantula3Сообщения в блоге: https://diyfactory007.blogspot.com/2022/01/getting-started-with-raspberry-pi -pico.htmlVideo: https://youtu.be/vO_2XWJDF70Другие ресурсы:Техническое описание RP2040: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdfПроектирование оборудования с RP2040: https://datasheets.raspberrypi.com/ rp2040/hardware-design-with-rp2040.pdfТехническое описание Raspberry Pi Pico: https://datasheets.raspberrypi.com/pico/pico-datasheet.pdfНачало работы с Raspberry Pi Pico: https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdfMicroPython UF2: https://micropython.org/download/rp2-pico/rp2-pico-latest. Веб-сайт uf2Thonny: https://thonny.org/Piper Make: https://make.playpiper.com/CircuitPython 7.1.0: https://circuitpython.org/board/raspberry_pi_pico/Support My Work: BTC: 1M1PdxVxSTPLoMK91XnvEPksVuAa4J4dDpLTC: MQFkVkWimYngMwp5SMySbMP4 : DDe7Fws24zf7acZevoT8uERnmisiHwR5stETH: 0x939aa4e13ecb4b46663c8017986abc0d204cde60BAT: 0x939aa4e13ecb4b46663c8017986abc0d204cde60LBC: bZ8ANEJFsd2MNFfpoxBhtFNPboh7PmD7M2Thanks, ча снова в моей следующей статье.
Программирование микроконтроллера Atmel AVR ATtiny с STK500
Это руководство по программированию 8-контактного микроконтроллера Atmel AVR ATtiny12, ATtiny13, ATtiny22, ATtiny25, ATtiny45 или ATtiny85 с использованием инструмента Atmel STK500. В этих инструкциях предполагается, что у вас есть компьютер с ОС Windows, чип ATtiny и объектный файл, который вы хотите запрограммировать на нем.
Получите AVR Studio 4 с веб-сайта Atmel
AVR Studio 4 — бесплатная среда программирования и отладки от производителя микроконтроллера. В настоящее время AVR Studio 4 находится по следующему адресу в Интернете: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
Вероятно, в будущем адрес изменится. Если это так, перейдите на веб-сайт Atmel и выполните поиск «AVR Studio».
Веб-сайт Atmel ищет AVR Studio.
Щелкните ссылку AVR Studio 4 на странице результатов поиска. В нижней части этой страницы находится раздел, содержащий загружаемое программное обеспечение. Вы хотите загрузить AVR Studio 4 и самый последний пакет обновлений.
Раздел загрузки для AVR Studio.
AVR Studio 4 — это версия 4.18 (на момент написания этой статьи). Для загрузки программного обеспечения необходимо зарегистрироваться.Я не уверен, почему они беспокоятся. Я предполагаю, что они получают много глупых регистрационных имен.
Текущий пакет обновления — SP3 (на момент написания этой статьи). Он включает в себя функциональность предыдущих пакетов обновлений. Это может измениться в будущем, поэтому проверьте их веб-сайт для получения подробной информации.
После загрузки программного обеспечения установите AVR Studio 4 и все пакеты обновлений.
Приобретение инструмента для программирования STK500
Плата Atmel STK500 недорогая ($80), универсальна и поддерживает большинство микроконтроллеров AVR в DIP-корпусах.Вы можете сделать свои собственные платы-адаптеры для более новых микросхем, таких как ATtiny84 и ATtiny861.
К сожалению, Atmel решила вывести STK500 из употребления. STK600 намного дороже и требует набора адаптеров сокетов для обеспечения той же базовой функциональности. Таким образом, большинство любителей используют STK500, пока он еще доступен.
Получите стартовый комплект Atmel AVR Programmer STK500 от Digi-Key ($82.19, АЦТК500) или Mouser (79 долларов США, 556-ATSTK500). Если у вас нет устаревшего последовательного порта DB9 RS232, вам необходимо купить адаптер USB-последовательный порт.
Кроме того, вам понадобится внешний источник питания 500 мА при 10–15 В постоянного тока с отрицательным центром и штепсельной вилкой с внутренним диаметром 2,1 мм и наружным диаметром 5,5 мм. Digi-Key (6,98 долл. США, EPS120050-P5N) или Mouser (19,28 долл. США, 802-SPS-0612).
Вы можете заказать желаемый чип ATtiny при покупке STK500 и блока питания.В этом примере страницы используется файл ATtiny45. Digi-Key (2,31 долл. США, ATTINY45-20PU) или Mouser (1,87 долл. США, 556-ATTINY45-20PU)
Настройка STK500
STK500 должен быть настроен следующим образом.
- Провод, соединяющий PORTE/AUX RST PORTB PB5. Другой провод, соединяющий PORTE/AUX XT1 с PORTB PB3. (Подробности позже)
Перемычки
Заголовки на перемычках должны быть установлены, как показано ниже.
Размещение перемычки STK500 для программирования ISP 8-контактного крошечного чипа.
- VTARGET подключен. Это подает питание на целевой чип.
- VREF подключен. Это подает аналоговое напряжение на целевой чип. (Вероятно, не требуется для этого примера.)
- СБРОС подключен. STK500 должен иметь возможность сбросить целевой чип, чтобы запрограммировать его.
- XTAL1 подключен. Тактовый сигнал STK500 подается на целевой чип для отправки каждого бита.
- OSCSEL контакты 1 и 2 подключены. Это позволяет AVR Studio контролировать тактовую частоту.
- BSEL2 отключен. Я оставляю свой висеть на булавке, чтобы не потерять его.
- PJUMP отключен.
Размещение чипа ATtiny
При выключенном питании обязательно поместите микросхему ATtiny с контактом 1, ближайшим к выемке на синей шелкографии, под 8-контактным разъемом STK3400D1.
8-контактный крошечный чип Atmel AVR с точкой по направлению к выемке в гнезде программатора STK500.
Если вы вставите микросхему в гнездо в неправильной ориентации, она может быть повреждена, так как питание подается на неправильные контакты. Стыдно признаться, что проделывал это много раз, и пока чип уцелел.
Соединения часов и сброса
По умолчанию сигналы часов и сброса от STK500 не подключены ни к каким контактам на 8-контактном разъеме STK3400D1. Требование, чтобы вы сделали пару подключений, позволяет поддерживать широкий спектр микросхем с помощью одного и того же инструмента программирования.
С помощью провода, измерительного провода с крючком или половины каждого из двухжильных кабелей из комплекта поставки подключите RST (сброс) на PORTE/AUX к PB5 на PORTB. И подключите XT1 (тактовый сигнал) на PORTE/AUX к PB3 на PORTB.
Проводные перемычки для программирования ISP Крошечная 8-контактная микросхема Atmel AVR в STK500. Обратите внимание, что используются только синий и зеленый провода. Желтый и белый провода просто свисают с концов.
Другой способ взглянуть на это:
STK500 Проводка ATtiny с тестовыми выводами с крючком IC.
Далее давайте запустим AVR Studio и посмотрим, сможем ли мы подключиться к STK500.
Что такое ATtiny13? – nbccomedyplayground
Что такое ATtiny13?
Во-первых, ATtiny13 — это маломощный 8-разрядный КМОП-микроконтроллер, основанный на усовершенствованной RISC-архитектуре AVR. Выполняя мощные инструкции за один такт, ATtiny13 достигает пропускной способности, приближающейся к 1 MIPS на МГц, что позволяет разработчику системы оптимизировать энергопотребление в зависимости от скорости обработки.
Как запрограммировать ATtiny13 с помощью Arduino Uno?
Содержание
- Программирование ATtiny13 с помощью Arduino Uno.
- Превратите Arduino в AVRISP.
- Установите аппаратный пакет для ATtiny13.
- Подключите оборудование.
- Настройки Arduino IDE.
- Запись загрузчика.
- Загрузить скетч.
- Демо.
Как запрограммировать ATtiny85 с помощью Arduino IDE?
2. Запрограммируйте ATtiny85 с помощью Arduino
.- Войдите в свою среду разработки Arduino, выбрав Инструменты > Плата.
- Выберите вариант под надписью ATtiny25/45/85.
- В разделе Инструменты выберите Процессор: ATtiny85 и Часы: Внутренние 1 МГц.
- Измените настройку программатора на USBtinyISP.
- Когда вы будете готовы к загрузке, подключите ATtiny85 к специальному разъему.
Что такое Arduino Nano?
Arduino Nano — это небольшая, полная и удобная для макета плата на базе ATmega328 (Arduino Nano 3.x). Он имеет более или менее ту же функциональность, что и Arduino Duemilanove, но в другом корпусе.В нем отсутствует только разъем питания постоянного тока, и он работает с USB-кабелем Mini-B вместо стандартного.
Как запрограммировать ATtiny85 без Arduino?
Для программирования ATtiny85 без Arduino нам сначала нужно загрузить в него загрузчик с помощью платы Arduino UNO, это одноразовый процесс, и после этого плата UNO нам больше не понадобится. Загрузчик — это специальная программа, работающая в микроконтроллере, которую необходимо запрограммировать.
Как вы кодируете крошечный?
Как запрограммировать Tiny
- Шаг 1: Детали и инструменты.Вот детали и инструменты, необходимые для этого проекта:
- Шаг 2. Получите доступ к крошечным файлам. Загрузите эти файлы:
- Шаг 3: Проводная цепь. Подключите ардуино к attiny:
- Шаг 4: Запрограммируйте Arduino.
- Шаг 5. Загрузите эскиз.
- Шаг 6: Готово.
- 3 комментария.
Разъем внутрисистемного программирования (ISP) обычно представляет собой шестиконтактный разъем 2×3, хотя в некоторых конструкциях используется восьмиконтактный разъем 2×4. Заголовок ISP обеспечивает стандартизированный интерфейс для передачи сигналов программирования от внешнего программатора к микросхеме.Типичный заголовок провайдера.
Как вы используете крошечный программатор AVR?
Программатор Tiny AVR подключается непосредственно к USB-порту и обеспечивает разъем для программирования ATTiny45 и 85. Просто вставьте ATTiny в разъем, подключите программатор к USB-порту и запустите Arduino IDE.
Что такое ATtiny85?
ATtiny85 — это высокопроизводительный 8-разрядный микроконтроллер с низким энергопотреблением, основанный на усовершенствованной архитектуре RISC. Он имеет 8 Кбайт встроенной программируемой флэш-памяти и популярен благодаря своим компактным размерам и своим функциям.
Как подать питание на ATtiny85?
Это означает, что вы можете питать его от USB, крошечной батарейки-таблетки или чего-то среднего, например, LiPo. ATtiny85 (маленький черный квадрат) и экран могут работать от монетоприемника. При питании от шины USB (5 В) и работе на тактовой частоте 1 МГц ATtiny85 будет потреблять менее 2 мА.
Почему используется Arduino Nano?
Используется для производства часов с точной частотой при постоянном напряжении. Существует одно ограничение использования Arduino Nano i.е. он не поставляется с разъемом питания постоянного тока, что означает, что вы не можете подключить внешний источник питания через аккумулятор.
Как запрограммировать attiny13a или 13 с помощью Arduino?
Перейдите к Files-Examples-ArduinoISP и щелкните ArduinoISP. Загрузите этот скетч в свой Arduino. Теперь ваш Arduino настроен как программатор для программирования других микросхем. Чтобы запрограммировать ATtiny13 или 13a, вам необходимо установить файлы ядра.
Как установить аппаратный пакет для attiny13?
Установите аппаратный пакет для ATtiny13 Хорошо.1.2 Откройте Arduino IDE -> Инструменты -> Плата -> Диспетчер плат. Найдите MicroCore и нажмите «Установить». 2. Подключить аппаратный светодиод и резистор нужно только для тестирования, чтобы увидеть, работает ли загруженный пример кода или нет. 3. Настройки Arduino IDE. Часы: внутренний генератор 1,2 МГц.
Является ли attiny13 маломощным микроконтроллером?
Во-первых, ATtiny13 — это маломощный 8-разрядный КМОП-микроконтроллер, основанный на усовершенствованной RISC-архитектуре AVR. Выполняя мощные инструкции за один такт, ATtiny13 достигает пропускной способности, приближающейся к 1 MIPS на МГц, что позволяет разработчику системы оптимизировать энергопотребление в зависимости от скорости обработки.
Что такое контакт 3 ATtiny 13?
Здесь контакт 3 аппаратно определен как PB4, теперь давайте посмотрим на отредактированный код: // Мы заменим «LED_BUILTIN» на «4», так как у ATtiny нет встроенного светодиода! // инициализируем цифровой контакт 3 ATtiny 13 (определенный аппаратно как 4) в качестве выхода.
%PDF-1.3 % 9043 0 объект > эндообъект внешняя ссылка 9043 438 0000000016 00000 н 0000009135 00000 н 0000009376 00000 н 0000009529 00000 н 0000009562 00000 н 0000009621 00000 н 0000014002 00000 н 0000014249 00000 н 0000014319 00000 н 0000014416 00000 н 0000014521 00000 н 0000014704 00000 н 0000014859 00000 н 0000014998 00000 н 0000015136 00000 н 0000015291 00000 н 0000015461 00000 н 0000015565 00000 н 0000015671 00000 н 0000015796 00000 н 0000015888 00000 н 0000015981 00000 н 0000016089 00000 н 0000016218 00000 н 0000016339 00000 н 0000016522 00000 н 0000016697 00000 н 0000016810 00000 н 0000016951 00000 н 0000017095 00000 н 0000017225 00000 н 0000017374 00000 н 0000017509 00000 н 0000017633 00000 н 0000017749 00000 н 0000017879 00000 н 0000018004 00000 н 0000018172 00000 н 0000018286 00000 н 0000018415 00000 н 0000018542 00000 н 0000018667 00000 н 0000018802 00000 н 0000018925 00000 н 0000019100 00000 н 0000019222 00000 н 0000019359 00000 н 0000019551 00000 н 0000019689 00000 н 0000019820 00000 н 0000019927 00000 н 0000020082 00000 н 0000020235 00000 н 0000020358 00000 н 0000020482 00000 н 0000020610 00000 н 0000020736 00000 н 0000020851 00000 н 0000020996 00000 н 0000021163 00000 н 0000021277 00000 н 0000021394 00000 н 0000021518 00000 н 0000021639 00000 н 0000021759 00000 н 0000021919 00000 н 0000022009 00000 н 0000022189 00000 н 0000022306 00000 н 0000022484 00000 н 0000022612 00000 н 0000022758 00000 н 0000022889 00000 н 0000023023 00000 н 0000023172 00000 н 0000023318 00000 н 0000023466 00000 н 0000023642 00000 н 0000023739 00000 н 0000023914 00000 н 0000024043 00000 н 0000024147 00000 н 0000024274 00000 н 0000024398 00000 н 0000024512 00000 н 0000024680 00000 н 0000024777 00000 н 0000024931 00000 н 0000025099 00000 н 0000025230 00000 н 0000025359 00000 н 0000025507 00000 н 0000025694 00000 н 0000025842 00000 н 0000025940 00000 н 0000026038 00000 н 0000026229 00000 н 0000026341 00000 н 0000026454 00000 н 0000026593 00000 н 0000026730 00000 н 0000026837 00000 н 0000026949 00000 н 0000027075 00000 н 0000027189 00000 н 0000027361 00000 н 0000027492 00000 н 0000027660 00000 н 0000027817 00000 н 0000027931 00000 н 0000028111 00000 н 0000028215 00000 н 0000028351 00000 н 0000028477 00000 н 0000028646 00000 н 0000028788 00000 н 0000028962 00000 н 0000029097 00000 н 0000029227 00000 н 0000029364 00000 н 0000029517 00000 н 0000029655 00000 н 0000029794 00000 н 0000029929 00000 н 0000030075 00000 н 0000030242 00000 н 0000030418 00000 н 0000030518 00000 н 0000030629 00000 н 0000030747 00000 н 0000030893 00000 н 0000031062 00000 н 0000031179 00000 н 0000031296 00000 н 0000031406 00000 н 0000031525 00000 н 0000031667 00000 н 0000031800 00000 н 0000031899 00000 н 0000031999 00000 н 0000032157 00000 н 0000032276 00000 н 0000032398 00000 н 0000032541 00000 н 0000032686 00000 н 0000032845 00000 н 0000032947 00000 н 0000033114 00000 н 0000033289 00000 н 0000033408 00000 н 0000033529 00000 н 0000033671 00000 н 0000033849 00000 н 0000033967 00000 н 0000034086 00000 н 0000034195 00000 н 0000034300 00000 н 0000034444 00000 н 0000034570 00000 н 0000034709 00000 н 0000034832 00000 н 0000035005 00000 н 0000035109 00000 н 0000035290 00000 н 0000035396 00000 н 0000035543 00000 н 0000035718 00000 н 0000035831 00000 н 0000035964 00000 н 0000036087 00000 н 0000036207 00000 н 0000036331 00000 н 0000036450 00000 н 0000036569 00000 н 0000036688 00000 н 0000036867 00000 н 0000036984 00000 н 0000037145 00000 н 0000037265 00000 н 0000037381 00000 н 0000037479 00000 н 0000037598 00000 н 0000037729 00000 н 0000037852 00000 н 0000037974 00000 н 0000038104 00000 н 0000038218 00000 н 0000038389 00000 н 0000038559 00000 н 0000038715 00000 н 0000038848 00000 н 0000038968 00000 н 0000039071 00000 н 0000039191 00000 н 0000039374 00000 н 0000039499 00000 н 0000039613 00000 н 0000039731 00000 н 0000039838 00000 н 0000039946 00000 н 0000040073 00000 н 0000040196 00000 н 0000040357 00000 н 0000040495 00000 н 0000040594 00000 н 0000040761 00000 н 0000040926 00000 н 0000041039 00000 н 0000041157 00000 н 0000041267 00000 н 0000041378 00000 н 0000041505 00000 н 0000041634 00000 н 0000041769 00000 н 0000041902 00000 н 0000042038 00000 н 0000042136 00000 н 0000042263 00000 н 0000042365 00000 н 0000042526 00000 н 0000042662 00000 н 0000042761 00000 н 0000042880 00000 н 0000043058 00000 н 0000043178 00000 н 0000043293 00000 н 0000043426 00000 н 0000043556 00000 н 0000043713 00000 н 0000043836 00000 н 0000043938 00000 н 0000044087 00000 н 0000044179 00000 н 0000044273 00000 н 0000044395 00000 н 0000044503 00000 н 0000044603 00000 н 0000044702 00000 н 0000044799 00000 н 0000044896 00000 н 0000044994 00000 н 0000045092 00000 н 0000045190 00000 н 0000045288 00000 н 0000045386 00000 н 0000045484 00000 н 0000045582 00000 н 0000045680 00000 н 0000045778 00000 н 0000045876 00000 н 0000045974 00000 н 0000046072 00000 н 0000046170 00000 н 0000046268 00000 н 0000046366 00000 н 0000046464 00000 н 0000046562 00000 н 0000046660 00000 н 0000046758 00000 н 0000046857 00000 н 0000046956 00000 н 0000047055 00000 н 0000047154 00000 н 0000047253 00000 н 0000047352 00000 н 0000047451 00000 н 0000047550 00000 н 0000047649 00000 н 0000047748 00000 н 0000047847 00000 н 0000047946 00000 н 0000048045 00000 н 0000048144 00000 н 0000048243 00000 н 0000048342 00000 н 0000048441 00000 н 0000048540 00000 н 0000048639 00000 н 0000048738 00000 н 0000048837 00000 н 0000048936 00000 н 0000049035 00000 н 0000049134 00000 н 0000049233 00000 н 0000049332 00000 н 0000049431 00000 н 0000049530 00000 н 0000049629 00000 н 0000049728 00000 н 0000049827 00000 н 0000049926 00000 н 0000050025 00000 н 0000050124 00000 н 0000050223 00000 н 0000050322 00000 н 0000050421 00000 н 0000050520 00000 н 0000050619 00000 н 0000050718 00000 н 0000050817 00000 н 0000050916 00000 н 0000051015 00000 н 0000051114 00000 н 0000051213 00000 н 0000051312 00000 н 0000051411 00000 н 0000051510 00000 н 0000051609 00000 н 0000051708 00000 н 0000051807 00000 н 0000051906 00000 н 0000052005 00000 н 0000052104 00000 н 0000052203 00000 н 0000052302 00000 н 0000052401 00000 н 0000052500 00000 н 0000052599 00000 н 0000052698 00000 н 0000052797 00000 н 0000052896 00000 н 0000052995 00000 н 0000053094 00000 н 0000053193 00000 н 0000053292 00000 н 0000053391 00000 н 0000053490 00000 н 0000053589 00000 н 0000053688 00000 н 0000053787 00000 н 0000053886 00000 н 0000053985 00000 н 0000054084 00000 н 0000054183 00000 н 0000054282 00000 н 0000054381 00000 н 0000054480 00000 н 0000054579 00000 н 0000054678 00000 н 0000054777 00000 н 0000054876 00000 н 0000054975 00000 н 0000055074 00000 н 0000055173 00000 н 0000055272 00000 н 0000055371 00000 н 0000055470 00000 н 0000055569 00000 н 0000055668 00000 н 0000055767 00000 н 0000055866 00000 н 0000055965 00000 н 0000056064 00000 н 0000056163 00000 н 0000056262 00000 н 0000056361 00000 н 0000056460 00000 н 0000056559 00000 н 0000056658 00000 н 0000056757 00000 н 0000056856 00000 н 0000056955 00000 н 0000057054 00000 н 0000057153 00000 н 0000057252 00000 н 0000057351 00000 н 0000057450 00000 н 0000057549 00000 н 0000057648 00000 н 0000057747 00000 н 0000057846 00000 н 0000057945 00000 н 0000058044 00000 н 0000058143 00000 н 0000058242 00000 н 0000058341 00000 н 0000058440 00000 н 0000058539 00000 н 0000058638 00000 н 0000058737 00000 н 0000058836 00000 н 0000058935 00000 н 0000059034 00000 н 0000059133 00000 н 0000059232 00000 н 0000059331 00000 н 0000059430 00000 н 0000059529 00000 н 0000059628 00000 н 0000059727 00000 н 0000059826 00000 н 0000059925 00000 н 0000060024 00000 н 0000060123 00000 н 0000060222 00000 н 0000060321 00000 н 0000060420 00000 н 0000060519 00000 н 0000060618 00000 н 0000060717 00000 н 0000060816 00000 н 0000060915 00000 н 0000061014 00000 н 0000061113 00000 н 0000061370 00000 н 0000061413 00000 н 0000061456 00000 н 0000061479 00000 н 0000062225 00000 н 0000062248 00000 н 0000063065 00000 н 0000063789 00000 н 0000064438 00000 н 0000065158 00000 н 0000066029 00000 н 0000066052 00000 н 0000066856 00000 н 0000066880 00000 н 0000068002 00000 н 0000068026 00000 н 0000069122 00000 н 0000069145 00000 н 0000070156 00000 н 0000070577 00000 н 0000070793 00000 н 0000070816 00000 н 0000071859 00000 н 0000071882 00000 н 0000072839 00000 н 0000462705 00000 н 0000477777 00000 н 0000483746 00000 н 0000489159 00000 н 0000491839 00000 н 0000491979 00000 н 0000492120 00000 н 0000009664 00000 н 0000013978 00000 н трейлер ] >> startxref 0 %%EOF 9044 0 объект > эндообъект 9045 0 объект !з.{В) /U (lD»‘a,MBu/⺨) /П-12 /В 1 /Длина 40 >> эндообъект 9046 0 объект [ 9047 0 Р ] эндообъект 9047 0 объект > /Ф 9278 0 Р >> эндообъект 9048 0 объект > эндообъект 9479 0 объект > ручей ‘VrɃ USk}#QKn
Программирование ATtiny13 с использованием Arduino ISP (и все необходимые хакерские действия!)
Недавно я наткнулся на высокотехнологичную лабораторию Массачусетского технологического института и сразу же обратил внимание на их руководство, которое позволяло использовать Arduino Uno (и более ранние версии) для программирования плат ATtiny.Шаги были простыми, и они уже обновили свой учебник для выпуска Arduino 1.0 (что сделало его еще проще). Мне не терпелось попробовать это (тем более, что для многих моих проектов едва ли требуется больше пары контактов) и сразу же отправился в sparkfun, чтобы заказать ATtiny85, который они поддерживают.
Я уже некоторое время присматривался к Magic Chassis (обсуждение в другом посте) и решил объединить их вместе. Шасси Magic быстро заканчивались, а ATtiny85 уже были в резерве.Будучи нетерпеливым человеком, я решил заказать ATtiny13 и попытаться взломать существующую настройку, чтобы она заработала.
После выхода Arduino 1.0 IDE новое руководство на веб-сайте стало еще проще и требует изменения только двух файлов. Вы можете получить доступ к этим изменениям на github https://github.com/tekstop/attiny/tree/Arduino1 (ветвь Arduino1).
Инструкции такие же, как и в учебных пособиях MIT high-low tech lab, и единственное реальное изменение, которое требовалось, это добавить эту плату к доскам.текстовый файл. Для этого все, что мне нужно было сделать, это заглянуть в пару таблиц данных и понять, что на самом деле означают разные настройки. Это был первый раз, когда я действительно углублялся в фьюзы и регистры clk, и это было довольно интересно и прямолинейно. Моя методология взлома:
Проверьте значение байтов предохранителей в файле boards.txt для существующего микроконтроллера и найдите значения фактических битов, просмотрев таблицу данных. Следующая часть заключалась в том, чтобы убедиться, что я установил аналогичные значения битов для микроконтроллера ATtiny13.Это было довольно интересно, особенно с выбором внутренних часов (9,6 МГц) и доступных опций предварительного делителя.
Поскольку внутренние часы ATtiny13 сильно отличаются от ATtiny85, библиотека Software Serial (поддерживает только 8,16 или 20 МГц) не будет работать с ATtiny13 (часы 9,6 МГц).
Файл pins_arduino.h трогать не нужно, так как распиновка у tiny8 такая же.
Только с этими изменениями я был готов протестировать свой программатор Arduino.
1) Запрограммировал скетч ArduinoISP на моем Arduino Duemilanove.
2) Скопировал Github в папку Arduino Sketch
3) Выберите мою плату в IDE, выбрал программатор как Arduino и соединил контакты, как описано в туториале.
4) Записать загрузчик (один раз). {Это сработало, выдало какое-то безобидное предупреждение BS2, которое можно спокойно игнорировать}
(В этот момент у меня кружилась голова от волнения, потому что с первого раза ничего не работает, верно!!!)
5) Выбрал скетч Blink и загрузил его на доску (успех!)
И тут реальность поразила! Мой светодиод не мигал! Он просто остался!.Я изменил свои команды и теперь увидел, что светодиод не горит, что дало мне надежду, что по крайней мере что-то запрограммировано правильно.
Мои эксперименты показали, что что-то не так с командами delay/millis. Обычные операции чтения/записи выполнялись нормально. Конечно, это побудило меня проверить значения предохранителей для часов [что казалось правильным, и их изменение не дало никакого эффекта].
В этот момент я начал исследовать фактический код C для функций задержки и мельницы.Глядя на код в hardware/arduino/cores/arduino/wiring.c, я увидел эту строку в коде, которая показалась мне подозрительной.
#если определено(__AVR_ATtiny24__) || определено (__AVR_ATtiny44__) || определено (__AVR_ATtiny84__)
СИГНАЛ (TIM0_OVF_vect)
#else
СИГНАЛ (TIMER0_OVF_vect)
#endif
Затем я углубился в фактический заголовочный файл для attiny13 (iotn13.h), чтобы обнаружить, что макрос прерывания для переполнения таймера для attiny13 был TIM0_OVF_vect, а не TIMER0_OVF_vect.