Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

melsem
2018-03-05 20:03:32

Проблемма в библиотеке LiquidCrystal_I2C. Тута ссылка на рабочую.

GroGaloraGran
2017-12-21 13:37:50

Ура. Вопрос решен.
9jisugaiynt8z8ros5petbq9o.jpg
Проблему решила альтернативная библиотека для i2c.
Всем спасибо.

GroGaloraGran
2017-12-21 13:08:48

А еще он текст выводит только если по 1 букве, только заметил..

GroGaloraGran
2017-12-21 12:20:41

Символ выводится а температура некорректна. Место например 22.5 показывает 2.5.

GroGaloraGran
2017-12-21 11:57:45

Меня больше беспокоит, что не выводит корректно температуру (

pslcmvnzaeo208rzohg7xhjet.jpg

void loop
2017-12-21 11:32:47

Вот эта конструкция не выведет символ градуса

lcd.print("Temp =     \1C ");   // Выводим текст, \1 - значок градуса

Должно быть

  lcd.print("Temp =        C ");   // Выводим текст
  lcd.setCursor(7, 1);            // Устанавливаем курсор на 7 символ 
  lcd.print(t,1);                 // Выводим значение температуры
  lcd.setCursor(12, 1);            // Устанавливаем курсор на 12 символ
  lcd.write(1);                 // Выводим символ градуса
GroGaloraGran
2017-12-21 00:33:01

Имеете ввиду создание своего символа? Если и так, то при удалении кода этого символа и его упоминания должно было исправить эту проблему.
Брал этот
https://arduino-ua.com/prod663-LCD_20x4_shina_I2C

GroGaloraGran
2017-12-21 00:08:12

Привет.
Столкнулся с проблемой вывода информации.
К примеру при попытке вывода информации с датчика температуры dht21 по рабочему скетчу (из сети) выводит место, например, 24.5 градуса только 2.5 на экран.
Пример кода

include <Wire.h>        // Добавляем необходимые библиотеки
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#define DHTPIN 2     // пин для сигнала поступающего с датчика

//выбор используемого датчика
//#define DHTTYPE DHT11   // DHT 11 
//#define DHTTYPE DHT22   // DHT 22  (AM2302)
#define DHTTYPE DHT21   // DHT 21 (AM2301)

//инициализация датчика
DHT dht(DHTPIN, DHTTYPE);

byte degree[8] =      // кодируем символ градуса
{
  B00111,
  B00101,
  B00111,
  B00000,
  B00000,
  B00000,
  B00000,
};    

 
LiquidCrystal_I2C lcd(0x27,20,4);   // Задаем адрес и размерность дисплея

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

void loop() {
  // Wait a few seconds between measurements.
  delay(2000);

  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  // Read temperature as Celsius
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit
  float f = dht.readTemperature(true);
  
  // Выводим показания влажности и температуры
  lcd.setCursor(0, 0);            // Устанавливаем курсор в начало 1 строки
  lcd.print("Hum  =     % ");     // Выводим текст
  lcd.setCursor(7, 0);            // Устанавливаем курсор на 7 символ
  lcd.print(h, 1);                // Выводим на экран значение влажности
  lcd.setCursor(0, 1);            // Устанавливаем курсор в начало 2 строки
  lcd.print("Temp =     \1C ");   // Выводим текст, \1 - значок градуса
  lcd.setCursor(7, 1);            // Устанавливаем курсор на 7 символ 
  lcd.print(t,1);                 // Выводим значение температуры
}

Адрес i2c правильный, датчик температуры при проверке проверочным скетчем показывает правильные данные.

Підвал форуму