Помогите поправить код
- Войдите на сайт для отправки комментариев
Чт, 21/04/2016 - 22:58
Исходный код:
//Тестировалось на 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
Не найден правильный файл dht11.h
Уахаха, автор, ты чтоль минус поставил или кто там такой умный... Ясен пень, файл есть, но фукнций/переменных в нем нужных нет, то есть импортируемый файл не подходит к используемому коду. То есть, или файл нужен правильный, как я и написал, или к этому файлу другой код.
Да и LiquidCrystal не все гладко, в общем похоже библиотеки из одного места, код из другого, вот и не стыковочка...
Ноу
Уахаха, автор, ты чтоль минус поставил
Я посмотрел, подумал и забил. Спасибо за ответ. Я то откатил Arduino IDE и он не захотел использовать библиотеки с неправильными названиями (в названии не должно было быть пробелов), я запустил, вроде нормально, но видать библиотека подключилась не от кода, а другая.