2 датчика DHT22 и одна функция "чтения показаний"?
- Войдите на сайт для отправки комментариев
Пнд, 16/12/2013 - 18:31
Вот мой код:
#include <DHT22.h> #define Sensor_PIN1 4 #define Sensor_PIN2 5 char DHT_Statment[128]; // Setup a DHT22 instance DHT22 Sensor_1(Sensor_PIN1); DHT22 Sensor_2(Sensor_PIN2); void setup() { Serial.begin(9600); Serial.println("DHT22 Library Demo"); } void loop() { readSensor1(); delay(2000); readSensor2(); delay(2000); } void readSensor1(){ Serial.print("Requesting data Sensor_1..."); DHT22_ERROR_t errorCode; errorCode = Sensor_1.readData(); sprintf(DHT_Statment, "Integer-only reading: Temperature %hi.%01hi C, Humidity %i.%01i %% RH", Sensor_1.getTemperatureCInt()/10, abs(Sensor_1.getTemperatureCInt()%10), Sensor_1.getHumidityInt()/10, Sensor_1.getHumidityInt()%10); Serial.println(DHT_Statment); } void readSensor2(){ Serial.print("Requesting data Sensor_2..."); DHT22_ERROR_t errorCode; errorCode = Sensor_2.readData(); sprintf(DHT_Statment, "Integer-only reading: Temperature %hi.%01hi C, Humidity %i.%01i %% RH", Sensor_2.getTemperatureCInt()/10, abs(Sensor_2.getTemperatureCInt()%10), Sensor_2.getHumidityInt()/10, Sensor_2.getHumidityInt()%10); Serial.println(DHT_Statment); }
подскажите, как правильно сделать одной функцией?
Передавать в функцию сенсор
та это я понял.. но че-то у меня не получается...((
Показывай как пробуешь и что не получается. Ошибки вылезают?
Life23, ну как-то так (набросал быстро - не лучший вариант наверное, но сойдет):
при чем влажность на Sensor_2 падает и когда достигает ниже 1000, в порте лезут непонятные символы:
Решил проблему заменой библиотеки:
Этот скетч шлёт нули...