Главное меню

Юридическая помощь

Рекламодателям

Рекламодателям

Путь на сайте

оптика 4

// #include <Wire.h>                                          // Подключаем библиотеку для работы с аппаратной шиной I2C, до подключения библиотеки iarduino_OLED.
// #include <iarduino_OLED.h>                                 // Подключаем библиотеку iarduino_OLED.
// iarduino_OLED myOLED(0x3C);                                // Создаём объект myOLED, указывая адрес дисплея на шине I2C: 0x3C или 0x3D.
 
// extern const uint8_t SmallFontRus[];                       // Подключаем шрифт SmallFontRus.
 
#define PIN_LED1 26    //реле открытия клапанов цифровой пин
#define PIN_LED2 27    //реле открытия клапанов цифровой пин
#define PIN_LED3 14    //реле открытия клапанов цифровой пин
#define PIN_LED4 12    //реле открытия клапанов цифровой пин
#define PIN_LED5 13    //реле открытия клапанов цифровой пин
#define PIN_LED6 23    //реле открытия клапанов цифровой пин
#define PIN_LED7 19    //реле открытия клапанов цифровой пин
#define PIN_LED8 18    // реле аварии цифровой пин
#define PIN_PHOTO_SENSOR1 A0    //фоторезистор аналоговый пин в диапазоне от 0 до 4095
#define PIN_PHOTO_SENSOR2 A3    //фоторезистор аналоговый пин в диапазоне от 0 до 4095
#define PIN_PHOTO_SENSOR3 A6    //фоторезистор аналоговый пин в диапазоне от 0 до 4095
#define PIN_PHOTO_SENSOR4 A7    //фоторезистор аналоговый пин в диапазоне от 0 до 4095
#define PIN_PHOTO_SENSOR5 32    //фоторезистор аналоговый пин в диапазоне от 0 до 4095
#define PIN_PHOTO_SENSOR6 A5    //фоторезистор аналоговый пин в диапазоне от 0 до 4095
#define PIN_PHOTO_SENSOR7 25    //фоторезистор аналоговый пин в диапазоне от 0 до 4095
//#define digitalWrite(PIN_LED8, LOW);
 int sec1=0;
 int sec2=0;
 int sec3=0;
 int sec4=0;
 int sec5=0;
 int sec6=0;
 int sec7=0;

void setup(){  

//  // int value = 0;
//                                              //
//  myOLED.begin(&Wire);                                   // Инициируем работу с дисплеем, указав ссылку на объект для работы с шиной I2C на которой находится дисплей (по умолчанию &Wire).
//  myOLED.setFont(SmallFontRus);                          // Указываем шрифт который требуется использовать для вывода цифр и текста.
//  Serial.begin(9600);
 pinMode(PIN_LED1, OUTPUT); // пин работает на включение или выключение
 pinMode(PIN_LED2, OUTPUT); // пин работает на включение или выключение
 pinMode(PIN_LED3, OUTPUT); // пин работает на включение или выключение
 pinMode(PIN_LED4, OUTPUT); // пин работает на включение или выключение
 pinMode(PIN_LED5, OUTPUT); // пин работает на включение или выключение
 pinMode(PIN_LED6, OUTPUT); // пин работает на включение или выключение
 pinMode(PIN_LED7, OUTPUT); // пин работает на включение или выключение
 pinMode(PIN_LED8, OUTPUT); // пин работает на включение или выключение аварии
// //  digitalWrite(PIN_LED8, LOW);
 }          
// uint32_t btnTimer = 0;                                                //
 
