ATtiny13A 101 применение

deadromeo
Offline
Зарегистрирован: 26.11.2015

Быть может у кого есть пример скетча со спящим режимом для тиньки? Существует ли вообще такое? У гугла спрашивал, не нашел чтото. Нужен пример на пальцах для энергосбережения для тини13а

Собрал простую схемку с датчиком MQ-2 и тини13а с выводом на 2-х разрядный семисегмент, питание от кроны + стабилизатор на 5 вольт 78l05, опрос датчика 2 секунды, при достижении определенного значения с датчика через бипер подается сигнал, короче типо пожарного извещателя сделал, НО по ощущениям за полдня непрерывной работы крона изрядно подсела. Может туплю гдето? Частота выставлена на 1.2 МГц, может меньше частоту поставить? Это мой первый более менее сложный проект, потому и вопросы такие. Вообщем буду рад любым советам

xorkrus
Offline
Зарегистрирован: 22.09.2013

Так сам MQ-2 имеет потребление в районе 150мА. А емкость кроны в районе 600мА...

deadromeo
Offline
Зарегистрирован: 26.11.2015

Наткнулся на чужие мысли в интернете, касательно питания. Писали что стабилизатор порядочно ест батарею, а если вместо кроны и стабилизатора поставить 3 вольтовую CR батарейку? Но вопрос в том хватит ли ее на большее время для питания датчика, тини, 2 сдвиговых регистров и 2 семисегментов или вообще плюнуть и присобачить какойнибудь блок питания от сети?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

xorkrus пишет:
Подскажите пожалуйста в чем косяк. Задача заполнить массив data[10] чиселками 0,1 в случайном порядке, а затем поморгать двумя лампочками в соответствии с 0 и 1. Не моргает никак :(

А какой смысл создавать массив, если в нём только единицы и ноли? Вполне достаточно сгенереть рандомный int от 0 до 1023, и 10 бит в нём будут наполнены случайными нолями и единицами.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

deadromeo, семисигментный индикатор жрёт по 10-20ма на каждый сегмент. Если загорится число 88, то это уже  140ма..280ма. Тут как минимум нужен серьёзный литиевый аккум от 1000ма/ч

xorkrus
Offline
Зарегистрирован: 22.09.2013

dimax пишет:

А какой смысл создавать массив, если в нём только единицы и ноли? Вполне достаточно сгенереть рандомный int от 0 до 1023, и 10 бит в нём будут наполнены случайными нолями и единицами.

А можно языком чайников? :) Я не понял что значит "int от 0 до 1023, и 10 бит в нём будут наполнены случайными нолями и единицами" и как его рандомно заполнять.

deadromeo
Offline
Зарегистрирован: 26.11.2015

Спасибо за ответы, короче буду цеплять на какойнибудь БП, всеравно на кухне будет стоять, розетку свободную найду

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

xorkrus,

int16_t r= random(0,1024);
for (byte i=0; i < 10; i++){
byte n = bitRead(r,i);
if (n){  } //какие то команды если прочтена 1
else { } //какие то команды если прочтен 0
delay(1000);
}

 

xorkrus
Offline
Зарегистрирован: 22.09.2013

dimax

Дык это ж random(). Половину памяти под один рандом не солидно как-то...

зы и в дальнейшем будет 1-2-3, вместо 0-1

Sandr
Offline
Зарегистрирован: 14.01.2015

Прошу помощи!

Есть плата Leonardo и желание прошить десяток Attiny13 ( купил Attiny13A-PU (20МГц) )

Но как оказалось с Leonardo не все так просто
После 10 часов перебора всех возможных мануалов по прошивке Attiny 
получал один и тотже ответ avrdude: stk500_recv(): programmer is not responding
Даже подключил светодиоды по инструкции в ArduinoISP.ino

// Put an LED (with resistor) on the following pins:
// 9: Heartbeat   - shows the programmer is running
// 8: Error       - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave

Как и положено - Heartbit диод "бъется сердцем", а остальные зажигаются лишь при заливке  ArduinoISP.ino в Leonardo

Наконец подумав и погуглив чуток  нашел информацию что Leonardo и протокол stk500v1 несовместимы
В результате дописал блок в programmers.txt задающий верный протокол arduino

