ATtiny13a и PB5
- Войдите на сайт для отправки комментариев
Сб, 30/03/2013 - 00:34
Столкнулся с небольшой проблемой при програмировании ATtiny13a.
Хочу сделать индикатор заряда батареи в фонарике. А точнее, нужно считать напряжение, и отобразить его на 5 светодиодах, соответственно 20%, 40%, 60%, 80%, 100% заряда!!!
Пока возможно считать напряжение через PB0, и отобразить при помощи PB1, PB2, PB3, PB4 -- а как указать PB5 - выходом , затрудняюсь.
Есть возможность при помощи калькулятора фюзов прошить (отключить RESET поставив галочку напротив "RSTDISBL") но не знаю, повлияет ли это на загрузку скетчей, после прошивки бутлоадера ...
Жду ваших советов.
Ответ очевиден,
1) Сделать вывод на 25%, 50%, 75% и 100%.
2) Сделать на Atmega 8A-PU.
3) Сделать "хитрую индикацию" вот как тут http://arduino.ru/forum/proekty/attiny85-12-led-vu-meter#comment-27188
Спасибо МАКСИМУ за совет:
"Если вы отключите ресет, больше не сможете прошивать тиню по SPI, ее можно будет прошить/стереть только параалельным-высоковольтным программатором поэтому лучше не трогайте этот фьюз."
Тот код куда ведёт силка не работает, но мультиплексирование «методом Чарли» интересная штука, теперь понял что такое Z состояние. Вот только немогу понять как на ардуино реализовать...
ссылка работает 100%...
Делаю все на Atmega8A-PU
силка то рабочая, вот код который по ней нет... если постараться то заработает, на данный момент моя компетенция не позволяет решить проблему...
Эм, какой командой всё-таки в скетче отключить reset? Возможно ли с помощью ардуинки? В даташите читал читал, но как-то не понял совсем)
Никакой. Reset отключается фьюзами с помощью программатора или другой ардуины со скетчем ArduinoISP. Конкретно - фьюз RSTDISBL. Но после этого вы не сможете загружать скетчи.
Правильный ответ на мой вопрос(уже сам нашел)
http://arduino.ru/forum/programmirovanie/fuse-bity
Ресет устанавливается записью attiny13.bootloader.high_fuses=0xFE в папке ARDUINO\hardware\attiny13\avr в файле boards.txt
Далее компилируем скетч и прошиваем через программатор
Спасибо МАКСИМУ за совет:
"Если вы отключите ресет, больше не сможете прошивать тиню по SPI, ее можно будет прошить/стереть только параалельным-высоковольтным программатором поэтому лучше не трогайте этот фьюз."
Только не паралелльным, а последовательным, зовется HVSP - high voltage serial programmer
У тини13 ног мало для паралельного програматора как и почти у всех остальных тинек
HVPP есть только там где ног много
увы и то и то редкость, оригинал стоит дорого. У меня оно есть на STK600
Правильный ответ на мой вопрос(уже сам нашел)
...
Далее компилируем скетч и прошиваем через программатор
Не совсем правильный. Чтобы изменить фьюзы из среды Arduino IDE компилировать и прошивать скетч не нужно. Вместо этого нужно прошить уже готовый загрузчик (Сервис - Записать загрузчик). Вот только после этого вы уже не сможете прошить скетч, т.к. ресет будет отключён...
А можно фьюзы изменять вообще без загрузчика и Arduino IDE - через консольную программу avrdude. Или через многочисленные графические оболочки к этой консольной программе - SinaProg, AvrdudeProg и другие. Через них фьюзы можно менять уже после прошивки скетча.