void loop(){    
uint32_t sec = millis() / 1000ul;
int val1 = analogRead(PIN_PHOTO_SENSOR1);
int val2 = analogRead(PIN_PHOTO_SENSOR2);
int val3 = analogRead(PIN_PHOTO_SENSOR3);
int val4 = analogRead(PIN_PHOTO_SENSOR4);
int val5 = analogRead(PIN_PHOTO_SENSOR5);
int val6 = analogRead(PIN_PHOTO_SENSOR6);
int val7 = analogRead(PIN_PHOTO_SENSOR7);
//  Вывод текста в кодировке UTF-8:                        //
    // myOLED.clrScr();                                       // Чистим экран.
    // //myOLED.print("UTF8", 0, 7);                            // Выводим текст начиная с координаты 0x7 (нижняя левая точка текста).
    // //myOLED.setCoding(TXT_UTF8);   // Меняем кодировку на UTF-8 (по умолчанию).
    //  myOLED.setFont(MediumFont);
    //  //int value = analogRead(A0) ;                  
    // //myOLED.print("Алексей", 7, 39);          // Выводим текст по центру экрана, координата нижней части текста по оси Y равна 39.
    // myOLED.print(analogRead(A0),20,16);//в диапазоне от 0 до 4095
    // myOLED.print(analogRead(A3),20,32);//в диапазоне от 0 до 4095
    // myOLED.print(analogRead(A6),20,48);//в диапазоне от 0 до 4095
    // myOLED.print(analogRead(A7),20,64);//в диапазоне от 0 до 4095
    // myOLED.print(analogRead(32),80,16);//в диапазоне от 0 до 4095
    // myOLED.print(analogRead(A5),80,32);//в диапазоне от 0 до 4095
    // myOLED.print(analogRead(25),80,48);//в диапазоне от 0 до 4095
    // myOLED.print(sec,80,64);//в диапазоне от 0 до 4095
    // delay (50);  // Ждём 5 секунд.
//////
   if (val1 < 1000 && (sec - sec1) < 5) {
    digitalWrite(PIN_LED8, LOW);
    digitalWrite(PIN_LED1, HIGH);///////////// клапан в работе
  } else {

    digitalWrite(PIN_LED1, LOW);
  }
  if (val1 > 1000) {
    sec1 = sec;
  }
  if (val1 < 1000 && (sec - sec1) > 5) {
    digitalWrite(PIN_LED8, HIGH); ////авария
  }            
  ////                      
   if (val2 < 1000 && (sec - sec2) < 5) {
    digitalWrite(PIN_LED8, LOW);
    digitalWrite(PIN_LED2, HIGH);///////////// клапан в работе
  } else {

    digitalWrite(PIN_LED2, LOW);
  }
  if (val2 > 1000) {
    sec2 = sec;
  }
  if (val2 < 1000 && (sec - sec2) > 5) {
    digitalWrite(PIN_LED8, HIGH); ////авария
  }  
///
   if (val3 < 1000 && (sec - sec3) < 5) {
    digitalWrite(PIN_LED8, LOW);
    digitalWrite(PIN_LED3, HIGH);///////////// клапан в работе
  } else {

    digitalWrite(PIN_LED3, LOW);
  }
  if (val3 > 1000) {
    sec3 = sec;
  }
  if (val3 < 1000 && (sec - sec3) > 5) {
    digitalWrite(PIN_LED8, HIGH); ////авария
  }  
  /////
   if (val4 < 1000 && (sec - sec4) < 5) {
    digitalWrite(PIN_LED8, LOW);
    digitalWrite(PIN_LED4, HIGH);///////////// клапан в работе
  } else {

    digitalWrite(PIN_LED4, LOW);
  }
  if (val4 > 1000) {
    sec4 = sec;
  }
  if (val4 < 1000 && (sec - sec4) > 5) {
    digitalWrite(PIN_LED8, HIGH); ////авария
  }  
  /////
   if (val5 < 1000 && (sec - sec5) < 5) {
    digitalWrite(PIN_LED8, LOW);
    digitalWrite(PIN_LED5, HIGH);///////////// клапан в работе
  } else {

    digitalWrite(PIN_LED5, LOW);
  }
  if (val5 > 1000) {
    sec5 = sec;
  }
  if (val5 < 1000 && (sec - sec5) > 5) {
    digitalWrite(PIN_LED8, HIGH); ////авария
  }  
  /////
     if (val6 < 1000 && (sec - sec6) < 5) {
    digitalWrite(PIN_LED8, LOW);
    digitalWrite(PIN_LED6, HIGH);///////////// клапан в работе
  } else {

    digitalWrite(PIN_LED6, LOW);
  }
  if (val6 > 1000) {
    sec6 = sec;
  }
  if (val6 < 1000 && (sec - sec6) > 6) {
    digitalWrite(PIN_LED8, HIGH); ////авария
  }  
  /////
     if (val7 < 1000 && (sec - sec7) < 5) {
    digitalWrite(PIN_LED8, LOW);
    digitalWrite(PIN_LED7, HIGH);///////////// клапан в работе
  } else {

    digitalWrite(PIN_LED7, LOW);
  }
  if (val7 > 1000) {
    sec7 = sec;
  }
  if (val7 < 1000 && (sec - sec7) > 5) {
    digitalWrite(PIN_LED8, HIGH); ////авария
  }  
  /////

}