arduinoispleo.name=Arduino as ISP (Leonardo)
arduinoispleo.communication=serial
arduinoispleo.protocol=arduino
arduinoispleo.program.protocol=arduino
arduinoispleo.speed=19200
arduinoispleo.program.speed=19200
arduinoispleo.program.tool=avrdude
arduinoispleo.program.extra_params=-P{serial.port} -b{program.speed}

Ура - При попытке залить Blink в Attiny стал загоратся диод Programming и даже пропала ошибка programmer is not responding  Но теперь програматор ругается на не верную сигнатуру 

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

И вот тут я пока не знаю что делать... Прошу помочь 

ЗЫ:
Attiny13 подключен по схеме через ICSP разъем (MOSI-PB0, MISO - PB1, SCK-PB2, Pin10-PB5)
Конденсатор на Reset pin вешать 
для Leonardo не имеет смысла - читаем тут
Библиотеку использую core13_022_arduino_1_6

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Sandr, по этой статье все рекомендации сделали? Что б не мучаться, просто купите программатор usb asp  на Али, он рублей 200 стоит. Только нужен с переключателем low clock

Sandr
Offline
Зарегистрирован: 14.01.2015

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

Решил взятся за артилерию - Осцилографф :)

И вот интересный факт - на 10 пине - который должен быть Reset-ом для Attiny - присутствует PWM сигнал аналогичный сигналу на 9м пине "HeartBit"

Тогда я поменял Reset pin с 10 на 12 в скетче ArduinoISP.ino 
Было

#define RESET     10 // Use pin 10 to reset the target rather than SS

Стало

#define RESET     12 // Use pin 10 to reset the target rather than SS

И ...... Ура - Мне удалось залить Blink в Attiny13

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Вот тинька13--помогает мне засвечивать фоторезист!))

видео

Joiner
Offline
Зарегистрирован: 04.09.2014

Уже месяц трахаюсь с Тинькой, ни как не могу написать скетч для иммитации пламени камина. Два светика разгораются и гаснут с рандомной скоростью, а один дает очень короткие вспышки с рандомным периодом иммитируя искорки.

А посмотрите что творят китайцы. Там один светик с двумя ножками. Разнообразные эффекты внутри светодиода. 

http://www.youtube.com/watch?v=s-esjLj2bZU

Я фигею!

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Joiner пишет:

Уже месяц трахаюсь с Тинькой, ни как не могу написать скетч для иммитации пламени камина. Два светика разгораются и гаснут с рандомной скоростью, а один дает очень короткие вспышки с рандомным периодом иммитируя искорки.

А посмотрите что творят китайцы. Там один светик с двумя ножками. Разнообразные эффекты внутри светодиода. 

http://www.youtube.com/watch?v=s-esjLj2bZU

Я фигею!

Посмотрел, такого добра полно в дешевых детских игрушках, внутри диода чип который переключат цвета.

А что у вас не получается конкретно, дайте ТЗ подробно помогу.

Сколько диодов? как моргать?

Joiner
Offline
Зарегистрирован: 04.09.2014

bodriy2014 пишет:

Посмотрел, такого добра полно в дешевых детских игрушках, внутри диода чип который переключат цвета.

А что у вас не получается конкретно, дайте ТЗ подробно помогу.

Сколько диодов? как моргать?

boriy2014, спасибо! Буду благодарен, если сможете - помогите. Вечерком выложу видео работы скетча на Ардуинке, и сам скетч. Это то, что мне хотелось бы получить на Тиньке 13, естественно в упрощенном виде. На ардуинке 6 светиков, на Тиньке мне достаточно 3-х. Два светика на шиме и один мерцает с рандомным периодом. Где-то так.....

xorkrus
Offline
Зарегистрирован: 22.09.2013

Как мне кажется, вы не учли того, что в тиньке два шима. Потому третий диод моргает, а не плавно гаснет/загорается. Вам нужен софтшим

Joiner
Offline
Зарегистрирован: 04.09.2014

xorkrus пишет:

Как мне кажется, вы не учли того, что в тиньке два шима. Потому третий диод моргает, а не плавно гаснет/загорается. Вам нужен софтшим

