Значение на выходе с датчика

username_
Offline
Зарегистрирован: 22.05.2019

Доброго времени суток
Тут такое дело: мне нужно сделать условие, что при изменении температуры выполняется то или иное действие.
Можно идти сравнением первого результата с последующими. Но я не совсем понимаю то, как одной переменной присвоить именно первое(!) значение с датчика.
Буду крайне благодарен за подсказку

sadman41
Offline
Зарегистрирован: 19.10.2016

Возьмите две переменные. Или у вас лимит на них?

username_
Offline
Зарегистрирован: 22.05.2019

Но ведь все значения идут потоком

sadman41
Offline
Зарегистрирован: 19.10.2016

Надо с чего-то начать. Постите небольшой код, где значения идут потоком.

username_
Offline
Зарегистрирован: 22.05.2019
#include <dht11.h>
dht11 DHT;
#define DHT11_PIN 4
int maxt;
void setup(){
  Serial.begin(9600);
  Serial.println("DHT TEST PROGRAM ");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(DHT11LIB_VERSION);
  Serial.println();
  Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
  pinMode (2, OUTPUT); 
}

void loop(){
  int chk;
  Serial.print("DHT11, \t");
  chk = DHT.read(DHT11_PIN);    // READ DATA
  switch (chk){
    case DHTLIB_OK:  
                Serial.print("OK,\t"); 
                break;
    case DHTLIB_ERROR_CHECKSUM: 
                Serial.print("Checksum error,\t"); 
                break;
    case DHTLIB_ERROR_TIMEOUT: 
                Serial.print("Time out error,\t"); 
                break;
    default: 
                Serial.print("Unknown error,\t"); 
                break;
  }
  Serial.print(DHT.humidity,1);
  Serial.print(",\t");
  Serial.println(DHT.temperature,1);
  delay(1000);

  maxt=DHT.temperature;

Этот код - обычное подключение датчика температуры и влажности. А в конце моя тщетная (и глупая) попытка присвоить одной переменной единственное первое значение

sadman41
Offline
Зарегистрирован: 19.10.2016

Можно так

void loop() {
  static bool firstLoop = true;
  currentValue = analogRead(A0);
  if (!firstLoop)
     if (currentValue > prevValue) {
        // alarm
     }
  }
  firstLoop = false;
  prevValue = currentValue;
}

А можно значение в prevValue в setup() получить, к примеру.

username_
Offline
Зарегистрирован: 22.05.2019

Все, понял.

Благодарю за помощь! :)