Тоже пришла с aliexpressa Digispark Attiny85. Подключил к компу на платке светится только светодиод питания. В диспетчере устройств нету новых и неопознанных устройств. Правильно я понимаю что тинька голая (не зашит в ней загрузчик (bootloader)). Скачал драйвера с digistump на всякий случай ставил не помогло потому что пустая. Читал вики https://digistump.com/wiki/digispark/tutorials/connecting потом сделал по инструкции, теперь в arduino ide версия 1 6 9 появился выбор digispark default 16,5 mhz. Скачал загрузчик https://github.com/micronucleus/micronucleus и поместил его в C:\Program Files (x86)\Arduino\hardware\digispark\bootloaders\micronucleus подсунул еще в C:\Program Files (x86)\Arduino\hardware\digispark boards.txt Залил в arduino uno (atmega328) скетч ArduinoISP. В arduino ide выбрал плату digispark default 16,5mhz, программатор arduino as isp подключил к разьему на UNO ICSP плату digispark, 10 с UNO на reset и нажимаю записать загрузчик.
Вываливается ошибка Arduino: 1.6.9 (Windows 8.1), Плата:"Digispark (Default - 16.5mhz)" Ошибка при записи загрузчика: пропущен параметр конфигурации 'bootloader.tool' Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции"
На отредактированный файл в блокноте ругалась Arduino IDE 1_6_9, отредактировал в Notepad++ без проблем подхватила, только нужно перезагружаать Arduino IDE чтобы подхватывала boards.txt
В эту папку скопировал t85_default.hex C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\micronucleus В Arduino IDE версия 1_6_9 файл параметры показать подробный вывод поставил галочки компиляция и загрузки. перестало ругаться что нету пропущен параметр конфигурации 'bootloader.tool' Не смог опять зашить bootloader, зато хоть averdude запустился и считал ID 0x1e930b это как раз и есть Attiny85, значит надо добавлять еще какие то парамеитры. Тинька живая раз отвечает.
Пытаюсь залить в тиньку bootloader Нажал загрузить bootloader он записал 2 байта потому что hex пустой C:\Program Files (x86)\Arduino\hardware\ATTinyCore\avr\bootloaders\empty\empty_all.hex
В эту папку запихал t85_default.hex с https://github.com/micronucleus/micronucleus он не записал его, тогда я переименовал файлик t85_default.hex в empty_all.hex он его залил. Отсоединил его от UNO и подоткнул к компу на USB хоть реагировать стал но пишет что USB не опознано, в диспетчере устройств сбой дескриптора. Уже что-то продвинулось может фьюзы нете может частоту нужно другую выбрать. В общем залил опять предыдущий blink он опять замигал светодиодом. Значит не залочивается и то хорошо! У кого какие мысли будут? Пока буду еще эксперементировать.
Так я этим способом вначале и пытался залить bootloader не получается и ничего само не подсасывается.
Вы пробывали сами, что советуете? И в этой статье ни слова про заливку bootloadera.
Arduino IDE выдает ошибку: "Ошибка при записи загрузчика: пропущен параметр конфигурации 'bootloader.tool' " До этого в своих постах я про это и писал. Китайцы прислали чистую тиньку! Возможно не с клоном с зашитым изначально bootloaderom этот способ прокатывает.
Не было времени отписАться, вот нашел время пишу, может кому пригодиться.
В общем добился я работоспособности bootloadera на digisparke attiny85. После того как мне пришел USBasp, прочитал фьюзы там стояли по
умолчанию с завода.
Lock byte 3F оставил как есть 3F
LB2 1 оставил 1
LB1 1 оставил 1
можно считать свою прошивку, если в 1.
Fuse High Byte D7 поменял на DD
RSTDISBL 1 оставил 1 ножка сброса работает только на сброс, как порт нет
DWEN 1 оставил 1 отладка запрещена
SPIEN 0 оставил 0 SPI обмен по последовательному программированию и обмену данными разрешен
WDTON 1 оставил 1 Watchdog таймер запрещен
EESAVE 1 оставил 1 EEPROM при стирании чипа не сохраняется
BODLEVEL2 1 оставил 1 Детектирования снижения питания было запрещено, поставил срабатывание на 2,7v
BODLEVEL1 1 поменял 0 Детектирования снижения питания было запрещено, поставил срабатывание на 2,7v
BODLEVEL0 1 оставил 1 Детектирования снижения питания было запрещено, поставил срабатывание на 2,7v
Fuse Low Byte E2 поменял на E1
CKDIV8 1 оставил 1 Деление тактовой частоты 8мГц на 8, чтобы работало на 1 мГц. Запрещено.
CKOUT 1 оставил 1 С ножки CLKO выход тактовой частоты. Запрещено.
SUT1 1 оставил 1 Задержка при запуске 14 тактов плюс 64 милисекунды
SUT0 0 оставил 0 Задержка при запуске 14 тактов плюс 64 милисекунды
CKSEL3 0 оставил 0 Внутренний генератор на 8мгц было, выставил на внутренний генератор с умноженем стало 16мГц
CKSEL2 0 оставил 0 Внутренний генератор на 8мгц было, выставил на внутренний генератор с умноженем стало 16мГц
CKSEL1 1 поменял 0 Внутренний генератор на 8мгц было, выставил на внутренний генератор с умноженем стало 16мГц
CKSEL0 0 поменял 1 Внутренний генератор на 8мгц было, выставил на внутренний генератор с умноженем стало 16мГц
Fuse Extended FF поменял на FE
SELFPRGEN 1 поменял на 0 стоял запрет на самопрограммирование, разрешил его.
Поменял фьюзы и после подключения digisparka attiny85 к USB начал определяться в сиситеме, установились драйвера. С помощью Arduino IDE теперь
Мой Digispark также навернулся после прошивки в него маленькой программки, в которой использовался TinyPinChange.h.
Я экспериментировал с SoftSerial, на основе примера сделал такой код:
/*
Software serial multiple serial test
Receives from the hardware serial, sends to software serial.
Receives from software serial, sends to hardware serial.
The circuit:
* RX is digital pin 2 (connect to TX of other device)
* TX is digital pin 3 (connect to RX of other device)
created back in the mists of time
modified 9 Apr 2012
by Tom Igoe
based on Mikal Hart's example
This example code is in the public domain.
<SoftSerial> adapted from <SoftwareSerial> for <TinyPinChange> library which allows sharing the Pin Change Interrupt Vector.
Single difference with <SoftwareSerial>: add #include <TinyPinChange.h> at the top of your sketch.
RC Navy (2012): http://p.loussouarn.free.fr
*/
#include <SoftSerial.h> /* Allows Pin Change Interrupt Vector Sharing */
#include <TinyPinChange.h> /* Ne pas oublier d'inclure la librairie <TinyPinChange> qui est utilisee par la librairie <RcSeq> */
SoftSerial mySerial(2, 3); // RX, TX !!! установка здесь вместо mySerial(2, 3) значений (0, 1) вывела из строя Digispark?
void setup()
{
// set the data rate for the SoftwareSerial port
mySerial.begin(4800);
mySerial.println("Hello, world?");
}
void loop() // run over and over
{
if (mySerial.available())
// mySerial.write("Ok");
mySerial.println("Ok");
delay (1000);
}
В этом коде убраны элементы обычного Serial и оставлен SoftSerial.
Вроде бы Digispark перестал определяться после того, как я прошил значения mySerial(0, 1); вместо mySerial(2, 3);
Подозреваю, что плату ломает библиотека TinyPinChange.h
Видимо, теперь нужно разбираться с перепрошивкой бутлоадера.
p.s. после перепрошивки загрузчика подозрения о вредоносности TinyPinChange.h не подтвердились, повторная заливка этого кода с mySerial(0, 1); прошла без проблем.
Видимо, у этого разработчика выложены разные версии загрузчиков. Та, которую я брал, оказалась свежее (и мне не понравилась - как-то неадекватно ведёт себя со спящим режимом SLEEP_MODE_PWR_DOWN).
Тоже взял себе парочку плат Digispark. Пришли зашитые блинкером. Хотел сразу же, чтобы потом не мучаться с bootloader-ом, сделать бэкап памяти тиньки. Оказалось залоченные.
после заливки скетча примера blink (start) в digispark attiny85 , выбрал digispark 16МГц , и он превратился в кирпич . какой-то одноразовый digispark .
никакие танцы с бубном заливки бутлоадера (прошивки) с официального сайта не помогали , получалось неизвестное устройство. ( заливал t85_default.hex с помощью проги khazama , программатором USBASP ) .
само arduino IDE отказывается заливать бутлоадер , ни спомощью arduinoISP , ни USBASP
помогло только слить с новой платы digispark attiny85 прошивку и заливку ее в коматозника , все заработало и работает .
/*
Данный код превратит вашу Digispark в спящий таймер. Через каждые PERIOD
секунд система подаёт 5 вольт на протяжении WORK секунд. Всё время,
кроме переключения пина, система спит и потребляет 28 микроампер
на плате Digispark с отрезанным светодиодом, стабилизатором
и двумя диодами на шину USB. На голом камне будет работать ещё лучше!
*/
#define PERIOD 60 // период работы в секундах (пример: 60*60*24*3 = 259200 - три дня!)
#define WORK 15 // время работы в секундах 30
#define MOS 0 // пин мосфета
#define LED 1 // пин светодиода
uint32_t mainTimer, myTimer;
boolean state = false;
#include <avr/wdt.h>
#include <avr/sleep.h>
#include <avr/interrupt.h>
#define adc_disable() (ADCSRA &= ~(1<<ADEN)) // disable ADC (before power-off)
#define adc_enable() (ADCSRA |= (1<<ADEN)) // re-enable ADC
// http://alexgyver.ru/arduino/DigiDrivers.rar
void setup() {
// все пины как входы, экономия энергии
for (byte i = 0; i < 6; i++) {
pinMode(i, INPUT);
}
adc_disable(); // отключить АЦП (экономия энергии)
wdt_reset(); // инициализация ватчдога
wdt_enable(WDTO_1S); // разрешаем ватчдог
// 15MS, 30MS, 60MS, 120MS, 250MS, 500MS, 1S, 2S, 4S, 8S
WDTCR |= _BV(WDIE); // разрешаем прерывания по ватчдогу. Иначе будет резет.
sei(); // разрешаем прерывания
set_sleep_mode(SLEEP_MODE_PWR_DOWN); // максимальный сон
}
void loop() {
mainTimer++;
if (!state) { // если помпа не включена
if ((long)mainTimer - myTimer > PERIOD) { // таймер периода
myTimer = mainTimer; // сброс таймера
state = true; // флаг на запуск
pinMode(MOS, OUTPUT); // пин как выход
digitalWrite(MOS, HIGH); // врубить
}
} else { // если помпа включена
if ((long)mainTimer - myTimer > WORK) { // таймер времени работы
pinMode(LED, OUTPUT); // пин как выход
digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level)
delay(500); // wait for a second
digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW
delay(500); // wait for a second
myTimer = mainTimer; // сброс
state = false; // флаг на выкл
digitalWrite(MOS, LOW); // вырубить
digitalWrite(LED, LOW); // вырубить
pinMode(MOS, INPUT); // пин как вход (экономия энергии)
pinMode(LED, INPUT); // пин как вход (экономия энергии)
}
}
sleep_enable(); // разрешаем сон
sleep_cpu(); // спать!
}
ISR (WDT_vect) {
WDTCR |= _BV(WDIE); // разрешаем прерывания по ватчдогу. Иначе будет реcет.
}
в повербанках центральные пины по разному , для разных телефонов. В основном закорочены.
чтоб питалось от юсб , надо закоротить там маленький диод , он там чтобы если ардуинка-дигиспарк запитана от внешки , чтоб эта внешка не пошла в ноутбук/компьютер по юсб , и не спалила стаб на плате (при запитке от Vin).
Нет. Это даже не регулируется. Прописано в мозгах м. с. Только если подбирать из партии. Пробовал несколько разных. Идея литий <-->5в не прошла из за этой особенности.
а этот функционал никак нельзя в павербанке отключить/обойти?
вместо готового повербанка взять Li-ioh батарею и плату зарядки. Дигиспарк настроить на работу не от 5в, а от 3.2 - 4.2 (диапазон лития), чтобы питать устройство напрямую от батареи без преобразователей
Вместо готового повербанка можно взять Li-ion аккумулятор и плату преобразователь на LM2596 или MT3608. Заранее до подключения к digispark выставить на их выходе 5 вольт.
Сегодня приехал данный микроконтроллер и я столкнулся с проблемой не правильной работы кода.
А именно программа игнорирует оператор ветвления if, и в не зависимости от значений проверяемой переменной, программа переходит к выполнению кода внутри блока оператора ветвления.
Нет я сначало много штудировал информации, ролики смотрел, подготавливался. А потом уже приступил к процессу.
процессу чего?
Тоже пришла с aliexpressa Digispark Attiny85. Подключил к компу на платке светится только светодиод питания. В диспетчере устройств нету новых и неопознанных устройств. Правильно я понимаю что тинька голая (не зашит в ней загрузчик (bootloader)). Скачал драйвера с digistump на всякий случай ставил не помогло потому что пустая. Читал вики https://digistump.com/wiki/digispark/tutorials/connecting потом сделал по инструкции, теперь в arduino ide версия 1 6 9 появился выбор digispark default 16,5 mhz. Скачал загрузчик https://github.com/micronucleus/micronucleus и поместил его в C:\Program Files (x86)\Arduino\hardware\digispark\bootloaders\micronucleus подсунул еще в C:\Program Files (x86)\Arduino\hardware\digispark boards.txt Залил в arduino uno (atmega328) скетч ArduinoISP. В arduino ide выбрал плату digispark default 16,5mhz, программатор arduino as isp подключил к разьему на UNO ICSP плату digispark, 10 с UNO на reset и нажимаю записать загрузчик.
Вываливается ошибка Arduino: 1.6.9 (Windows 8.1), Плата:"Digispark (Default - 16.5mhz)" Ошибка при записи загрузчика: пропущен параметр конфигурации 'bootloader.tool' Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции"
Пробовал полностью готовая IDE https://github.com/digistump/DigistumpArduino/releases/download/v1.5.8C/DigistumpIDE1.5.8C.zip вываливается таже ошибка. Пробовал делать как и в этом видео https://www.youtube.com/watch?v=msq89zS3Faw Пробовал редактировать boards.txt в firmwares скопировал t85_default.hex
Платки usbASP еще пока нету, хочу обойтись arduino uno если это возможно.
Направьте в правильное русло, что я делаю не так? Или все таки неисправная плата?
Я чуть ранее постом писал
Добавил в файл boards.txt расположенный в C:\Program Files (x86)\Arduino\hardware\arduino\avr такие строки:
digispark-tiny.name=Digispark (Default - 16.5mhz) digispark-tiny.upload.maximum_size=6012 digispark-tiny.build.mcu=attiny85 digispark-tiny.build.f_cpu=16500000L digispark-tiny.build.core=tiny digispark-tiny.upload.using=digispark digispark-tiny.upload.tool=avrdude digispark-tiny.bootloader.low_fuses=0xe1 digispark-tiny.bootloader.high_fuses=0xdd digispark-tiny.bootloader.extended_fuses=0xfe digispark-tiny.bootloader.path=micronucleus digispark-tiny.bootloader.file=t85_default.hex digispark-tiny.bootloader.tool=avrdude
На отредактированный файл в блокноте ругалась Arduino IDE 1_6_9, отредактировал в Notepad++ без проблем подхватила, только нужно перезагружаать Arduino IDE чтобы подхватывала boards.txt
В эту папку скопировал t85_default.hex C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\micronucleus В Arduino IDE версия 1_6_9 файл параметры показать подробный вывод поставил галочки компиляция и загрузки. перестало ругаться что нету пропущен параметр конфигурации 'bootloader.tool' Не смог опять зашить bootloader, зато хоть averdude запустился и считал ID 0x1e930b это как раз и есть Attiny85, значит надо добавлять еще какие то парамеитры. Тинька живая раз отвечает.
Лично я забил на эти тиньки и больше нет никакого желания к ним возвращаться. купил arduino mini и проблем нет и не на много дороже и пинов больше
Скачал библиотеку https://cloud.mail.ru/public/3zobE4CYy4iG/ATtiny.zip разархивировал и поместил ее в C:\Program Files (x86)\Arduino\hardware
В UNO залил скетч ArduinoISP подключил Digispark к ICSP
1pin MISO ICSP (UNO 12) Digispark P1
2pin +5V ICSP Digispark +5V
3pin SCK ICSP (UNO 13) Digispark P2
4Pin MOSI ICSP (UNO 11) Digispark P0
6pin GND ICSP Digispark GND
--- ICSP (UNO 10) Digispark P5
Выбрал плату Attiny x5series выбрал chip Attiny85 выбрал clock 8mhz internal открыл в примерах blink и немного изменил.
Потому что на Digisparke светодиод сидит на 1 ноге.
В качестве программатора выбрал Arduino as ISP.
Загрузил скетч и вуаля Digispark замигал светодидом. Можно теперь хоть заливать скетчи таким образом.
Значит у меня не залочилась как я и писал в посте выше. Китайцы прислали Digispark без bootloadera просто чистую распаянную тиньку на плате!
Пытаюсь залить в тиньку bootloader Нажал загрузить bootloader он записал 2 байта потому что hex пустой C:\Program Files (x86)\Arduino\hardware\ATTinyCore\avr\bootloaders\empty\empty_all.hex
В эту папку запихал t85_default.hex с https://github.com/micronucleus/micronucleus он не записал его, тогда я переименовал файлик t85_default.hex в empty_all.hex он его залил. Отсоединил его от UNO и подоткнул к компу на USB хоть реагировать стал но пишет что USB не опознано, в диспетчере устройств сбой дескриптора. Уже что-то продвинулось может фьюзы нете может частоту нужно другую выбрать. В общем залил опять предыдущий blink он опять замигал светодиодом. Значит не залочивается и то хорошо! У кого какие мысли будут? Пока буду еще эксперементировать.
Пытаюсь залить в тиньку bootloader
не занимайся хернёй, а сделай так, как рассказано здесь http://digistump.com/wiki/digispark/tutorials/connecting
всё нужное файло подсосётся автоматом
Пытаюсь залить в тиньку bootloader
не занимайся хернёй, а сделай так, как рассказано здесь http://digistump.com/wiki/digispark/tutorials/connecting
всё нужное файло подсосётся автоматом
Так я этим способом вначале и пытался залить bootloader не получается и ничего само не подсасывается.
Вы пробывали сами, что советуете? И в этой статье ни слова про заливку bootloadera.
Arduino IDE выдает ошибку: "Ошибка при записи загрузчика: пропущен параметр конфигурации 'bootloader.tool' " До этого в своих постах я про это и писал. Китайцы прислали чистую тиньку! Возможно не с клоном с зашитым изначально bootloaderom этот способ прокатывает.
Вы пробывали сами, что советуете? И в этой статье ни слова про заливку bootloadera.
"Ошибка при записи загрузчика: пропущен параметр конфигурации 'bootloader.tool' "
не пробовал - попробовал, папка firmwares пустая, бутлоадер в конфигурашках плат не прописан.
ну, и что? не знаешь, что делать или тебя нужно ногами в гугл пинать самостоятельно искать нужное тебе?
https://youtu.be/msq89zS3Faw
Не было времени отписАться, вот нашел время пишу, может кому пригодиться.
В общем добился я работоспособности bootloadera на digisparke attiny85. После того как мне пришел USBasp, прочитал фьюзы там стояли по
умолчанию с завода.
Lock byte 3F оставил как есть 3F
LB2 1 оставил 1
LB1 1 оставил 1
можно считать свою прошивку, если в 1.
Fuse High Byte D7 поменял на DD
RSTDISBL 1 оставил 1 ножка сброса работает только на сброс, как порт нет
DWEN 1 оставил 1 отладка запрещена
SPIEN 0 оставил 0 SPI обмен по последовательному программированию и обмену данными разрешен
WDTON 1 оставил 1 Watchdog таймер запрещен
EESAVE 1 оставил 1 EEPROM при стирании чипа не сохраняется
BODLEVEL2 1 оставил 1 Детектирования снижения питания было запрещено, поставил срабатывание на 2,7v
BODLEVEL1 1 поменял 0 Детектирования снижения питания было запрещено, поставил срабатывание на 2,7v
BODLEVEL0 1 оставил 1 Детектирования снижения питания было запрещено, поставил срабатывание на 2,7v
Fuse Low Byte E2 поменял на E1
CKDIV8 1 оставил 1 Деление тактовой частоты 8мГц на 8, чтобы работало на 1 мГц. Запрещено.
CKOUT 1 оставил 1 С ножки CLKO выход тактовой частоты. Запрещено.
SUT1 1 оставил 1 Задержка при запуске 14 тактов плюс 64 милисекунды
SUT0 0 оставил 0 Задержка при запуске 14 тактов плюс 64 милисекунды
CKSEL3 0 оставил 0 Внутренний генератор на 8мгц было, выставил на внутренний генератор с умноженем стало 16мГц
CKSEL2 0 оставил 0 Внутренний генератор на 8мгц было, выставил на внутренний генератор с умноженем стало 16мГц
CKSEL1 1 поменял 0 Внутренний генератор на 8мгц было, выставил на внутренний генератор с умноженем стало 16мГц
CKSEL0 0 поменял 1 Внутренний генератор на 8мгц было, выставил на внутренний генератор с умноженем стало 16мГц
Fuse Extended FF поменял на FE
SELFPRGEN 1 поменял на 0 стоял запрет на самопрограммирование, разрешил его.
Поменял фьюзы и после подключения digisparka attiny85 к USB начал определяться в сиситеме, установились драйвера. С помощью Arduino IDE теперь
можно заливать скетчи.
Было в чистой attiny85, поменял программой Khazama AVR Programmer
поменял на фьюзы программой Khazama AVR Programmer
Всем привет! Ребят, нужна помощь.
Приобрел на али digispark attiny85 со стандартным usb.
Работала всё хорошо, пока не загрузил последний скетч:
программа обрабатывается и работает на микроконтроллере, но теперь, если включаю в usb, например, залить другой скетч. То комп ее не видит:
"не известное usb-устроство (сбой запроса дискриптора устройства)"
Можете посоветовать, что делать?
Спасибо!
Мой Digispark также навернулся после прошивки в него маленькой программки, в которой использовался TinyPinChange.h.
Я экспериментировал с SoftSerial, на основе примера сделал такой код:
В этом коде убраны элементы обычного Serial и оставлен SoftSerial.
Вроде бы Digispark перестал определяться после того, как я прошил значения mySerial(0, 1); вместо mySerial(2, 3);
Подозреваю, что плату ломает библиотека TinyPinChange.h
Видимо, теперь нужно разбираться с перепрошивкой бутлоадера.
p.s. после перепрошивки загрузчика подозрения о вредоносности TinyPinChange.h не подтвердились, повторная заливка этого кода с mySerial(0, 1); прошла без проблем.
В предыдущем посте описал, как мой Digispark сломался.
Пришлось восстанавливать Bootloader.
Исходное руководство - упоминавшийся здесь ролик https://www.youtube.com/watch?v=msq89zS3Faw
В имевшейся у меня версии Arduino IDE 1.6.12 фрагмент файла boards.txt, где описана обычная плата Digispark, имеет вид
Как можно видеть, здесь никаких строк про low_fuses и high_fuses нету. Также здесь не упоминается файл с бутлоадером.
Как с таким файлом boards.txt шить загрузчик - совершенно не понятно.
Скачал старую версию IDE (DigisparkArduino-Win32-1.0.4-May19.zip) отсюда, распаковал в папку.
Там файл boards.txt как раз такой же, как в видео. Отредактировал его в соответствии с этой видео-инструкцией.
Файл с загрузчиком micronucleus-1.06.hex взял отсюда.
Залил в UNO скетч из примеров ArduinoISP.
Подключил UNO к Digispark так, как описал уважаемый Sembior.
В IDE 1.0.4 выбрал плату Digispark (Tiny Core), программатор Arduino as ISP.
Нажал Сервис - Записать загрузчик.
После этого через Arduino IDE 1.6.12 скетчи заливаются, как и раньше.
p.s. залил этим же способом бутлоадер t85_default.hex самой свежей версии отсюда, всё также работает корректно.
загрузчики здесь лежат https://github.com/micronucleus/micronucleus/tree/v2.01
Видимо, у этого разработчика выложены разные версии загрузчиков. Та, которую я брал, оказалась свежее (и мне не понравилась - как-то неадекватно ведёт себя со спящим режимом SLEEP_MODE_PWR_DOWN).
Попытался разобраться, что это за fuses такие. Есть онлайн-калькулятор для их вычисления. Становится понятно, почему строка
затруднит прошивку загрузчика в Digispark: она включает опцию "External Reset disable".
Ещё одно отличие high_fuses=DD от 5F - включается Brown-out Detector trigger level на уровень 2.7 В.
Изменённый low_fuses=E1 вместо F1 устанавливает опцию выбора времени включения (Select start-up time SUT0).
Тоже взял себе парочку плат Digispark. Пришли зашитые блинкером. Хотел сразу же, чтобы потом не мучаться с bootloader-ом, сделать бэкап памяти тиньки. Оказалось залоченные.
Спасибо всем за советы и ссылки!
Попробовал, но digispark не восстановился - всё также пишет о неопознаном устройстве.
Верно ли я понял, что накатывать бутлоадер при подключенной к uno по следующему принципу пины:
Диджиспарк - UNO
0 - 11
1- 12
2 - 13
5- 10
+5 - +5
gnd - gnd.
При загрузке никаких ошибок не выдавал.
тож долго мучился.
после заливки скетча примера blink (start) в digispark attiny85 , выбрал digispark 16МГц , и он превратился в кирпич . какой-то одноразовый digispark .
никакие танцы с бубном заливки бутлоадера (прошивки) с официального сайта не помогали , получалось неизвестное устройство. ( заливал t85_default.hex с помощью проги khazama , программатором USBASP ) .
само arduino IDE отказывается заливать бутлоадер , ни спомощью arduinoISP , ни USBASP
помогло только слить с новой платы digispark attiny85 прошивку и заливку ее в коматозника , все заработало и работает .
прошивка digispark attiny85 https://yadi.sk/d/O6Wa5KKS3Sk897
// из плат выбираю digispark 16,5МГц
//// фьюзы описаны выше
собрал схему для полива от алексгайвера
но включил дигиспарк в повербанк его разъемом USB
не отрабатывает схема
на одном из сайтов нашел вот такой текст
Благодаря наличию стабилизатора, микроконтроллер можно запитать двумя путями: через пин напряжением 5В и через стабилизатор 10 В.
т.е. запитать дигиспарк надо не через его разъем USB, а на пины +5\gnd?
Дигиспарк надо питать через 3-х контактный разъем на котором написано +5V GND Vin.
Если напржение питания 5В или меньше, то подключать к +5V и GND, а если больше то к Vin и GND.
я правильно понимаю, что USB разъем только для прошивок?
жаль если так, а то удобно было бы в павербанки подключать
Если PB3 и PB4 не используются, то можно и к повербанку. Потому что PB3 и PB4 подключены к USB тоже. А что там у повербанка с этим - не известно.
используется только P1
подключал и к повербанку и к USB зарядке от телефона - не отрабатывает схема как надо
Ну с этим к Гайверу
еще вопрос - а у дигиспак led висит на пин1? pinMode(1, OUTPUT); //LED on Model A or Pro
иначе можно к нему обратиться? пин1 у меня занят
Да светодиот там на PB1 (P1). Ну если пин занят, то увы... Если используется только один пин, то можно перевесить то что сейчас на P1 куда нибудь еще.
а с P0 как дела обстоят? возможно ли весь функционал на него перебросить, а LED на P1?
А какие проблемы? Хоть на P0, хоть на P2. Там, насколько я понимаю, надо только включать/выключать?
не хочет так работать
LED не мигает в момент работы MOS
А если простой Blink пример загрузить - мигает?
да если на P1 настроен
в повербанках центральные пины по разному , для разных телефонов. В основном закорочены.
чтоб питалось от юсб , надо закоротить там маленький диод , он там чтобы если ардуинка-дигиспарк запитана от внешки , чтоб эта внешка не пошла в ноутбук/компьютер по юсб , и не спалила стаб на плате (при запитке от Vin).
не хочет так работать
LED не мигает в момент работы MOS
А выход МОС работает как надо? Как проверяли?
А выход МОС работает как надо? Как проверяли?
заработало от зарядного для телефона
использовал два павербанка:
1) на один элемент 18650 - не заработало;
2) на 10000мА - один раз код отработал - далее дигиспарк отключился - предполагаю дело в коде, а именно уход в глубокий сон
просьба подсказать всё же
почему не хочет работать от павербанка на одном элементе 18650
на выходе павербанка 5В есть, питание на дигиспарк поступает через разьем USB.
Такое впечатление, что повербанк не понимает, что его нагрузил дигиспарк (судя по индикации повербанка).
При всём при том от зарядного и от USB порта ПК работает как надо.
У китаесских павербанков, есть особенность, если ток потребления меньше 30 мА, оне считают, что к ним ничо не подключено и отключаются.
а как можно "дозагрузить" дигиспак? чтобы павербанк не отключался?
а как можно "дозагрузить" дигиспак? чтобы павербанк не отключался?
светодиодик повесить.
У китаесских павербанков, есть особенность, если ток потребления меньше 30 мА, оне считают, что к ним ничо не подключено и отключаются.
а этот функционал никак нельзя в павербанке отключить/обойти?
не хотелось бы повышать уровень потребления на дигиспарк
Нет. Это даже не регулируется. Прописано в мозгах м. с. Только если подбирать из партии. Пробовал несколько разных. Идея литий <-->5в не прошла из за этой особенности.
а этот функционал никак нельзя в павербанке отключить/обойти?
вместо готового повербанка взять Li-ioh батарею и плату зарядки. Дигиспарк настроить на работу не от 5в, а от 3.2 - 4.2 (диапазон лития), чтобы питать устройство напрямую от батареи без преобразователей
Вместо готового повербанка можно взять Li-ion аккумулятор и плату преобразователь на LM2596 или MT3608. Заранее до подключения к digispark выставить на их выходе 5 вольт.
какой светодиод можно впаять в замен или параллельно светодиоду питания дикиспарк?
а то собрал корпус, но в идеале хотелось бы вывести на него светодиод для индикации
а чо, просто светодиод бросить на питание не судьба?
Привет.
Сегодня приехал данный микроконтроллер и я столкнулся с проблемой не правильной работы кода.
А именно программа игнорирует оператор ветвления if, и в не зависимости от значений проверяемой переменной, программа переходит к выполнению кода внутри блока оператора ветвления.
Может кто то с таким сталкивался?
Skany9 требуем подтверждения в виде кода ...
Как то так. Я сейчас не дома, поэтому точного кода не вижу но суть та же.
Как то так. Я сейчас не дома, поэтому точного кода не вижу но суть та же.
А почему вы решили что if не срабатывает? Может у вас читается (analogRead) не то?