void setup() {
Serial.begin(115200);
//Пример создания структуры данных для устройства.
// struct Device { //инициализация структуры с именем Device
// String name;
// String model;
// int age;
// bool NoAlarm;
// };
// // //пример экземпляра структуры Device
// Device arduino1;
// arduino1.name = "Arduino"; //String
// arduino1.model = "UNO"; //string
// arduino1.age = 2020; //int
// arduino1.NoAlarm = true; //bool, флаг состояния
// Serial.print(arduino1.name + " " + arduino1.model + " " + String(arduino1.age)); //вывод в консоль инф-и о состоянии устройства
// if (arduino1.NoAlarm) { // условия вывода в консоль состояния флага
// Serial.println(" Good state");
// } else {
// Serial.println(" Bad state");
// }
// //пример экземпляра 2 // аналогично 1му
// Device arduino2;
// arduino2.name = "Arduino";
// arduino2.model = "Mega";
// arduino2.age = 2015;
// arduino2.NoAlarm = false;
// Serial.print(
// arduino2.name + " " + arduino2.model
// + " " + String(arduino2.age));
// if (arduino2.NoAlarm) {
// Serial.println(" Good state");
// } else {
// Serial.println(" Bad state");
// }
}
void loop() {
// пример из презентации
struct T_channel { // создание структуры температурного канала
int value;
int setpointHi;
int setpointLo;
bool alarmHi;
bool alarmLo;
};
T_channel T_exhaust_air; // температура продуктов сгорания с T_exhaust_air
T_exhaust_air.value = analogRead(1); // чтение значения с входа A1
T_exhaust_air.setpointHi = 800; // определение уставки
// формирование аларма — сравнение значения с уставкой:
T_exhaust_air.alarmHi = T_exhaust_air.value > T_exhaust_air.setpointHi;
if (T_exhaust_air.alarmHi) { //условия вывода инф-и о состоянии флага
Serial.println("T_exhaust_air Bad state");
} else {
Serial.println(" T_exhaust_air Good state");
}
T_channel T_2;
T_2.value = analogRead(2);
T_2.setpointLo = 200;
T_2.alarmLo = T_2.value < T_2.setpointLo;
if (T_2.alarmLo) { //условия вывода инф-и о состоянии флага
Serial.println("T_2 Bad state");
} else {
Serial.println(" T_2 Good state");
}
delay(500);
}