Значение на выходе с датчика
- Войдите на сайт для отправки комментариев
Ср, 22/05/2019 - 22:50
Доброго времени суток
Тут такое дело: мне нужно сделать условие, что при изменении температуры выполняется то или иное действие.
Можно идти сравнением первого результата с последующими. Но я не совсем понимаю то, как одной переменной присвоить именно первое(!) значение с датчика.
Буду крайне благодарен за подсказку
Возьмите две переменные. Или у вас лимит на них?
Но ведь все значения идут потоком
Надо с чего-то начать. Постите небольшой код, где значения идут потоком.
#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;Этот код - обычное подключение датчика температуры и влажности. А в конце моя тщетная (и глупая) попытка присвоить одной переменной единственное первое значение
Можно так
void loop() { static bool firstLoop = true; currentValue = analogRead(A0); if (!firstLoop) if (currentValue > prevValue) { // alarm } } firstLoop = false; prevValue = currentValue; }А можно значение в prevValue в setup() получить, к примеру.
Все, понял.
Благодарю за помощь! :)