Проблемы с DHT11. Где обозначить "readTemperature" и как инициализировать DHT? Нужна помощь.
- Войдите на сайт для отправки комментариев
Чт, 21/04/2016 - 11:36
Проблемы тут:
int DHT = 2; int t = readTemperature, sens DHT (uint8_t, uint8_t, uint8_t); int h = readTemperature, sens DHT (uint8_t, uint8_t, uint8_t);
Выдаёт сл. ошибку:
sketch_2.ino: In function 'void loop()':
sketch_2:46: error: 'readTemperature' was not declared in this scope
sketch_2:46: error: expected initializer before 'DHT'
sketch_2:48: error: expected initializer before 'DHT'
Где обозначить "readTemperature" и как инициализировать DHT (я же "int DHT = 2;" прописал) ?
Полный код:
#include <DHT.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> DHT sens(uint8_t pin, uint8_t type, uint8_t count=6); // Установить ЖК-адрес для 0x27 для отображения 20 символов и 4 линии LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { // initialize the LCD lcd.begin(); // Turn on the blacklight and print a message. lcd.noBacklight(); lcd.clear(); lcd.setCursor(0, 1); // настройка UART (связь с компьютером - через виртуальный COM-порт посредством USB) Serial.begin(9600); // настройка вывода датчика DHT11 pinMode(2, INPUT); digitalWrite(2, HIGH); lcd.clear(); lcd.backlight(); } void loop() { int DHT = 2; //int t = sens.readTemperature(2); // чтение датчика на пине 2 int t = readTemperature, sens DHT (uint8_t, uint8_t, uint8_t); //int h = sens.readHumidity(2); // чтение датчика на пине 2 int h = readTemperature, sens DHT (uint8_t, uint8_t, uint8_t); // передача данных о температуре и влажности по виртуальному COM-порту Serial.print("Hum: "); Serial.print(h); Serial.print(" %"); Serial.print("Temp: "); Serial.print(t); Serial.println(" C "); // отображение данных о температуре и влажности на знакосинтезирующем ЖКИ // set the cursor to column 0, line 0 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 0); lcd.print("Tem: "); lcd.print(t); lcd.print("C "); lcd.setCursor(0, 1); lcd.print("Hum: "); lcd.print(h); lcd.print("%"); // print the number of seconds since reset: //lcd.print(millis() / 1000); delay(1000); }
Проблемы тут:
Нет, тут не проблемы, проблемы в другом месте. Тут просто какой-то бред. Что по Вашему это должно означать?
Зачем? DHT у Вас тип данных, зачем заводить ещё и переменную с таким же именем?