Помощь с кодом!

asercat
Offline
Зарегистрирован: 09.01.2017

есть такой код                  но здесь выдаёться ошибка в этой строке   int chk = DHT11.read(DHT11PIN); и пишет вот это 

request for member 'read' in '11', which is of non-class type 'int'
 

  #include <LiquidCrystal.h>

#include <stDHT.h>
DHT11 DHT11;
#define DHT11PIN 2
 
byte PE_lit[8] =
{
  B11111,
  B10001,
  B10001,
  B10001,
  B10001,
  B10001,
  B10001,
  B00000,
};
 
byte EL_lit[8] =
{
  B00111,
  B01001,
  B10001,
  B10001,
  B10001,
  B10001,
  B10001,
  B00000,
};
 
byte ZH_lit[8] =
{
  B10001,
  B10101,
  B10101,
  B01110,
  B10101,
  B10101,
  B10001,
  B00000,
};
 
byte MZ_lit[8] =
{
  B10000,
  B10000,
  B10000,
  B11110,
  B10001,
  B10001,
  B11110,
  B00000,
};
 
byte U_lit[8] =
{
  B10001,
  B10001,
  B10001,
  B01111,
  B00001,
  B00001,
  B11110,
  B00000,
};
 
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
 
void setup()
{
  lcd.createChar(1, PE_lit);
  lcd.createChar(2, U_lit);
  lcd.createChar(3, EL_lit);
  lcd.createChar(4, ZH_lit);
  lcd.createChar(5, MZ_lit);
 
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("TEM\1EPAT\2PA");
  lcd.setCursor(1, 1);
  lcd.print("B\3A\4HOCT\5");
}
 
void loop()
{
 
  int chk = DHT11.read(DHT11PIN);
 
  lcd.setCursor(12, 0);
  lcd.print((float)DHT11.temperature, 1);
  lcd.setCursor(12, 1);
  lcd.print((float)DHT11.humidity, 1);
 
  delay(2000);
}
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

asercat пишет:

есть такой код                  но здесь выдаёться ошибка в этой строке   int chk = DHT11.read(DHT11PIN); и пишет вот это 

request for member 'read' in '11', which is of non-class type 'int'

Я рад! Дальше что? У Вас есть какой-то вопрос? Просьба? Предложение? Озвучьте, пожалуйста.

Заодно, когда будете озвучивать, сделайте следующее

1. Выложите код как положено. В таком виде его невозможно обсуждать. Вот я хочу Вам написать про ошибку. И как? "В строке №ХЗ исправьте то-то"?

2. Укажите точно где Вы брали библиотеку stDHT.h, т.к. существует несколько различных её версий. Если не помните где брали, выложите её текст. А то мы можем разное обсуждать.

Panzerfunker
Offline
Зарегистрирован: 28.10.2016

за небольшое денежное спасибо решим вопрос пишите golinskiy.konstantin@gmail.com

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016
/* DHT_LCD1602.ino     for asercat
  //#1 датчик DHT->2 (DHT_PIN)
  //#2
*/
//#1
#include <DHT.h>
#define DHT_PIN 2     // к какой цифровой ноге подключен
// раскомментируйте нужный тип
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHT_PIN, DHTTYPE);
float h; // влажность
float t; // температура

//#2 дисплей LCD1602
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
byte PE_lit[8] = { // буква П
  B11111,
  B10001,
  B10001,
  B10001,
  B10001,
  B10001,
  B10001,
  B00000,
};
byte EL_lit[8] = {// буква Л
  B00111,
  B01001,
  B10001,
  B10001,
  B10001,
  B10001,
  B10001,
  B00000,
};
byte ZH_lit[8] = {// буква Ж
  B10001,
  B10101,
  B10101,
  B01110,
  B10101,
  B10101,
  B10001,
  B00000,
};
byte MZ_lit[8] = {// буква Ь
  B10000,
  B10000,
  B10000,
  B11110,
  B10001,
  B10001,
  B11110,
  B00000,
};
byte U_lit[8] = {// буква У
  B10001,
  B10001,
  B10001,
  B01111,
  B00001,
  B00001,
  B11110,
  B00000,
};
void setup() {
  //#1 датчик DHT
  dht.begin();
  //#2 дисплей LCD1602
  lcd.begin(16, 2);
  lcd.createChar(1, PE_lit);// буква П
  lcd.createChar(2, U_lit);// буква У
  lcd.createChar(3, EL_lit);// буква Л
  lcd.createChar(4, ZH_lit);// буква Ж
  lcd.createChar(5, MZ_lit);// буква Ь
  lcd.setCursor(0, 0);
  lcd.print("TEM\1EPAT\2PA");
  lcd.setCursor(1, 1);
  lcd.print("B\3A\4HOCT\5");
}
void loop() {
  //#1 датчик DHT
  t = dht.readTemperature();
  h = dht.readHumidity();
  //#2 дисплейLCD1602
  lcd.setCursor(12, 0);
  lcd.print(t, 1);
  lcd.setCursor(12, 1);
  lcd.print(h, 1);
  delay(2000);
}