Проблемы с 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 у Вас тип данных, зачем заводить ещё и переменную с таким же именем?