/* 123 */

int outPin1 = 9;                 // цифровой порт вход/выхода 9
int outPin2 = 8;                 // цифровой порт вход/выхода 8 для светодиода
int soundPin = 7;                // цифровой выход для звука 7 нога
unsigned long timing;             // переменная для хранения точки отсчета
unsigned long sound;             // переменная для хранения точки отсчета звук интервалов
 
void setup()
{
  pinMode(outPin1, OUTPUT);     // устанавливается режим портов - выход
  pinMode(outPin2, OUTPUT);     // устанавливается режим портов - выход
  pinMode(soundPin, OUTPUT);    // устанавливается режим портов - выход
  timing = millis();            // присвоим начальное значение времени
  sound = millis();            // присвоим начальное значение времени
  digitalWrite(outPin2, HIGH);   // подаем 1 на выход 8 на светодиод
  tone(soundPin, 1000);            // диагностика звука
  delay(1000); 
  noTone(soundPin);
  
}
 
void loop()
{
  delay(125);               // ожидаем 127 милисекунд 7.83 hz
  delayMicroseconds(21);    // погрешность для точности 7.83
  
  digitalWrite(outPin1, HIGH);   // подаем 1 на выход 9
 
  delayMicroseconds(2554);          // ожидаем 2500 микросекунд
  
  digitalWrite(outPin1, LOW);    // подаем 0 на выход 9
  
  if(millis() - timing > 1200000) {   //  проверяем интервал времени нужно значение - 1 200 000 - 20 минут
    tone(soundPin, 1000);            // включаем сигнал с частотой 1000 гц
    delay(500);                     // пауза сигнала
    noTone(soundPin);               //выключаем звук
    delay(500);                     // пауза
    tone(soundPin, 1000);            // включаем сигнал с частотой 1000 гц
    delay(1000);                     // пауза сигнала
    noTone(soundPin);               // выключаем звук
    digitalWrite(outPin2, LOW);    // подаем 0 на выход 8 гасим светодиод
    delay(14400000);                // долгая пауза - отключение 240 минут
    timing = millis();            // присвоим текушее значение времени
  }   
 
  
  if(millis() - sound > 300000) {   //  проверяем интервал времени нужно значение - 300000 - 5 минут
    tone(soundPin, 1000);            // включаем сигнал с частотой 1000 гц
    delay(500);                     // пауза сигнала
    noTone(soundPin);               //выключаем звук
    sound = millis();            // присвоим текушее значение времени
  }  
 
}
