Помогите поправить код
- Войдите на сайт для отправки комментариев
Чт, 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 и он не захотел использовать библиотеки с неправильными названиями (в названии не должно было быть пробелов), я запустил, вроде нормально, но видать библиотека подключилась не от кода, а другая.