Attiny13 arduino проекты

Attiny13 arduino проекты

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

Стрелочный индикатор для усилителя

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

Модификация туалетного ароматизатора

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

Светодинамическая игрушка на Новый Год

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

Attiny и ультразвуковой дальномер

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

ИК-локатор, парктроник, фотобарьер…

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

Сигнализатор невыключенных фар автомобиля

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

Форум с множеством мыслей и идей применения МК Attiny 13

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

Охранная GSM-сигнализация на ATtiny13

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

Индикатор температуры и влажности

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

Поиск по ключевым словам

Связаться со мной:

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

Источник

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

Всем привет. Уже давно появился способ программировать маленькие, дешёвые, экономичные к питанию и доступные микроконтроллеры ATtiny13A.

Вот собственно всё то что ниже, только в видео формате:

Сегодня расскажу, как я зашиваю Arduino’вские скетчи в ATtiny13A.

Итак, для начала нам нужно скачать вот этот архив (взято и совсем чуть-чуть доделано отсюда), положить файлы по адресу «\Documents\Arduino\hardware\». Должно получится что-то типа «C:\Users\Администратор\Documents\Arduino\hardware\attiny13\avr\cores\core13».

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

Обязательно проверяем, правильно ли у нас выбрано «расположение папки со скетчами» (посмотреть можно во вкладке «Файл/Настройки»):

Туда нам будет нужно распаковать архив с ядром для ATtiny13.

Теперь прошьём в дуинку ArduinoISP из примеров Arduino IDE:

Потом подключаем ATtiny13 к Arduino, как показано на картинке:

Потом нужно изменить тип программатора на Arduino as ISP, как показано на скриншоте:

Теперь мы можем выбрать, на какой частоте может работать микроконтроллер ATtiny13.
С завода ATtiny13 работает на частоте в 1.2 МГц, то есть микроконтроллер тактируется от внутренней RC- цепочки на частоте в 9.6 МГц и включён делитель на 8, поэтому я указал частоту в 1.2 МГц как дефолтную:

Как видим, доступные частоты — 1.2 МГц, 4.8 МГц и 9.6 МГц. Для изменения частоты нам нужно нажать на кнопку «Записать загрузчик», которая располагается в вкладке «Сервис».

Что же среда делает при нажатии на кнопку «Записать загрузчик»?

Arduino IDE в данном случае просто выставляет нужные фьюзы микроконтроллера.
К примеру, мне нужно, чтобы ATtiny13 работал на частоте в 4.8 мГц, я выбираю нужную мне частоту и только один раз жму кнопку «Записать загрузчик» — всё. Теперь микроконтроллер будет всегда работать на заданной частоте, если будет нужно изменить частоту опять — проделываем описанную выше процедуру.

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

Минимальное рабочее напряжение, при котором ATtiny13 сохраняет работоспособность — 1.8 В, причем гарантировано будет работать, в данном случае, только на частоте в 1.2 МГц.

Итак, зашьем для начала почти родной начинающим ардуинщикам пример blink, ну как же без него?

Как вы уже заметили, скетч стал заметно легче, чем для Arduino Uno. Это связано с тем, что урезаны большинство Arduino’вских функций ну и они немного больше оптимизированные.

поддерживаются следующие функции:

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

Итак, как мы только что увидели, нам доступно всего 1024 байта. Мало ли это? Ну, смотря для каких задач. Если, например, для каких-то там мигалок, пищалок или индикаторов, думаю, будет вполне достаточно, хотя можно даже что-то посерьёзней сварганить, особенно если познакомится с AVR-Cи.

Распиновка микроконтроллера из даташита:

К примеру, PB4 — это то же, что и pin 4, или просто 4.
Аналоговые входы — все, на которых пишет ADC*, например PB4 — это есть ADC2, то есть для того, чтобы считать напряжение, пишем analogRead(A2); или просто analogRead(2);, аппаратный ШИМ поддерживают только порты 0 и 1.

UPD0: добавил ссылку как экономить место на микроконтроллере и как моделировать Arduino в программе Proteus:

Источник

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

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

Прежде всего, ATtiny13 — это 8‑битный микроконтроллер КМОП с низким энергопотреблением на базе усовершенствованной RISC-архитектуры AVR. После приобретения компании Atmel компанией Microchip новый микроконтроллер ATtiny13 по-прежнему находится в производстве.

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

