Получив контроллеры, я понял, что мне необходимо запрограммировать их. Я перепробовал множество разных вариантов программирования ATTiny13 из всемирной сети, пока, наконец, не нашел нужное мне руководство для начинающих по программированию. Файл с несколькими изменениями есть внизу статьи.
Шаг 1: Подключаем чип для программирования
Ознакомьтесь с видеороликом:
Подключите чип к Ардуино следующим образом:
Опционально: GND – к отрицательной ножке диода пин 3 — резистор (250 Ом) – к плюсовой ножке диода
Шаг 2: Добавление данных в программу
- Откройте программу Arduino IDE и подключите ваш контроллер Ардуино
- Переходите: Файл -> Примеры -> ArduinoISP
- Выберите нужную плату и разъем (Инструменты -> Платы/Последовательные порты)
- Нажмите кнопку загрузки
Так Ардуино будет служить ISP-программатором.
- После завершения закройте программу
Теперь вам нужно сделать так, чтобы программа IDE видела в контроллере чип, совместимый с Ардуино.
- Загрузите соответствующий файл
- Скопируйте папку «attiny» в папку /оборудование/ в каталог установки Arduino IDE
Затем вам нужно скорректировать тактовую частоту:
- Откройте файл Оборудование/attiny/платы.txt
- В самом низу файла находятся строчки, содержащие данные, относящиеся к нужному чипу
- Замените «attiny13.build.f_cpu=9600000L» на «attiny13.build.f_cpu=1000000L»
Чтобы исправить время задержки:
- Снова откройте Arduino IDE
- Перейдите в Tools>Board и выберите «ATtiny13 (internal 9.6 MHz clock)»
Шаг 3: Программирование
Чтобы загрузить скетч для контроллера:
- Откройте IDE
- Перейдите File>Examples>Basic>Blink
- Измените 11 строку: «pinMode(13, OUTPUT);» на «pinMode(4, OUTPUT);»
- Измените 15 строку: «digitalWrite(13, HIGH);» на «digitalWrite(4, HIGH);»
- Измените 17 строку: «digitalWrite(13, LOW);» на «digitalWrite(4, LOW);»
Теперь IDE должна загрузить скетч на ваш контроллер через Arduino ISP-программатор. Как только загрузка будет завершена, диод начнет моргать с интервалом 1 сек.
Обозначить выводы контроллера в Arduino IDE вам нужно в соответствии с нумерацией выводов на плате (например, Pin1 = PB1, и т. д.).
Шаг 4: Чтение данных сервопривода
В видеоролике объясняется, как легко настроить программное обеспечение:
При использовании реле вы должны установить диод для защиты от ЭДС, соединив его параллельно с катушкой реле, минусом с пином 4.
Файлы
Шаг 5: Проверяем
Смотрите также; прошивка бутлоадера Arduino в ATmega8, бюджетный Arduino. Данный видеоматериал содержит то что в статье ниже: Итак, уже давненько появился способ программировать маленькие, дешёвые, маложрущие и доступные микрухи ATtiny13A. Тут я Вам расскажу как можно зашивать Arduino’вские скетчи.Итак, для начала нам нужно скачать данный архив(взято и доделано отсюда) положить файлы по адресу «DocumentsArduinohardware» должно получится что-то типа «C:UsersАдминистраторDocumentsArduinohardwareattiny13avr corescore13». Обязательно проверяем правильно ли у нас выбрано «расположение папки со скетчами», (посмотреть можно во вкладке «Файл/Настройки») : Далее нам нужна сама микруха 🙂 Имеете? отлично. Теперь нам нужно узнать как при помощи Arduino прошить тиньку, более подробней: Для начала прошьём в дуинку ArduinoISP из примеров Arduino IDE. Потом подключим тини13 к ардуинке как показано на картинке: Потом нужно изменить тип программатора на Arduino as ISP как показано на скришонте:
- 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, они просто созданы друг для друга 🙂 тоже такой дешёвый, маленький и доступный. Ветка на форуме Arduino: http://arduino.ru/forum/programmirovanie/attiny13a-101-primenenie Мой паблик ВКонтакте, присоединяйтесь.UPD 17.03.2016 Ядро ищем тут:https://geektimes.ru/post/254970/#comment_8943030
Прошивка Attiny 13 HEX-файлом с помощью Arduino и SinaProg
Задача: прошить микроконтроллер Attiny 13 HEX-файлом (уже скомпилированной программой).В качестве решения обычно используется программатор, если таковой отсутствует, можно приспособить для этих целей Arduino.Мы будем использовать Arduino Uno, SinaProg и адаптер (фото ниже) для данного микроконтроллера.Адаптер можно купить тут: https://ru.aliexpress.com/item/SOIC8-SOP8-to-DIP8-EZ-Programmer-Adapter-Socket-Converter-Module-150mil/32535866779.html?spm=a2g0s.9042311.0.0.274233edOsLvN7Он требуется для того, чтобы избежать пайки проводов на ноги микроконтроллера, ибо это крайне неудобно, особенно в случае многократных перепрошивок.В нашем случае используется Attiny13 в SMD-корпусе, если вы мучаете микроконтроллер в DIP-исполнении, можно задействовать DIP-панель: https://www.chipdip.ru/product/scs-8. (о типах корпусов микроконтроллеров можно почитать здесь).И так, поехали: Прошиваем Arduino Uno скетчем из стандартных примеров «ArduinoISP»:
Подключаем наш многострадальный микроконтроллер к Arduino согласно картинке ниже (зеленым обозначены пины Arduino):
Для тех, кто в танке — переполюсовки Attiny13 боится, поэтому проверьте внимательно, как подключены GND и 5V!
Скачиваем SinaProg: по этой ссылкеЗапускаем от имени администратора (правый клик по exe’шнику — «запустить от имени администратора»).Далее пошагово:
- Выбираем HEX-файл
- Выбираем «Device» (в нашем случае Attiny 13)
- В качестве программатора выбираем «AVR ISP»
- COM-порт смотрим в диспетчере устройств при подключении ардуины
- Скорость выставляем 19200
- Нажимаем кнопку «Search» — появляется статус «OK» (если нет, значит что-то подключено неверно, либо не прошита ардуина)
- Нажимаем кнопку «Program», после прошивки должен появиться статус «OK»
- Нажимаем кнопку «Verify» и, опять же, видим статус «OK».
На этом все, мы прошили наш микроконтроллер. В следующих статьях разберем подробнее весь функционал программы и правильное выставление коварных фьюзов=)ArduinoИспользуемые источники:
- https://masterclub.online/topic/15839-programmirovanie-attiny13
- http://razniepodelki.blogspot.com/2014/05/attiny13-arduino.html
- https://www.systop.ru/arduino/45-proshivka-attiny-13-hex-faylom-s-pomoschyu-arduino-i-sinaprog.html