Да учел я. Третий светик моргает специально, иммитирует вспышки искорок, моргает очень коротким импульсом через рандомный период. А другие два светика на ножках с ШИМом плавно загораются и гаснут с рандомной скоростью. Такая была задумка. На ардуинке получилась, на Тиньке нет.

Joiner
Offline
Зарегистрирован: 04.09.2014

Вот видео работы скетча для иммитации пламени игрушечного камина

https://www.youtube.com/watch?v=NJ6RYC2MSaE&feature=youtu.be


int led[] ={11,10,9,6,5,13};// 9-красный, 13- белый

int brightness[] = {50,50,0,50,50,50};//50,50 Здесь хранится яркость светиков
int fadeAmount[] = {25,25,2,25,25,1200};//25,25 Здесь хранится скорость изменения яркости
int brightnessMin[] = {30,30,30,30,30,30};//30,30 Здесь минимальная яркость, чтобы светик не гас полностью(можно поиграться)
int brightnessMax[] = {255,255,255,255,255,255};//150,150 Здесь максимальная яркость, убавить, если слишком ярко(можно поиграться)
int fadeAmountMin[]= {2,2,2,2,2,60};//2,2 Минимальная скорость изменения яркости(можно поиграться)
int fadeAmountMax[] = {55,50,50,40,55,2500};//35,35 Максимальная скорость изменения(можно поиграться)
int Pulse=3;//Время свечения искорки Можно поиграться
long previousMillis = 0;

void setup() {
  for (int i=0; i <=5; i++){
  pinMode(led[i], OUTPUT);
  }
}

void loop() 
{
  byte i=5; //Выбираем светик, который искорки и моргаем им рандомно
  if(millis() - previousMillis > fadeAmount[i]) {
    blinc(i);//Вызываем функцию, которая моргнет
             //и выдаст новое рандомное значение периода (здесь fadeAmount[i])   
    previousMillis = millis();
  }
       
 
   
  for (byte i=0; i <=4; i++)//Перебираем светики с ШИМом по очереди
  { 
    analogWrite(led[i], brightness[i]);
    brightness[i]=brightness[i]+fadeAmount[i];//Изменяем яркость одного из светиков
      if (brightness[i] < brightnessMin[i] || brightness[i] >brightnessMax[i])//Если привысили значение
        {
          brightness[i]=brightness[i]-fadeAmount[i];//то исправляем
          raNdom(i);//Обращаемся за случайным значением
          //Serial.print("i="); Serial.println(i);
          //Serial.print("rnd="); Serial.println(fadeAmount[i]);
          if (brightness[i]>(brightnessMax[i]+brightnessMin[i])/2)//Проверяем значение
                                             //ближе к максимому или к минимуму
            {
              fadeAmount[i]=0-fadeAmount[i];//Меняем знак
            }         
        }    
  } 
  delay(50);//50 Задержка, не знаю оптимальная ли....потом подберем Можно поиграться
}
//=================================================================
int raNdom(byte i)//Функция для получения случайного значения
                  //Не понимаю как, но работает
{
do
{ 
  fadeAmount[i] = random() % (fadeAmountMax[i] - 1);//Эта строка от Yarika с форума Arduino
} 
while (fadeAmount[i]<fadeAmountMin[i]);//Проверяем не меньше ли минимума
return fadeAmount[i];//Возвращаем значение функции
}
//==================================================================
void blinc(byte i)
{
  digitalWrite(led[i], HIGH);
  delay(Pulse);
  digitalWrite(led[i], LOW);
  raNdom(i);
  return;
}

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

Конечно код индусский, ну уж как смог...я не программист

xorkrus
Offline
Зарегистрирован: 22.09.2013

как сказал bodriy2014 - изложите техзадание и сообщите в чем проблема.

Joiner
Offline
Зарегистрирован: 04.09.2014

Тех.задание......

