Помогите поправить код

DiMan
Offline
Зарегистрирован: 20.04.2016

Исходный код:

//Тестировалось на Arduino IDE 1.0.5
#include <Wire.h>        // Добавляем необходимые библиотеки
#include <LiquidCrystal_I2C.h>
#include <dht11.h>
dht11 DHT;               // Объявление переменной класса dht11
#define DHT11_PIN 4      // Датчик DHT11 подключен к цифровому пину номер 4

byte degree[8] =         // Битовая маска символа градуса
{
  B00111,
  B00101,
  B00111,
  B00000,
  B00000,
  B00000,
  B00000,
};    
 
LiquidCrystal_I2C lcd(0x27,16,2);   // Задаем адрес и размерность дисплея

void setup()
{
  lcd.init();                       // Инициализация lcd             
  lcd.backlight();                  // Включаем подсветку
  lcd.createChar(1, degree);        // Создаем символ под номером 1
}

void loop()
{
  // Выводим показания влажности и температуры
  lcd.setCursor(0, 0);              // Устанавливаем курсор в начало 1 строки
  lcd.print("Humidity =    % ");     // Выводим текст
  lcd.setCursor(11, 0); 
  lcd.print(DHT.humidity, 1);
  lcd.setCursor(0, 1);              // Устанавливаем курсор в начало 2 строки
  lcd.print("Temp     =   \1C ");    // Выводим текст, \1 - значок градуса
  lcd.setCursor(11, 1);             
  lcd.print(DHT.temperature,1);  

  int chk;    
  ; // Мониторинг ошибок
  chk = DHT.read(DHT11_PIN);    // Чтение данных
  switch (chk){
  case DHTLIB_OK:  
    break;
  case DHTLIB_ERROR_CHECKSUM:  
    lcd.clear(); 
    lcd.print("Checksum error");  
    break;
  case DHTLIB_ERROR_TIMEOUT:
    lcd.clear(); 
    lcd.print("Time out error");
    break;
  default:
    lcd.clear(); 
    lcd.print("Unknown error");
    break;
  }
  delay(1000);                     
}

Выдаёт ошибки:

sketch_9:5: error: 'dht11' does not name a type
sketch_9:19: error: invalid conversion from 'int' to 't_backlighPol'
sketch_9:19: error: initializing argument 3 of 'LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, t_backlighPol)'
C:\Users\root\Documents\Arduino\libraries\NewliquidCrystal/LiquidCrystal_I2C.h: In function 'void setup()':
C:\Users\root\Documents\Arduino\libraries\NewliquidCrystal/LiquidCrystal_I2C.h:154: error: 'int LiquidCrystal_I2C::init()' is private
sketch_9:23: error: within this context
sketch_9.ino: In function 'void loop()':
sketch_9:34: error: 'DHT' was not declared in this scope
sketch_9:44: error: 'DHTLIB_OK' was not declared in this scope
sketch_9:46: error: 'DHTLIB_ERROR_CHECKSUM' was not declared in this scope
sketch_9:50: error: 'DHTLIB_ERROR_TIMEOUT' was not declared in this scope
 
Jatixo
Offline
Зарегистрирован: 13.01.2016

Не найден правильный файл dht11.h

Jatixo
Offline
Зарегистрирован: 13.01.2016

Уахаха, автор, ты чтоль минус поставил или кто там такой умный... Ясен пень, файл есть, но фукнций/переменных в нем нужных нет, то есть импортируемый файл не подходит к используемому коду. То есть, или файл нужен правильный, как я и написал, или к этому файлу другой код.

Да и LiquidCrystal не все гладко, в общем похоже библиотеки из одного места, код из другого, вот и не стыковочка...

DiMan
Offline
Зарегистрирован: 20.04.2016

Ноу

Jatixo пишет:

Уахаха, автор, ты чтоль минус поставил

Я посмотрел, подумал и забил. Спасибо за ответ. Я то откатил Arduino IDE и он не захотел использовать библиотеки с неправильными названиями (в названии не должно было быть пробелов), я запустил, вроде нормально, но видать библиотека подключилась не от кода, а другая.