Условие:
В ответе укажите строки по возрастанию
01: #include <PID_v1.h>
02: #include <OneWire.h>
03: #include <DallasTemperature.h>
04:
05: #define ONE_WIRE_BUS 2
06: #define TEMPERATURE_PRECISION 9
07: OneWire oneWire(ONE_WIRE_BUS);
08: DallasTemperature sensors(&oneWire);
09:
10: double Setpoint, Input, Output;
11: double Kp=2, Ki=5, Kd=1;
12: PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
13:
14: int RelayPin = 6;
15:
16: void setup() {
17: Serial.begin(9600);
18: sensors.begin();
19: Input = sensors.getTempCByIndex(0);
20: Setpoint = 37.5;
21: myPID.SetMode(AUTOMATIC);
22: myPID.SetOutputLimits(0, 255);
23: pinMode(RelayPin, OUTPUT);
24: }
25:
26: void loop() {
27: sensors.requestTemperatures();
28: Input = sensors.getTempCByIndex(0);
29:
30: if (Input == DEVICE_DISCONNECTED_C) {
31: Serial.println("Ошибка датчика");
32: return;
33: }
34:
35: myPID.Compute();
36:
37: if (Output > 128) {
38: digitalWrite(RelayPin, HIGH);
39: } else {
40: digitalWrite(RelayPin, LOW);
41: }
42:
43: Serial.print("Температура: ");
44: Serial.print(Input);
45: Serial.print(" Цель: ");
46: Serial.print(Setpoint);
47: Serial.print(" Выход: ");
48: Serial.println(Output);
49:
50: delay(1000);
51: }

