как задать количество выходящих импульсов светодиода

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Green пишет:

BOOM пишет:

А как не взлетело то? Не понял...


А пофигу! Ляпнул, а вы тренируйтесь.)

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

// BLINK для ATtiny85
#include "Blink.h"

uint8_t myled_pin = 13;
uint8_t myled_pin1 = 11;
uint16_t work_time = 250;  // включено
uint16_t pause = 1000;     // выключено
uint16_t impuls = 270;      // число импульсов
uint16_t work_time1 = 250;  // включено
uint16_t pause1 = 300;     // выключено
uint16_t impuls1 = 27;      // число импульсов


Blink blinks(myled_pin, work_time1, pause1, impuls1);
Blink blinks1(myled_pin1, work_time, pause, impuls);

void setup() {
  blinks.start();
  blinks1.start();
}

void loop()
{
  blinks.myrun();
  blinks1.myrun();
}

PS на написание библиотеки на основе материалов на этом сайте времени понадобилось минут 10, согласись это меньше, чем понадобиться чтобы выпить три литра пива )))

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

У меня тоже все компилируется:

#include "blink.h"

uint8_t myled_pin = 13;
uint16_t work_time = 250;  // включено
uint16_t pause = 1000;     // выключено
uint16_t impuls = 27;     // число импульсов

Blink blink1 (myled_pin, work_time, pause, impuls);
Blink blink2 (10, work_time, pause, impuls);

void setup() {
  blink1.start();
  blink2.start();
}

void loop()
{
  blink1.myrun();
  blink2.myrun();
}

 

Green
Offline
Зарегистрирован: 01.10.2015

ua6em пишет:

PS на написание библиотеки на основе материалов на этом сайте времени понадобилось минут 10, согласись это меньше, чем понадобиться чтобы выпить три литра пива )))


Ну так не ты же написал, а дядя.)))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Green пишет:

ua6em пишет:

PS на написание библиотеки на основе материалов на этом сайте времени понадобилось минут 10, согласись это меньше, чем понадобиться чтобы выпить три литра пива )))


Ну так не ты же написал, а дядя.)))

в смысле? это был мой первый опыт написания библиотеки, ушло минут 10-15

библиотечка доступна тут

Код можно взять из примеров, а можно и тут, добавил инверсию сигнала )))
 

// BLINK для ATtiny85
#include "Blink.h"

uint8_t led01_pin = 13;
uint8_t led02_pin = 11;
uint8_t led03_pin = 10;

uint16_t work_01_time = 1000;  // включено (время включенного состояния мс) LED1
uint16_t pause_01 = 10000;     // выключено (время выключенного состояния мс) LED1
uint16_t impuls_01 = 270;      // число импульсов LED1

uint16_t work_02_time = 250;   // включено (время включенного состояния мс) LED2
uint16_t pause_02 = 300;       // выключено(время выключенного состояния мс) LED2
uint16_t impuls_02 = 27;       // число импульсов LED2

uint16_t work_03_time = 10;    // включено (время включенного состояния мс) LED3
uint16_t pause_03 = 10;        // выключено(время выключенного состояния мс) LED3
uint16_t impuls_03 = 5000;     // число импульсов LED3

Blink leds_01(led01_pin, work_01_time, pause_01, impuls_01, HIGH);
Blink leds_02(led02_pin, work_02_time, pause_02, impuls_02);
Blink leds_03(led03_pin, work_03_time, pause_03, impuls_03);

void setup() {
  leds_01.start();
  leds_02.start();
  leds_03.start();
}

void loop()
{
  leds_01.myrun();
  leds_02.myrun();
  leds_03.myrun();
}

 

Green
Offline
Зарегистрирован: 01.10.2015

"Так значит можешь, если захочешь."))
А в чём отличие макро от библиотеки? Вопрос на засыпку.)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Green пишет:

"Так значит можешь, если захочешь."))
А в чём отличие макро от библиотеки? Вопрос на засыпку.)

Скажи мне дружище есть метод вызывать функции myrun() таймером, чтобы не прописывать их в loop()?

 

PS я пока чуть более 6 лет на сайте, до макросов еще не дошёл )))

как называется мужчина который хочет, но не может...(Д) - импотент,
а который может, но не хочет? ...(Д) не раздумывая...сволочь он...сволочь...  

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

ua6em 13 строка Blink(uint8_t led_pin, uint16_t led_on, uint16_t led_off, uint16_t count, bool invese);

invese ?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Komandir пишет:

ua6em 13 строка Blink(uint8_t led_pin, uint16_t led_on, uint16_t led_off, uint16_t count, bool invese);

invese ?

поправил, но код как-то отрабатывал, сейчас перепроверю...да похоже конструкция не работает, в чём косяк?

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Вот и я удивился - как оно компилировалось ? (сам не пробовал)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Komandir пишет:

Вот и я удивился - как оно компилировалось ? (сам не пробовал)

и компилировалось и заливалось

Green
Offline
Зарегистрирован: 01.10.2015

Komandir пишет:

invese ?


Может это по французски (которые не выговаривают букву Р)) Ну не inversia же!
 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Из-за 29 ой видимо...

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Green пишет:

Может это по французски (которые не выговаривают букву Р)) Ну не inversia же!

Хороший стук он всегда вылезет )))
Осталось почитать как задавать значение по умолчанию

вроде одолел