Шим для клапана отбора

Niklog78
Offline
Зарегистрирован: 07.04.2016

Здравствуйте, не ругайтесь сильно, прошу помощи, подскажите как правильно написать что бы реле было закрыто 10 секунд, а потом открыто 3 секунды и так по кругу имитация шим, может правильно сделать на Millis, подскажите кому не жалко.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016
//------------Компоновка------------------------------
const byte Relay_pin =/*нога реле*/2;
bool Relay;
const uint32_t time_10s = 10000;
const uint32_t time_3s = 3000;
//-------------------Main()--------------------------
void setup() {
  pinMode(Relay_pin, OUTPUT);
  digitalWrite(Relay_pin, Relay = 1);

}
void loop() {
  static uint32_t past = 0;
  if  (Relay && millis() - past >= time_10s) {
    past = millis();
    digitalWrite(Relay_pin, Relay = 0);
  }
  if  (!Relay && millis() - past >= time_3s) {
    past = millis();
    digitalWrite(Relay_pin, Relay = 1);
  }
}

 

Niklog78
Offline
Зарегистрирован: 07.04.2016

спасибо огроменское буду пробовать