Проблемы с текстом на дисплее.
- Войдите на сайт для отправки комментариев
Пт, 22/10/2021 - 10:36
Добрый день, помогите пожалуйста решить проблему. Дело в том что текст при выполнении условия "if (ST == 1)" накладывается друг на друга,
тем самым получается каша на дисплее. Используемая библиотека iarduino_oled_txt, вывод данных по I2C, дисплей OLED 128×64 / 0,96.
Пробовал использовать графическую библиотеку, с ней вообще все плохо, даже данные температуры смазываются все.
#include <GyverNTC.h>
#include <iarduino_OLED_txt.h>
GyverNTC therm(0, 10000, 3950);
iarduino_OLED_txt myOLED(0x3C);
extern uint8_t MediumFontRus[];
void setup() {
Serial.begin(9600);
myOLED.begin();
myOLED.setFont(MediumFontRus);
pinMode (4, INPUT);
}
void loop() {
int ST = digitalRead (4);
myOLED.print ("ТОЖ", OLED_C, 1);
myOLED.print((therm.getTempAverage()) , 35, 4);
if (ST == 1) {
myOLED.print ("Прогрев", OLED_C, 7);
}
else {
myOLED.print ("Запуск", OLED_C, 7);
}
Ну, накладывается, а разве Вы его не одно и то же место печатаете? А если на одно, так почему бы ему не накладываться? Стирайте старое перед новой печатью.
Или я чего-то не понял? Тогда давайте фото - что там и как накладывается.
Да оно так и должно на одном и том же месте, одно заменяется другим
Возьмите лист бумаги, напишите карандашом слово. Теперь в то же место - другое слово. Все смешалось и непонятна надпись? Почему так и что нужно сделать для исправления ситуации?
Кстати, Ваш код не компилируется. А если добавить в конец } то скомпилируется, но ... вот Вы используете библиотеки от iarduino и gyver, Вас правда не смущает, что компилятор выдаёт на них вот такую портянку предупреждений?
In file included from D:\ArdLib\Soft\Dump\TryIt\TryIt.ino:1:0: D:\ArdLib\Soft\libraries\GyverNTC\src/GyverNTC.h: In constructor 'GyverNTC::GyverNTC(byte, int, int, int, int)': D:\ArdLib\Soft\libraries\GyverNTC\src/GyverNTC.h:52:29: warning: 'GyverNTC::_resistance' will be initialized after [-Wreorder] const int _resistance = 10000; ^~~~~ D:\ArdLib\Soft\libraries\GyverNTC\src/GyverNTC.h:50:23: warning: 'const int GyverNTC::_beta' [-Wreorder] const int _beta = 0; ^ D:\ArdLib\Soft\libraries\GyverNTC\src/GyverNTC.h:26:5: warning: when initialized here [-Wreorder] GyverNTC(byte pin, int resistance, int beta, int tempBase = 25, int resistBase = 10000) : ^~~~~~~~ In file included from D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt.h:21:0, from D:\ArdLib\Soft\Dump\TryIt\TryIt.ino:2: D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h: In member function 'virtual bool iarduino_I2C::readBytes(uint8_t, uint8_t, uint8_t*, uint8_t)': D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h:145:29: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] if (sum) { if(TWSR&0xF8!=0x50) { i=0;}} // Если после чтения очередного байта пакета значение регистра состояния шины I2C Arduino TWSR с маской 0xF8 не равно 0x50 значит произошла ошибка при чтении ~~~~^~~~~~ D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h:146:26: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] else { if(TWSR&0xF8!=0x58) { i=0;}} // Если после чтения последного байта пакета значение регистра состояния шины I2C Arduino TWSR с маской 0xF8 не равно 0x58 значит произошла ошибка при чтении ~~~~^~~~~~ D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h: In member function 'virtual bool iarduino_I2C::readBytes(uint8_t, uint8_t*, uint8_t)': D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h:168:29: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] if (sum) { if(TWSR&0xF8!=0x50) { i=0;}} // Если после чтения очередного байта пакета значение регистра состояния шины I2C Arduino TWSR с маской 0xF8 не равно 0x50 значит произошла ошибка при чтении ~~~~^~~~~~ D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h:169:26: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] else { if(TWSR&0xF8!=0x58) { i=0;}} // Если после чтения последного байта пакета значение регистра состояния шины I2C Arduino TWSR с маской 0xF8 не равно 0x58 значит произошла ошибка при чтении ~~~~^~~~~~ In file included from D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src\iarduino_OLED_txt.h:21:0, from D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src\iarduino_OLED_txt.cpp:1: D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h: In member function 'virtual bool iarduino_I2C::readBytes(uint8_t, uint8_t, uint8_t*, uint8_t)': D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h:145:29: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] if (sum) { if(TWSR&0xF8!=0x50) { i=0;}} // Если после чтения очередного байта пакета значение регистра состояния шины I2C Arduino TWSR с маской 0xF8 не равно 0x50 значит произошла ошибка при чтении ~~~~^~~~~~ D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h:146:26: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] else { if(TWSR&0xF8!=0x58) { i=0;}} // Если после чтения последного байта пакета значение регистра состояния шины I2C Arduino TWSR с маской 0xF8 не равно 0x58 значит произошла ошибка при чтении ~~~~^~~~~~ D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h: In member function 'virtual bool iarduino_I2C::readBytes(uint8_t, uint8_t*, uint8_t)': D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h:168:29: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] if (sum) { if(TWSR&0xF8!=0x50) { i=0;}} // Если после чтения очередного байта пакета значение регистра состояния шины I2C Arduino TWSR с маской 0xF8 не равно 0x50 значит произошла ошибка при чтении ~~~~^~~~~~ D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src/iarduino_OLED_txt_I2C.h:169:26: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] else { if(TWSR&0xF8!=0x58) { i=0;}} // Если после чтения последного байта пакета значение регистра состояния шины I2C Arduino TWSR с маской 0xF8 не равно 0x58 значит произошла ошибка при чтении ~~~~^~~~~~ D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src\iarduino_OLED_txt.cpp: In member function 'char* iarduino_OLED_txt::_codingCP866(char*)': D:\ArdLib\Soft\libraries\iarduino_OLED_txt\src\iarduino_OLED_txt.cpp:216:34: warning: comparison is always true due to limited range of data type [-Wtype-limits] if(charThis>=0xF0&&charThis<=0xFF){StrOut[numOut]=charThis-0x10;}else // Если код текущего символа равен 240...255, значит это буква «р»...«я» требующая преобразования к коду 224...239 ~~~~~~~~^~~~~~ Скетч использует 13188 байт (42%) памяти устройства. Всего доступно 30720 байт. Глобальные переменные используют 307 байт (14%) динамической памяти, оставляя 1741 байт для локальных переменных. Максимум: 2048 байт.Вы считаете допустимым использование кода такого качества?
Хорошо, тогда скажи какую надо использовать библиотеку для работы с NTC термистором, и данным дисплеем??? что-бы не выдавала "вот такую портянку предупреждений?"??????
По этому я сюда и пишу, спросить как стереть строку, а не сидеть твои остроумные мысли тут читать
Не вижу вопроса, только требования жопу подтереть.
Ну это твои проблемы раз ты не видишь вопроса, другие увидят. Тебя ни кто не заставлял сюда чет писать, если не нравится чего то иди куда шел
Туалетную бумагу тебе еще тут не дали, и ни кто не написал про требование жопу подтереть. Вспомни себя сначала как ты начинал, как учился, и какие ошибки совершал, а потом пиши тут свои остроумные мысли
Кстати мы давно "на ты", а то что-то "не узнаю Вас в гриме"?
По этому я сюда и пишу, спросить как стереть строку
Покажите пожалуйста, в каком именно посте Вы задавали этот вопрос? Я, наверное, не заметил и пропустил.
Кстати, если бы Вас это действительно интересовало и Вы бы задали такой вопрос, я бы ответил. Но после Вашего
а не сидеть твои остроумные мысли тут читать
ответ будет один: не нравится - не читайте. Разбирайтесь сами.
Всего доброго!
Ну это твои проблемы раз ты не видишь вопроса, другие увидят.
Нет, теперь не увидят. Иди сразу на другой форум, здесь для тебя рыбы нет.
На форумах наверное помогают людям с решением проблемы, а не гасят его
Ты правильно сказал:
... помогают людям
тебе теперь - нет.
Понятно все, удачи
ну и дебил... вместо того чтоб нормально вопрос задать - начал права качать.
ну и дебил... вместо того чтоб нормально вопрос задать - начал права качать.
"Стаж!"