Отображение температуры и построение графика на LCD 1602

inhelp
inhelp аватар
Offline
Зарегистрирован: 23.09.2012

Построение простого графика на LCD 1602 и с отображением температуры...

График LCD

   Видео работы на youtube.com

Для начала создайте символы для отбражения графика 



#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

byte char1[8] = {
  B00000,
  B00000,
  B00000,
  B00000,
  B00000,
  B00000,
  B00000,
  B11111,
};

byte char2[8] = {
  B00000,
  B00000,
  B00000,
  B00000,
  B00000,
  B00000,
  B11111,
  B11111,
};

byte char3[8] = {
  B00000,
  B00000,
  B00000,
  B00000,
  B00000,
  B11111,
  B11111,
  B11111,
};

byte char4[8] = {
  B00000,
  B00000,
  B00000,
  B00000,
  B11111,
  B11111,
  B11111,
  B11111,
};

byte char5[8] = {
  B00000,
  B00000,
  B00000,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
};

byte char6[8] = {
  B00000,
  B00000,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
};

byte char7[8] = {
  B00000,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
};

byte char8[8] = {
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
};

int x=0;

void setup() {
  lcd.createChar(1, char1);
  lcd.createChar(2, char2);
  lcd.createChar(3, char3);
  lcd.createChar(4, char4);
  lcd.createChar(5, char5);
  lcd.createChar(6, char6);
  lcd.createChar(7, char7);
  lcd.createChar(8, char8);
  
  lcd.begin(16, 2);  
}

void loop() {
}

потом можно заливать скетч для отображения графика 



#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

float tempC;
int tempPin = 0;
int x=0;

void setup() 
{ 
lcd.begin(16, 2);
} 

void loop() 
{  
lcd.setCursor(0, 1);
   
    tempC = analogRead(tempPin);          
    tempC = (5.0 * tempC * 10.0)/1024.0;  
    lcd.setCursor(0, 0);
    lcd.print("   \277e\274\276. "); 
    lcd.print((int)tempC,DEC);    
    lcd.print(" C   "); 
    lcd.setCursor(x++, 1);
    lcd.write(tempC-13);
    if (x > 15) x=0; 
    delay(1000);
                    
}

Всем спасибо за внимание )))

P.S. Не судите строго, это мой первый пост...

maksim
Offline
Зарегистрирован: 12.02.2012

Так надо было тему в проектах создавать...

inhelp
inhelp аватар
Offline
Зарегистрирован: 23.09.2012

Извините, не знал .... На форуме впервые...

maksim
Offline
Зарегистрирован: 12.02.2012

Да незачем извиняться, просто подметил, может администрация перенесет в "Проекты".

Beijo2908
Beijo2908 аватар
Offline
Зарегистрирован: 07.02.2019

Шоб не плодить темы... Доброго времени суток. Согласно даташиту рабочая температура от -20*С... А кто-нибудь пользовал этот 1602 в -30*С например? Как себя ведёт?

sadman41
Offline
Зарегистрирован: 19.10.2016

Который 1602?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Beijo2908 пишет:

Шоб не плодить темы... Доброго времени суток. Согласно даташиту рабочая температура от -20*С... А кто-нибудь пользовал этот 1602 в -30*С например? Как себя ведёт?

у нас таких температур нету )))

Beijo2908
Beijo2908 аватар
Offline
Зарегистрирован: 07.02.2019

sadman41 пишет:

Который 1602?


Да, да.
ua6em пишет:

Beijo2908 пишет:

Шоб не плодить темы... Доброго времени суток. Согласно даташиту рабочая температура от -20*С... А кто-нибудь пользовал этот 1602 в -30*С например? Как себя ведёт?

у нас таких температур нету )))


У нас на Урале такое бывает недельки 2 -)

sadman41
Offline
Зарегистрирован: 19.10.2016

Beijo2908 пишет:
sadman41 пишет:

Который 1602?

Да, да. 

??? Вы считаете, что все LCD выпускаются на полный спектр температур, поэтому можно написать просто 1602 или 2004 и получить вразумительный ответ? Какой 1602 вы собрались выносить на мороз?

Beijo2908
Beijo2908 аватар
Offline
Зарегистрирован: 07.02.2019

sadman41 пишет:
Вы считаете, что все LCD выпускаются на полный спектр температур, поэтому можно написать просто 1602 или 2004 и получить вразумительный ответ? Какой 1602 вы собрались выносить на мороз?


Извиняюсь. Вот такой вот, по шине I2C https://imgur.com/gallery/hUBDwvm
На самом дисплее просто 1602 написано.

asam
Offline
Зарегистрирован: 12.12.2018

Beijo2908 пишет:
Извиняюсь. Вот такой вот, по шине I2C https://imgur.com/gallery/hUBDwvm На самом дисплее просто 1602 написано.

C вероятностью 99.99% при -30 рабоать не будет совсем. Для эксперимента можно в морозилиьник засунуть. Но если что - я за последствия не ручаюсь...

sadman41
Offline
Зарегистрирован: 19.10.2016

С asam согласен. По виду он алиэкспрессный - на зимнюю Сибирь продавцы не рассчитывают. Низкотемпературные выпускает (заявляет диапазон) МЭЛТ. Но, скорее всего, и в них кристаллы заторможенно будут переключаться ))

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Для работы при низких температурах
нужен источник отрицательного напряжения.
Если присмотреться то на многих индикаторах
есть разводка под операционник и терморезистор
для автоматического изменения этого напряжения от температуры.
https://electronix.ru/forum/index.php?app=forums&module=forums&controlle...

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Чтобы в щитке куржака не было, я ставил внизу щита 2 лампочки на 220 и подключал их на 36 Вольт. Если щит в помещении и ветры в щели не задувают, то обычно хватает такой конструкции.  Мошт и "LSD" так греть можно.