Страница 1 из 1
LCD 2004 I2C часть экрана засветка
Добавлено: Вт фев 21, 2023 08:38:21
gps38region
Здравствуйте уважаемые Гуру !
Только начал юзать ATmega328 (Arduino NANO).
Подключал LCD 2004 напрямую, все работало ОК !!!
Решил избавиться от лишних проводов и прикупил плату I2C для дисплея.
И вот что на экране....
Выкручиваю контраст почти на максимум
Если на максимум...
идет срыв и при уменьшении контрастности экран не отображает цифры..
Подскажите где копать ???
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Вт фев 21, 2023 18:29:42
veso74
Информации мало. Дайте свой программный код (или фрагмент кода для управления дисплея).
Понятия не имеем, что там написали как прогр. кода.
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Ср фев 22, 2023 04:26:22
gps38region
[uquote="veso74",url="/forum/viewtopic.php?p=4375808#p4375808"]... Дайте свой программный код (или фрагмент кода для управления дисплея).[/uquote]
Код банальный , простейший...
Спойлер #include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
void setup(){
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("01234567890123456789");
lcd.setCursor(0, 1);
lcd.print("01234567890123456789");
lcd.setCursor(0, 2);
lcd.print("01234567890123456789");
lcd.setCursor(0, 3);
lcd.print("01234567890123456789");
}
void loop(){
}
Причем если в LOOP() выводить на экран динамическую информацию,
на экране появляются крякозяблы. Попытаюсь выложить видео....
Скетч динамического вывода...
Спойлер #include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
#include <GyverBME280.h>
GyverBME280 bme; // Создание обьекта BME280
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
// Инициализация дисплея
lcd.init();
lcd.backlight();
Serial.begin(9600);
Serial.println("Start BME280");
// запуск датчика и проверка на работоспособность
if (!bme.begin(0x76)) Serial.println("Error!");
} // SETUP END
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
uint32_t sec = millis() / 1000ul; // полное количество секунд
int timeHours = (sec / 3600ul); // часы
int timeMins = (sec % 3600ul) / 60ul; // минуты
int timeSecs = (sec % 3600ul) % 60ul; // секунды
String stH = String(timeHours);
String stM = String(timeMins);
String stS = String(timeSecs);
if (stH.length()<2)
stH = "0" + String(timeHours);
if (stM.length()<2)
stM = "0" + String(timeMins);
if (stS.length()<2)
stS = "0" + String(timeSecs);
// переводим курсор на позицию колонка 0 строка 3
lcd.setCursor(12, 0);
// печатаем секунды с начала работы скетча:
lcd.print(stH+":"+stM+":"+stS);
lcd.setCursor(0,0);
lcd.print("T="+String(bme.readTemperature())+char(223)+"C");
lcd.setCursor(0,1);
lcd.print("H="+String(bme.readHumidity())+"%");
lcd.setCursor(0,2);
lcd.print("P="+String(pressureToMmHg(bme.readPressure()))+"mm");
lcd.setCursor(11,2);
lcd.print("A="+String(pressureToAltitude(bme.readPressure()))+"m");
lcd.setCursor(0,3);
lcd.print(String(3.14159265,9));
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
VIDEO
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Ср фев 22, 2023 06:27:51
Alexey1969
Попробуйте маленькие задержки между командами > 10 мС, возможно библиотека не отслеживает освобождение шины, нужно дать задержку чтобы шина освободилась по таймауту
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Ср фев 22, 2023 07:15:14
gps38region
[uquote="Alexey1969",url="/forum/viewtopic.php?p=4376038#p4376038"]Попробуйте маленькие задержки между командами > 10 мС, возможно библиотека не отслеживает освобождение шины, нужно дать задержку чтобы шина освободилась по таймауту[/uquote]
Задержку сделал но симптомы теже...
Спойлер // переводим курсор на позицию колонка 0 строка 3
lcd.setCursor(12, 0);
// печатаем секунды с начала работы скетча:
lcd.print(stH+":"+stM+":"+stS);
delay(15);
lcd.setCursor(0,0);
lcd.print("T="+String(bme.readTemperature())+char(223)+"C");
delay(15);
lcd.setCursor(0,1);
lcd.print("H="+String(bme.readHumidity())+"%");
delay(15);
lcd.setCursor(0,2);
lcd.print("P="+String(pressureToMmHg(bme.readPressure()))+"mm");
delay(15);
lcd.setCursor(11,2);
lcd.print("A="+String(pressureToAltitude(bme.readPressure()))+"m");
delay(15);
lcd.setCursor(0,3);
lcd.print(String(3.14159265,9));
digitalWrite(LED_BUILTIN, LOW);
delay(500);
Главное почему левая верхняя часть экрана изначально слабая контрастность
и почему срывается на букаряськи после примерно 20-30 выводов на экран
Добавлено after 24 minutes 23 seconds:
Я только начинаю пользоваться, не кидайте тапки сразу.
Вот Скетч
Спойлер //#include <LiquidCrystal.h>
//LiquidCrystal lcd(6,7,2,3,4,5);
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
#include <GyverBME280.h>
GyverBME280 bme; // Создание обьекта BME280
// SETUP //////////////////////////////////////////
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
// Инициализация дисплея
//lcd.begin(20, 4); // 20-символов 4-строки
//lcd.clear(); // Очистка экрана
lcd.init();
lcd.backlight();
Serial.begin(9600);
Serial.println("Start BME280");
// запуск датчика и проверка на работоспособность
if (!bme.begin(0x76)) Serial.println("Error!");
} // SETUP END
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
uint32_t sec = millis() / 1000ul; // полное количество секунд
int timeHours = (sec / 3600ul); // часы
int timeMins = (sec % 3600ul) / 60ul; // минуты
int timeSecs = (sec % 3600ul) % 60ul; // секунды
String stH = String(timeHours);
String stM = String(timeMins);
String stS = String(timeSecs);
if (stH.length()<2)
stH = "0" + String(timeHours);
if (stM.length()<2)
stM = "0" + String(timeMins);
if (stS.length()<2)
stS = "0" + String(timeSecs);
// переводим курсор на позицию колонка 0 строка 3
lcd.setCursor(12, 0);
// печатаем секунды с начала работы скетча:
lcd.print(stH+":"+stM+":"+stS);
delay(15);
lcd.setCursor(0,0);
lcd.print("T="+String(bme.readTemperature())+char(223)+"C");
delay(15);
lcd.setCursor(0,1);
lcd.print("H="+String(bme.readHumidity())+"%");
delay(15);
lcd.setCursor(0,2);
lcd.print("P="+String(pressureToMmHg(bme.readPressure()))+"mm");
delay(15);
lcd.setCursor(11,2);
lcd.print("A="+String(pressureToAltitude(bme.readPressure()))+"m");
delay(15);
lcd.setCursor(0,3);
lcd.print(String(3.14159265,9));
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
Вот лог компиляции
Спойлер Using board 'nano' from platform in folder: C:\Users\fast3\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Using core 'arduino' from platform in folder: C:\Users\fast3\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Detecting libraries used...
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\sketch\\STANSIONbar.ino.cpp" -o nul
Alternatives for Wire.h: [Wire Wire@1.0]
ResolveLibrary(Wire.h)
-> candidates: [Wire Wire@1.0]
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\src" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\sketch\\STANSIONbar.ino.cpp" -o nul
Alternatives for LiquidCrystal_I2C.h: [LiquidCrystal I2C@1.1.2]
ResolveLibrary(LiquidCrystal_I2C.h)
-> candidates: [LiquidCrystal I2C@1.1.2]
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\src" "-Ic:\\Users\\fast3\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C-1.1.2" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\sketch\\STANSIONbar.ino.cpp" -o nul
Alternatives for GyverBME280.h: [GyverBME280@1.5]
ResolveLibrary(GyverBME280.h)
-> candidates: [GyverBME280@1.5]
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\src" "-Ic:\\Users\\fast3\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C-1.1.2" "-Ic:\\Users\\fast3\\Documents\\Arduino\\libraries\\GyverBME280\\src" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\sketch\\STANSIONbar.ino.cpp" -o nul
Using cached library dependencies for file: C:\Users\fast3\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\Wire.cpp
Using cached library dependencies for file: C:\Users\fast3\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility\twi.c
Using cached library dependencies for file: c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp
Using cached library dependencies for file: c:\Users\fast3\Documents\Arduino\libraries\GyverBME280\src\GyverBME280.cpp
Generating function prototypes...
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\src" "-Ic:\\Users\\fast3\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C-1.1.2" "-Ic:\\Users\\fast3\\Documents\\Arduino\\libraries\\GyverBME280\\src" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\sketch\\STANSIONbar.ino.cpp" -o "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Компиляция скетча...
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\src" "-Ic:\\Users\\fast3\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C-1.1.2" "-Ic:\\Users\\fast3\\Documents\\Arduino\\libraries\\GyverBME280\\src" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\sketch\\STANSIONbar.ino.cpp" -o "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\sketch\\STANSIONbar.ino.cpp.o"
Compiling libraries...
Compiling library "Wire"
Используем предварительно скомпилированный файл: C:\Users\fast3\AppData\Local\Temp\arduino-sketch-4C42037CB92C357B765ABE47B404526E\libraries\Wire\utility\twi.c.o
Используем предварительно скомпилированный файл: C:\Users\fast3\AppData\Local\Temp\arduino-sketch-4C42037CB92C357B765ABE47B404526E\libraries\Wire\Wire.cpp.o
Compiling library "LiquidCrystal I2C"
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\src" "-Ic:\\Users\\fast3\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C-1.1.2" "-Ic:\\Users\\fast3\\Documents\\Arduino\\libraries\\GyverBME280\\src" "c:\\Users\\fast3\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C-1.1.2\\LiquidCrystal_I2C.cpp" -o "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\libraries\\LiquidCrystal_I2C-1.1.2\\LiquidCrystal_I2C.cpp.o"
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp: In member function 'void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)':
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:66:39: warning: unused parameter 'cols' [-Wunused-parameter]
void LiquidCrystal_I2C::begin(uint8_t cols, uint8_t lines, uint8_t dotsize) {
^~~~
Compiling library "GyverBME280"
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp: In member function 'void LiquidCrystal_I2C::setDelay(int, int)':
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:307:39: warning: unused parameter 'cmdDelay' [-Wunused-parameter]
void LiquidCrystal_I2C::setDelay (int cmdDelay,int charDelay) {}
^~~~~~~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:307:52: warning: unused parameter 'charDelay' [-Wunused-parameter]
void LiquidCrystal_I2C::setDelay (int cmdDelay,int charDelay) {}
^~~~~~~~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp: In member function 'uint8_t LiquidCrystal_I2C::init_bargraph(uint8_t)':
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:310:50: warning: unused parameter 'graphtype' [-Wunused-parameter]
uint8_t LiquidCrystal_I2C::init_bargraph(uint8_t graphtype){return 0;}
^~~~~~~~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp: In member function 'void LiquidCrystal_I2C::draw_horizontal_graph(uint8_t, uint8_t, uint8_t, uint8_t)':
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:311:55: warning: unused parameter 'row' [-Wunused-parameter]
void LiquidCrystal_I2C::draw_horizontal_graph(uint8_t row, uint8_t column, uint8_t len, uint8_t pixel_col_end){}
^~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:311:68: warning: unused parameter 'column' [-Wunused-parameter]
void LiquidCrystal_I2C::draw_horizontal_graph(uint8_t row, uint8_t column, uint8_t len, uint8_t pixel_col_end){}
^~~~~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:311:84: warning: unused parameter 'len' [-Wunused-parameter]
void LiquidCrystal_I2C::draw_horizontal_graph(uint8_t row, uint8_t column, uint8_t len, uint8_t pixel_col_end){}
^~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:311:98: warning: unused parameter 'pixel_col_end' [-Wunused-parameter]
void LiquidCrystal_I2C::draw_horizontal_graph(uint8_t row, uint8_t column, uint8_t len, uint8_t pixel_col_end){}
^~~~~~~~~~~~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp: In member function 'void LiquidCrystal_I2C::draw_vertical_graph(uint8_t, uint8_t, uint8_t, uint8_t)':
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:312:53: warning: unused parameter 'row' [-Wunused-parameter]
void LiquidCrystal_I2C::draw_vertical_graph(uint8_t row, uint8_t column, uint8_t len, uint8_t pixel_row_end){}
^~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:312:66: warning: unused parameter 'column' [-Wunused-parameter]
void LiquidCrystal_I2C::draw_vertical_graph(uint8_t row, uint8_t column, uint8_t len, uint8_t pixel_row_end){}
^~~~~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:312:82: warning: unused parameter 'len' [-Wunused-parameter]
void LiquidCrystal_I2C::draw_vertical_graph(uint8_t row, uint8_t column, uint8_t len, uint8_t pixel_row_end){}
^~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:312:96: warning: unused parameter 'pixel_row_end' [-Wunused-parameter]
void LiquidCrystal_I2C::draw_vertical_graph(uint8_t row, uint8_t column, uint8_t len, uint8_t pixel_row_end){}
^~~~~~~~~~~~~
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp: In member function 'void LiquidCrystal_I2C::setContrast(uint8_t)':
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:313:45: warning: unused parameter 'new_val' [-Wunused-parameter]
void LiquidCrystal_I2C::setContrast(uint8_t new_val){}
^~~~~~~
Используем предварительно скомпилированный файл: C:\Users\fast3\AppData\Local\Temp\arduino-sketch-4C42037CB92C357B765ABE47B404526E\libraries\GyverBME280\GyverBME280.cpp.o
Compiling core...
Using precompiled core: C:\Users\fast3\AppData\Local\Temp\arduino-core-cache\core_arduino_avr_nano_cpu_atmega328_3298eff961b564fab0b565cfdac762dc.a
Linking everything together...
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc" -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E/STANSIONbar.ino.elf" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\sketch\\STANSIONbar.ino.cpp.o" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\libraries\\Wire\\Wire.cpp.o" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\libraries\\Wire\\utility\\twi.c.o" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\libraries\\LiquidCrystal_I2C-1.1.2\\LiquidCrystal_I2C.cpp.o" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E\\libraries\\GyverBME280\\GyverBME280.cpp.o" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E/..\\arduino-core-cache\\core_arduino_avr_nano_cpu_atmega328_3298eff961b564fab0b565cfdac762dc.a" "-LC:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E" -lm
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E/STANSIONbar.ino.elf" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E/STANSIONbar.ino.eep"
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E/STANSIONbar.ino.elf" "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E/STANSIONbar.ino.hex"
Несколько библиотек найдено для "Wire.h"
Используется: C:\Users\fast3\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire
Не используется: C:\Users\fast3\Documents\Arduino\libraries\Wire
Используем библиотеку Wire версии 1.0 из папки: C:\Users\fast3\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire
Используем библиотеку LiquidCrystal I2C версии 1.1.2 из папки: C:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2
Используем библиотеку GyverBME280 версии 1.5 из папки: C:\Users\fast3\Documents\Arduino\libraries\GyverBME280
"C:\\Users\\fast3\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "C:\\Users\\fast3\\AppData\\Local\\Temp\\arduino-sketch-4C42037CB92C357B765ABE47B404526E/STANSIONbar.ino.elf"
Скетч использует 14910 байт (48%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 527 байт (25%) динамической памяти, оставляя 1521 байт для локальных переменных. Максимум: 2048 байт.
Может LiquidCrystal_I2C кривой ???
Добавлено after 3 minutes 49 seconds:
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp: In member function 'void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)':
c:\Users\fast3\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2\LiquidCrystal_I2C.cpp:66:39: warning: unused parameter 'cols' [-Wunused-parameter]
void LiquidCrystal_I2C::begin(uint8_t cols, uint8_t lines, uint8_t dotsize) {
^~~~
ЧТО ЗА
КРАСНОТА при компиляции ???
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Ср фев 22, 2023 10:02:19
veso74
Предупреждения. Переменная объявлена, но не используется. Исправление рекомендуется, но не обязателное. Работает.
Склонен думать, что это проблема дисплея. Но как работает через 6 контактов напрямую …
Даже если бы захотел, не могу программно сделать цифры полусветлыми в одной части экрана
.
Какую версию Arduino IDE используете?
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Ср фев 22, 2023 10:22:25
gps38region
[uquote="veso74",url="/forum/viewtopic.php?p=4376095#p4376095"]Предупреждения. Переменная объявлена, но не используется.
Какую версию Arduino IDE используете?[/uquote]
Склоняюсь к тому, что экран подгорел когда на контроллере сгорел диод шотки.
Добавлено after 40 seconds:
Arduino ide крайний.
Добавлено after 5 minutes 52 seconds:
Попробую экран запаять напрямую без I2C.
Сразу будет ясно, как вы считаете ?
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Ср фев 22, 2023 10:44:03
veso74
Немного согните плату дисплея (контакты имеет внутри токопроводящую резину), не улучшается ли контрастность в пораженной области?
Да, с помощью простого "Привет, мир" с изменением цифр/букв достаточно нескольких минут.
А что случилось, что сгорел диод? Другие дефекты? Каким напряжением питались?
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Ср фев 22, 2023 10:55:14
gps38region
Контроллер в плате расширения стоял, был подключен дисплей параллельно и датчик на макетке.
Плата расширения попала на макетку и ...
Сижу i2c выпаиваю
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Ср апр 19, 2023 08:46:48
gps38region
Решил разобрать экран.
Между контактами платы экрана и контактами (резиновые проводники) затек флюс. (Еще тот рукожоп)
Промыл собрал и подключил к экрану плату I2C.
Новая проблема нарисовалась....
Подскажите чайнику в чем проблема ?
Раньше этот код работал, скрины я выше выкладывал.
Добавлено after 49 minutes 23 seconds:
LiquidCrystal_I2C бывают разные !!!
Или не ставится библиотека...
Или компилируется с ошибкой...
Или бывают правильные...
Методом перебора начал устанавливать всякие и попал что стала компилироваться.
На экране пока тишина ...... (подсветкой управляю вкл/выкл)
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Ср апр 19, 2023 17:35:59
veso74
Из существующих в интернете, используемая LiquidCrystal_I2C очень старая. Лучше бы свой код загрузили бы
Скачал с оптическим распознаванием OCR. Попробуйте.
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Чт апр 20, 2023 02:31:52
gps38region
[uquote="veso74",url="/forum/viewtopic.php?p=4403513#p4403513"]Лучше бы свой код загрузили бы
[/uquote]
Код я выложил общим скриншотом.
По работе с LCD мне фиолетово какую библиотеку использовать, адаптироваться можно легко. Но вот то что выкладывают чаще всего то все и используют.
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Чт апр 20, 2023 07:11:42
veso74
Ясно. Для того, чтобы опробовать программный код на мой комп, мне приходилось самому писать на клавиатуре (или как-то иначе (OCR)). Проще, если вы поделились текстовым файлом.
Не написали: сработал ли пример, который я вставил? Там библиотека LiquidCrystal_I2C локальная (в локальной папке проекта).
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Чт апр 20, 2023 07:19:10
electroget
gps38region ,
А к шине I2C подключен только дисплей?
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Чт апр 20, 2023 07:57:18
gps38region
[uquote="electroget",url="/forum/viewtopic.php?p=4403740#p4403740"]gps38region ,
А к шине I2C подключен только дисплей?[/uquote]
Нет, еще 3 устройства но адреса не пересекаются.
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Чт апр 20, 2023 08:01:27
electroget
Я спросил потому, что у I2C быстродействие не бесконечно. Если по шине идёт интенсивный обмен, то возможны проблемы с выводом на дисплей, я с таким когда-то давно сталкивался.
Re: LCD 2004 I2C часть экрана засветка
Добавлено: Чт апр 20, 2023 09:20:23
gps38region
[uquote="electroget",url="/forum/viewtopic.php?p=4403751#p4403751"]Если по шине идёт интенсивный обмен, то возможны проблемы с выводом на дисплей[/uquote]
Спасибо, попробую чисто экран подключить.
Стоят часы реального времени, датчик BM280, MQ135.