Выложил видео, которое показывает, что хочу получить, только разница в том, что на ардуинке 5 светиков мерцают от ШИМа, а один просто моргает. На тиньке пытался сделать по тому же принципу, что и в приведенном скетче, но чтобы мерцали от ШИМа два светика и один моргал. Но ни как это не могу впихнуть в Тиньку, не хватает памяти.

 Умудрился впихнуть в тиньку скетч без Random_а. Там какбэ случайные значения поочередно берутся из массива, но зараза не заработало :( Где-то ошибся.

Для эксперимента заливал в тиньку измененный скетч из примеров по имени Fade. Там два светодиода на ШИМах, каждый со своей постоянной скоростью спокойненько мерцают (т.е. плавно разгораются и плавно пригасают). Не получается получить псевдослучайного изменения скорости. Но я уперся рогом, бросил все остальное, стараюсь победить тиньку13, хотя выше приведенный скетч вполне спокойно вмещается в Тинку85. Правда в работе не пробовал, Тиньки 85 пока не имеется.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Joiner пишет:

Тех.задание......

Выложил видео, которое показывает, что хочу получить, только разница в том, что на ардуинке 5 светиков мерцают от ШИМа, а один просто моргает. На тиньке пытался сделать по тому же принципу, что и в приведенном скетче, но чтобы мерцали от ШИМа два светика и один моргал. Но ни как это не могу впихнуть в Тиньку, не хватает памяти.

 Умудрился впихнуть в тиньку скетч без Random_а. Там какбэ случайные значения поочередно берутся из массива, но зараза не заработало :( Где-то ошибся.

Для эксперимента заливал в тиньку измененный скетч из примеров по имени Fade. Там два светодиода на ШИМах, каждый со своей постоянной скоростью спокойненько мерцают (т.е. плавно разгораются и плавно пригасают). Не получается получить псевдослучайного изменения скорости. Но я уперся рогом, бросил все остальное, стараюсь победить тиньку13, хотя выше приведенный скетч вполне спокойно вмещается в Тинку85. Правда в работе не пробовал, Тиньки 85 пока не имеется.

ТЗ понял, сделал на работе забыл, выложу скину ссылку.

Joiner
Offline
Зарегистрирован: 04.09.2014

bodriy2014 пишет:

ТЗ понял, сделал на работе забыл, выложу скину ссылку.

Спасибо. Буду ждать.

xorkrus
Offline
Зарегистрирован: 22.09.2013

У меня тоже с рандомом проблемы :( Сам рандом не помещается. Чтение аналогового пина не катит. А по таймеру получается слишком предсказуемо.

Joiner
Offline
Зарегистрирован: 04.09.2014

bodriy2014, огромное спасибо за скетч. Сразу не ответил, т.к. был не доступен для интернета. Работает несколько резковато, попробую понять что..как.... В массиве какие значения допустимы?

Сегодня китайские товарищи прислали переходничок SOIC-DIP..... Классная штучка! Теперь буду шить микроскопические тиньки :)

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Joiner пишет:

bodriy2014, огромное спасибо за скетч. Сразу не ответил, т.к. был не доступен для интернета. Работает несколько резковато, попробую понять что..как.... В массиве какие значения допустимы?....

--Для того и выслал исходник чтоб плавность регулировали под себя.

Массив сгенерировал генератором случайных чисел от 0 до 4 что соответствует пяти управляемым пинам.

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

Joiner
Offline
Зарегистрирован: 04.09.2014

bodriy2014 пишет:

..........

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

Спасибо, попробую разобраться

orl
Offline
Зарегистрирован: 20.11.2015

Привет! Попробовал программировать attiny13a через среду arduino, и столкнулся с кучей ошибок в логе при загрузке прошивки и при "прошивке загрузчика" (установке фьюзов).

Ошибки я не люблю, потому исправил их, и заодно причесал немного меню. :-) Исправленную версию закинул на гитхаб, может кому пригодится: https://github.com/orlv/at13

Изменения в файлах boards.txt и platform.txt

ggarry
Offline
Зарегистрирован: 21.01.2016

Приветствую знатоков! 

Соорудил тут я на осноснове Тиньки13 измеритель ЕСР. Индикация сделана на 12 светодиодах по стандартной схеме чарлиплексинга. Генератор 100 кГц на 561лн2 с буфером на полевике. Все бы хорошо, да решил я избавиться от лишнего чипа и получить искомые 100 кГц с тиньки, освободив одну ногу и уменьшив кол-во светодиодов до 8.  Завяз с реализацией. Хочется изящного решения но толи мне мозгов не хватает, толи Тиньке. Чувствую, что нужно таймер использовать... Но как заставить его делить на 6 тактовых 1.2МГц? С прерываниями пока у меня слабо... 

Подскажите, а?

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

ggarry, пример , вам нужно только поменять делитель на 1, отключить лишний вывод, и поменять на OCR0A=5 (для деления на 6)

ggarry
Offline
Зарегистрирован: 21.01.2016

Спасибо. попробую завтра в железе. Протеус  не хочет корректно работать.

HWman
HWman аватар
Offline
Зарегистрирован: 26.02.2013

Когда успешно перенёс проект из Arduino на ATtiny13

Просите, не ужержался.

ggarry
Offline
Зарегистрирован: 21.01.2016

Все отлично! Приятным сюрпризом оказалась способность Тиньки напрямую управлять полевиком с емкостью затвора почти 10 нанофарад на частоте 100 КГц

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

ggarry, даташит атмела по-моему не нормирует максимальные импульсные токи в/из пинов портов, но перегрузка без использования драйверов будет существенная. Без резистора в затворе импульсный ток  доходит до 150ма на обычном мосфете c ёмкостью затвора порядка 2000pF. С резистором ток упадёт соответссно его сопротивлению, но фронт импульсов на затворе станет пологим. В итоге напрягаться будет уже не МК, а транзистор.  Т.е. если вы не используете драйвер -то кто-то за эту простоту обязательно будет страдать -либо МК либо транзистор :)

