среда, 14 мая 2014 г.

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

Смотрите также; прошивка бутлоадера Arduino в ATmega8, бюджетный Arduino.
Данный видеоматериал содержит то что в статье ниже:



Итак, уже давненько появился способ программировать маленькие, дешёвые, маложрущие и доступные микрухи ATtiny13A.
Тут я Вам расскажу как можно зашивать Arduino'вские скетчи.
Итак, для начала нам нужно скачать данный архив(взято и доделано отсюда) положить файлы по адресу "\Documents\Arduino\hardware\" должно получится что-то типа "C:\Users\Администратор\Documents\Arduino\hardware\attiny13\avr\
cores\core13".
Обязательно проверяем правильно ли у нас выбрано "расположение папки со скетчами", (посмотреть можно во вкладке "Файл/Настройки") :


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


Потом подключим тини13 к ардуинке как показано на картинке:

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


И выбрать нашу тиньку в списке как на скрине:



Частота 1.2 МГц - частота  контролера с завода, можно выбрать частоту и побольше если сильно нужно производительность, но не забываем что рост частоты приведёт за собой рост потребления контроллера, для каких-то там мигалок выполнение 1.2 миллиона инструкций будет с лихвой.
Изменяем частоту следующим образом:
- выбираем нужную нам частоту;
- жмём "Записать загрузчик", среда выставит все фьюзы контроллера таким образом чтобы он работал на нужной частоте.
И после того уже можно шить контролер, больше кнопку "Записать загрузчик" нажимать не нужно, прошиваем скетчи кнопкой "Загрузить с помощью программатора".
Итак, зашили blink - работает, отлично, я Вас поздравляю, "это маленький шаг для человека и большой шаг для человечества" :) Как вы уже заметили скетч стал заметно легче ежели для Arduino Uno, это связано тем что урезаны большинство дуиновских функций.



100% поддерживаются следующие:
  • pinMode()
  • digitalWrite()
  • digitalRead()
  • analogRead()
  • analogReference(INTERNAL) / (EXTERNAL)
  • shiftOut()
  • pulseIn()
  • analogWrite()
  • millis()
  • micros()
  • delay()
  • delayMicroseconds()
Итак как мы ещё увидели доступно всего 1024 байта, но ведь это мало? "Вы есть много кушать" :) большинству радиолюбителей для небольшой задач типа всяких мигалок, простеньких индикаторов или прочей мелочи - более чем достаточно, некоторые даже умудряются вольт-амперметры делать. Чтобы научится экономить рекомендую ознакомится, а ещё лучше изучайте AVR и Cи, я вот когда смогу побороть лень начну :)
Если будут какие-то вопросы их задавайте тутхвастайтесь своими проектами на этой замечательной микрухе, я только за, интересно же.
Вот мой первый проект, там я получил несколько советов по оптимизации кода аля уменьшения размера скетча при той же функциональности.
Вот ещё товарищ подтянулся.
Распиновка из даташита:


Нипаняятна? PB4 это тоже что и pin 4 или просто 4. Аналоговые входы все на которых пишет ADC*, например PB4 это ADC2 или просто A2, ШИМ поддерживают порты 0 и 1.

Вкратце наверное всё :) всем удачи, и удачных проектов.
Для 5 В питания просто идеально подходит линейный стабилизатор 78L05, они просто созданы друг для друга :) тоже такой дешёвый, маленький и доступный.


Мой паблик ВКонтакте, присоединяйтесь.

UPD 17.03.2016 Ядро ищем тут:

https://geektimes.ru/post/254970/#comment_8943030

Комментариев нет:

Отправить комментарий