Начинающий я!) нужен скетч управления двумя реле. При включении ардуино сразу должно включаться первое реле и через 10 минут выключаться и сразу включаться второе на час! Я понимаю что вроде это просто но что то не знаю с чего начать. может кому не трудно кинет тут такой скетч сразу? Пожалуйста. Использоваться будет в стерилизаторе с сушкой вместо штатной глючной электроники. Ребенку надо ингалятор стерилизовать и сушить.
Ну а если в моем коде не разберетесь то что делать будем. Ведь перовереные средства и давать ребенку опасно.
Вот вариант проще некуда. Код (C++): void setup() { // put your setup code here, to run once: pinMode(9, OUTPUT); pinMode(10, OUTPUT); digitalWrite(9, LOW); digitalWrite(10, HIGH); delay (600000); digitalWrite(9, HIGH); digitalWrite(10, LOW); delay(3600000); digitalWrite(10, HIGH); } void loop() { // put your main code here, to run repeatedly: } Не знаю поймет ли delay такие цифры, наверное поймет. Если нет, то в цикле.
Не провереные программы, как и непроверенные лекарства вредны для здоровья. Мой код Код (C++): /* реле 1 -> 2(relay1_pin) 1 включено / 0 выключено включается на 10 минут GND -> GND реле 2 -> 3 (relay2_pin) 1 включено / 0 выключено включается после выключения 1 на 1 час GND -> GND */ //#1 const int relay1_pin = 2; // первое реле uint8_t relay1; //#2 const int relay2_pin = 3; // второе реле uint8_t relay2; void setup() { //#1 pinMode(relay1_pin, OUTPUT); // включим реле 1 digitalWrite(relay1_pin, relay1 = 1); //#2 pinMode(relay2_pin, OUTPUT); // выключим реле 2 digitalWrite(relay2_pin, relay2 = 0); } void loop() { //#1 static uint32_t future1 = 10 * 60 * 60 * 1000 ; // выставляем 10 минут(шаг 0,001 сек) static uint32_t future2 =0; if (relay1 && millis() >= future1) { // когда будет 10 минут digitalWrite(relay1_pin, relay1 = 0); // выключим реле 1 digitalWrite(relay2_pin, relay2 = 1); // включим реле 2 future2=millis()+60 * 60 * 60 * 1000 ; // выставляем выключение через 60 минут()(шаг 0,001 сек) } //#2 if (relay2 && millis() >= future2) { // когда будет 1час digitalWrite(relay2_pin, relay2 = 0); // выключим реле 2 } }
Спасибо. только что то со временем. включается первое сразу а второе через несколько секунд. и при этом первое не выключается.
Время задается в миллисекундах. 1000мкс = 1с, вот и считайте. Чтобы нагляднее было можно писать, например: Код (C++): delay(60*60*1000); // один час