ggarry
Offline
Зарегистрирован: 21.01.2016

dimax, согласен, это не хорошо. У меня небыло маломощного р-канального полевика, воткнул первый попавшийся, выдраный из контроллера АКБ ноута.  Да и светодиоды на дашборд воткнул без ограничительных резисторов. Просто не может не радовать выносливость МК стоимостью 30 центов.

galaxes
Offline
Зарегистрирован: 24.01.2016

Хотел извиниться за свой может быть глупый вопрос. Только начал изучение, столкнулся с вопросом на который пока не знаю ответ. Помогите пожалуйста как организовать на ардуино (потом буду все впихивать в тиньку) так что бы один вход считал импульсы, а один из выводов выводил то же самое, либо делил их на заданную константу?

georgiyMamun
Offline
Зарегистрирован: 29.01.2016

Здравствуйте! Помогите пожалуйста, найти прошивку на ATTINY13 что бы можно было получить ультра звук мощностью 20-30 кГц.

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

мощность и Герцы - несопоставимы.

georgiyMamun
Offline
Зарегистрирован: 29.01.2016

Можете дать прошивку?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013
georgiyMamun
Offline
Зарегистрирован: 29.01.2016

dimax -спасибо!

Olm
Offline
Зарегистрирован: 09.10.2014

Привет Всем! Люди кто подскажет как реализовать на attiny13 бутлоадер для пршивки по uart с любого пина? Мне нужна шестая нога, и соответственно reset будет запрограммирован как обычный пин, и spi программирование станет недоступно. Но при этом хотелось бы иметь возможность прошить если что новый код. Моя прошивка 300-350 байт весит, т.е на 700 оставшихся байтах можно реализовать софтовый uart и прошивку скетча. Где-то натыкался с год назад на статью по такой теме, но сейчас не могу найти

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Olm пишет:

Привет Всем! Люди кто подскажет как реализовать на attiny13 бутлоадер для пршивки по uart с любого пина? Мне нужна шестая нога, и соответственно reset будет запрограммирован как обычный пин, и spi программирование станет недоступно. Но при этом хотелось бы иметь возможность прошить если что новый код. Моя прошивка 300-350 байт весит, т.е на 700 оставшихся байтах можно реализовать софтовый uart и прошивку скетча. Где-то натыкался с год назад на статью по такой теме, но сейчас не могу найти

Проще на одном транзисторе собрать высоковольтный программатор AVR и сбрасывать фьюзы.

Этот программный UART часто не работает из-за не стабильной частоты МК(при изменении температуры и питания плывет) годится только для отладки при написании. Не будет заливаться будете грешить то на бутлоадер то на соединение все равно прийдется собрать лечилку.

auct
Offline
Зарегистрирован: 14.12.2014

Привет народ!

А как у тиньки13 с защитой прошивки дела обстоят? Легко ли ее клонировать и как можно противодействовать этому?

