Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

онанист
2019-01-15 17:22:26

я дрочу дрочу дрочу
и на лодочке лечу
спермой землю заливаю
с новым годом поздравляю

хуй
2019-01-15 17:16:57

хуй
сасай
быстро б**ь

Вячеслав Азаров
2018-06-09 16:59:46
Oleg88 пише:

Всем привет такой вопрос как по состоянию трех входов запустить три независимых таймера ?

Библиотека EveryTimer поможет, если вам нужны не аппаратные таймеры.

Oleg88
2018-06-09 16:22:33

Всем привет такой вопрос как по состоянию трех входов запустить три независимых таймера ?

vk
2015-11-25 23:37:57

просто как таймер.

если в течении 6 секунд после выключения опять включить свет, то вентилятор перестанет работать.
а если свет не выключить то и не запустится вентиль.

идеально было бы чтоб свет и вентилятор сам включался и включался в зависимости от нахождения человека. а микроконтроллер работал постоянно, реагируя на какие либо события/прерывания. дальше можно прикрутить датчик дыма (для курящих) и уровня воды ....

ДмитрийZ
2015-11-25 18:04:40

мне еще надо много читать, чтоб понять, что вы написали. Спасибо за помощь, но получилась та же история - в самых интересных местах комментариев то и нет sad . Я сделал вот так:

на лампе освещения реле с нормально замкнутыми. свет вкл - контакты разомк. свет выкл - реле вкл питание ардуине, исполняется вот такое

const int fan =  12;      
int fanState = LOW;             
unsigned long previousMillis = 0;        
const long interval = 60000;           

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

void loop() {
  
  unsigned long currentMillis = millis();
  if (currentMillis  >= interval) {
   
      fanState = HIGH;
    } else {
      fanState = LOW;
    }
    digitalWrite(fan, fanState);
  }
vk
2015-11-24 00:56:44

вообще-то правильней было бы сделать через типы, предоставив апи настроек событий и взаимодействия, чтоб не дублировать код но мне лень (:

vk
2015-11-24 00:33:44
const int ledPin =  11;

unsigned long desiredBeginDelay = 5000; //trigger's interval
unsigned long desiredEndDelay = 5000; //trigger's interval
unsigned long signalBeginTime = 0;   //0 - stop, millis() - begin interval
unsigned long signalEndTime = 0;   //0 - stop, millis() - begin interval

bool isTriggerTime(unsigned long beginTime, unsigned long interval) {
	bool result = false;

	if(beginTime > 0)
		result = (millis() - beginTime) >= interval;

	return result;
}

void setup() {
	pinMode(ledPin, OUTPUT);
	digitalWrite(ledPin, LOW);
	
	delay(10); //set internal time > 10
	signalBeginTime = millis(); //start trigger at current time
}

void loop() {
	if(isTriggerTime(signalBeginTime, desiredBeginDelay)){
		digitalWrite(ledPin, HIGH);
		signalEndTime = millis();
		signalBeginTime = 0;
	}

	if(isTriggerTime(signalEndTime, desiredEndDelay)){
		digitalWrite(ledPin, LOW);
		signalEndTime = 0;
	}
}
ДмитрийZ
2015-11-23 19:30:27

эта штука может и так работать, но мне таки интересно: как показать, что сигнал не просто выключен, а был выключен только что? И как правильно работать с millis - как оформить, что событие одноразовое, и должно длиться такое то время? Подскажите, где почитать подробно, пожалуйста.

ДмитрийZ
2015-11-23 17:50:23

сделал вот так

const int ledPin =  11;     
const int desireDelay = 5000;

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
   digitalWrite(ledPin, LOW);
   delay(desireDelay);
   digitalWrite(ledPin, HIGH);
}


void loop() { }

предполагаю, будет критика. Хотелось бы все таки сделать правильно smile

ДмитрийZ
2015-11-23 14:32:59

для простого задания - включать вентилятор в WC после выключения света приобрел Нано и модуль реле. Мой уровень нулевой, как говорил Панда, но переключать светодиоды, моторчики я уже научился. А вот с этой простой задачей торможу, аж стыдно. Как контроллеру показать, что свет не просто выключен, а только что БЫЛ выключен? Или - как остановить loop после одного цикла? Массу интересного и понятного материала  по ардуино прочитал, и, как правило,  в самом интересном месте объяснения становятся туманны smile. Помогите выйти из депресняка!

Підвал форуму