Для проекта нам понадобятся следующие компоненты:

Схема подключения

Соедините элементы, как показано на нижеследующей схеме, созданной с помощью программы Fritzing (полный обзор программы по ссылке).

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

Сначала нужно соединить вывод 5V платы Arduino и вывод 8 микроконтроллера ATtiny. Затем соедините соответствующие выводы платы и микроконтроллера: GND к 4, 13 к 7, 12 к 6, 11 к 5 и, наконец, 10 к 1.

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

Для загрузки программы в микроконтроллер ATtiny13 нам необходимо настроить плату Arduino в режим программатора. Это можно сделать, загрузив готовый пример ArduinoISP в плату, выбрав пункт меню Файл > Примеры > ArduinoISP (File > Examples > ArduinoISP) в среде разработки.

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

Для установки этих файлов запустите среду Arduino IDE и выберите пункт меню Файл > Настройки (File > Preferences). Скопируйте следующий адрес в поле «Дополнительные ссылки для Менеджера плат» (Additional Boards Manager URLs): https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json. Если у вас уже есть ссылка в этом поле, то можно добавить новую, отделив её от прежней запятой и пробелом.

Теперь зайдите в меню Инструменты > Плата (Tools > Board) и щёлкните на пункте «Менеджер плат» (Boards Manager). Теперь прокрутите вниз, пока не увидите плату DIY ATtiny, установите её файлы, нажав кнопку «Установка» (Install).

Запись начального загрузчика в микроконтроллер ATtiny

По сути, начальный загрузчик (bootloader) — это часть встроенного программного обеспечения, которая позволяет устанавливать новое ПО без использования внешнего программатора.

Чтобы начать программировать микроконтроллер ATtiny13, нам необходимо записать в него начальный загрузчик. Для этого надо выполнить два шага. Первый — в меню Инструменты > Плата (Tools > Board) выбрать ATtiny13. Второй — выбрать пункт меню Инструменты > Записать Загрузчик (Tools > Burn Bootloader).

Необходимо обратить внимание на версию микроконтроллера ATtiny и в меню Инструменты > Процессор (Tools > Processor Version) выбрать ATtiny13 или ATtiny13a в зависимости от вашей версии.

После записи Загрузчика микроконтроллер ATtiny готов для программирования. Вы теперь можете попробовать примеры из среды Arduino IDE, такие как Blink.

Чтобы пример Blink работал как следует, вам необходимо ознакомиться с нижеприведённой схемой.

Здесь вывод 3 на микросхеме определён как 4 (PB4), поэтому скорректированный код будет выглядеть следующим образом:

Далее измените свою схему, добавив светодиод между выводом 3 и землёй GND вместе с подходящим резистором.

Поиск и устранение неисправностей

Если при реализации этого проекта у вас возникли какие-либо проблемы, вы можете выполнить следующее:

  • Перепроверьте все соединения и положение микросхемы ATtiny и светодиода.
  • Перезапишите пример ArduinoISP в плату Arduino.
  • Установите электролитический конденсатор 10 мкФ между землёй и выводом сброса (Reset) на плате Arduino. Убедитесь, что установили конденсатор в правильном положении — отрицательная ножка соединяется с землёй.
  • Установите любой большой конденсатор между линией 5 В (5V) и линией земли на макетной плате, это поможет сгладить скачки напряжения.
  • Убедитесь, что плата Arduino, через которую программируется микроконтроллер ATtiny, получает достаточно электропитания. 9‑вольтовой батарейки может оказаться недостаточно.
  • Замените свою плату Arduino на другую плату Arduino.
  • Убедитесь, что используете актуальную версию среды разработки и актуальные специальные файлы для микроконтроллера.
  • Откройте меню «Инструменты» (Tools) и удостоверьтесь, что оно выглядит, как на рисунке из раздела этой статьи «Запись начального загрузчика». Если что-то отличается, то измените это и снова запишите загрузчик.

Вам могут понадобиться некоторые элементы в процессе выявления проблем: электролитический конденсатор 10 мкФ и любой большой электролитический конденсатор.

Теперь, когда всё готово, время исследовать новые идеи и применения, программируя микроконтроллер ATtiny с помощью среды Arduino IDE!

Источник

Adblock
detector