Шью тиньку через Андруино. 

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

auct пишет:

Привет народ!

А как у тиньки13 с защитой прошивки дела обстоят? Легко ли ее клонировать и как можно противодействовать этому?

Шью тиньку через Андруино. 

Привет.

Как и у всех AVR, ставьте лок бит зашиты в фьюзах и ваш супер код не сольют с МК.

Точнее сольют но там будет бред или нули))

auct
Offline
Зарегистрирован: 14.12.2014

bodriy2014 пишет:

Привет.

Как и у всех AVR, ставьте лок бит зашиты в фьюзах и ваш супер код не сольют с МК.

Точнее сольют но там будет бред или нули))

А как это сделать при прошивке через Ардуино и IDE

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

auct пишет:

А как это сделать при прошивке через Ардуино и IDE

Очень сложно и нигде не описанно, и видео такого нет.

И эту очень тайную информацию готов растолковать вам очень подробно с картинками всего за одну копию вашего секретного кода.!

 

auct
Offline
Зарегистрирован: 14.12.2014

bodriy2014 пишет:

Очень сложно и нигде не описанно, и видео такого нет.

И эту очень тайную информацию готов растолковать вам очень подробно с картинками всего за одну копию вашего секретного кода.!

Договорились! Пожалуйста:

// 8 +5
// 4 GND
// 7 LED


#include <avr/io.h>
#include <avr/sleep.h> // здесь описаны режимы сна
#include <util/delay.h>

byte f=0;
#define ledPin 2

void setup(){
  pinMode(ledPin,OUTPUT);
}

void loop(){
  if(f==0) {
    digitalWrite(ledPin,HIGH);
    _delay_ms(100); 
    digitalWrite(ledPin,LOW);
    f=1;
    _delay_ms(20);
    system_sleep();
  }
} 

void system_sleep(){ 
  ADCSRA &= ~(1 << ADEN); // перед сном отключим АЦП
  ACSR |= (1 << ACD); // и компаратор
  // для уменьшения энергопотребления во сне
  set_sleep_mode(SLEEP_MODE_PWR_DOWN); // если спать - то на полную
  while(1) {
    sleep_enable(); // разрешаем сон
    sleep_cpu(); // спать!
  }
}
  

устройство очень простое, но не хотелось чтоб его тупо копировали...

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

auct пишет:

Договорились! Пожалуйста:

// 8 +5
// 4 GND
// 7 LED


#include <avr/io.h>
#include <avr/sleep.h> // здесь описаны режимы сна
#include <util/delay.h>

byte f=0;
#define ledPin 2

void setup(){
  pinMode(ledPin,OUTPUT);
}

void loop(){
  if(f==0) {
    digitalWrite(ledPin,HIGH);
    _delay_ms(100); 
    digitalWrite(ledPin,LOW);
    f=1;
    _delay_ms(20);
    system_sleep();
  }
} 

void system_sleep(){ 
  ADCSRA &= ~(1 << ADEN); // перед сном отключим АЦП
  ACSR |= (1 << ACD); // и компаратор
  // для уменьшения энергопотребления во сне
  set_sleep_mode(SLEEP_MODE_PWR_DOWN); // если спать - то на полную
  while(1) {
    sleep_enable(); // разрешаем сон
    sleep_cpu(); // спать!
  }
}
  

устройство очень простое, но не хотелось чтоб его тупо копировали...

После включения моргаем вторым пином и спать, отключая лишнее!(

так как это ни какое не устройство то и ответ без картинок))

Если программируете тини через ардуино, значит вы сами в файл boards.txt добавляли меню ATtiny13.

так там есть строка с lock_bits ее и редактируете.

Лично я заливая прошивки через Arduini ISP использую для установки фьюзов SinaProg она поддерживает ардуино.

Joiner
Offline
Зарегистрирован: 04.09.2014

auct пишет:

.......................

устройство очень простое, но не хотелось чтоб его тупо копировали...

Но Вы же сами скопировали его (функцию сна), у товарища, который выложил код в свобоный доступ и зачем-то хотите его защищать.

Проект из которого Вы копировали называется "Шар судьбы".

Хотя может я и ошибаюсь...Может Вы и есть тот автор?