Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Вт фев 21, 2023 08:38:21
Здравствуйте уважаемые Гуру !
Только начал юзать ATmega328 (Arduino NANO).
Подключал LCD 2004 напрямую, все работало ОК !!!
Решил избавиться от лишних проводов и прикупил плату I2C для дисплея.
И вот что на экране....
Выкручиваю контраст почти на максимум
Если на максимум...
идет срыв и при уменьшении контрастности экран не отображает цифры..
Подскажите где копать ???
Вт фев 21, 2023 18:29:42
Информации мало. Дайте свой программный код (или фрагмент кода для управления дисплея). Понятия не имеем, что там написали как прогр. кода.
Ср фев 22, 2023 04:26:22
... Дайте свой программный код (или фрагмент кода для управления дисплея).
Код банальный , простейший...
Спойлер #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
Ср фев 22, 2023 06:27:51
Попробуйте маленькие задержки между командами > 10 мС, возможно библиотека не отслеживает освобождение шины, нужно дать задержку чтобы шина освободилась по таймауту
Ср фев 22, 2023 07:15:14
Попробуйте маленькие задержки между командами > 10 мС, возможно библиотека не отслеживает освобождение шины, нужно дать задержку чтобы шина освободилась по таймауту
Задержку сделал но симптомы теже...
Спойлер // переводим курсор на позицию колонка 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) { ^~~~ ЧТО ЗА
КРАСНОТА при компиляции ???
Ср фев 22, 2023 10:02:19
Предупреждения. Переменная объявлена, но не используется. Исправление рекомендуется, но не обязателное. Работает.
Склонен думать, что это проблема дисплея. Но как работает через 6 контактов напрямую …
Даже если бы захотел, не могу программно сделать цифры полусветлыми в одной части экрана
.
Какую версию Arduino IDE используете?
Ср фев 22, 2023 10:22:25
Предупреждения. Переменная объявлена, но не используется. Какую версию Arduino IDE используете?
Склоняюсь к тому, что экран подгорел когда на контроллере сгорел диод шотки.
Добавлено after 40 seconds: Arduino ide крайний.
Добавлено after 5 minutes 52 seconds: Попробую экран запаять напрямую без I2C.
Сразу будет ясно, как вы считаете ?
Последний раз редактировалось
gps38region Ср фев 22, 2023 13:39:19, всего редактировалось 1 раз.
Ср фев 22, 2023 10:44:03
Немного согните плату дисплея (контакты имеет внутри токопроводящую резину), не улучшается ли контрастность в пораженной области? Да, с помощью простого "Привет, мир" с изменением цифр/букв достаточно нескольких минут. А что случилось, что сгорел диод? Другие дефекты? Каким напряжением питались?
Ср фев 22, 2023 10:55:14
Контроллер в плате расширения стоял, был подключен дисплей параллельно и датчик на макетке. Плата расширения попала на макетку и ... Сижу i2c выпаиваю
Ср апр 19, 2023 08:46:48
Решил разобрать экран.
Между контактами платы экрана и контактами (резиновые проводники) затек флюс. (Еще тот рукожоп)
Промыл собрал и подключил к экрану плату I2C.
Новая проблема нарисовалась....
Подскажите чайнику в чем проблема ?
Раньше этот код работал, скрины я выше выкладывал.
Добавлено after 49 minutes 23 seconds: LiquidCrystal_I2C бывают разные !!!
Или не ставится библиотека...
Или компилируется с ошибкой...
Или бывают правильные...
Методом перебора начал устанавливать всякие и попал что стала компилироваться.
На экране пока тишина ...... (подсветкой управляю вкл/выкл)
Ср апр 19, 2023 17:35:59
Из существующих в интернете, используемая LiquidCrystal_I2C очень старая. Лучше бы свой код загрузили бы
Скачал с оптическим распознаванием OCR. Попробуйте.
Вложения
test.zip
(4.57 KiB) Скачиваний: 35
Чт апр 20, 2023 02:31:52
Лучше бы свой код загрузили бы
Код я выложил общим скриншотом.
По работе с LCD мне фиолетово какую библиотеку использовать, адаптироваться можно легко. Но вот то что выкладывают чаще всего то все и используют.
Чт апр 20, 2023 07:11:42
Ясно. Для того, чтобы опробовать программный код на мой комп, мне приходилось самому писать на клавиатуре (или как-то иначе (OCR)). Проще, если вы поделились текстовым файлом. Не написали: сработал ли пример, который я вставил? Там библиотека LiquidCrystal_I2C локальная (в локальной папке проекта).
Чт апр 20, 2023 07:19:10
gps38region , А к шине I2C подключен только дисплей?
Чт апр 20, 2023 07:57:18
gps38region , А к шине I2C подключен только дисплей?
Нет, еще 3 устройства но адреса не пересекаются.
Чт апр 20, 2023 08:01:27
Я спросил потому, что у I2C быстродействие не бесконечно. Если по шине идёт интенсивный обмен, то возможны проблемы с выводом на дисплей, я с таким когда-то давно сталкивался.
Чт апр 20, 2023 09:20:23
Если по шине идёт интенсивный обмен, то возможны проблемы с выводом на дисплей
Спасибо, попробую чисто экран подключить.
Стоят часы реального времени, датчик BM280, MQ135.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia .