прочесть что-то из дисплея не реально т.к. не выведена нога SDO. Обычное общение происходит через 4 ноги, для приема нужна 5я, которая SDataOut. Возможно в версиях дисплея с незадействованной ногой это она и есть. У меня она отсутствует. Режим I2C включить не возможно т.к. он включается физически комбинациями подключений ног SD0 и SD1 контроллера, доступа к которым увы нет.
Вывод: Прочесть инфу со встроенного датчика температуры дисплея Nokia1100 простыми способами невозможно.
Ребят выложите кто нибудь вольтметр для 1202 замучился искать.Что не найду не пашет или ошибки лезут.Програмировать не умею так что помогите.Пробники типа v1.5 стают на ура.
Ты сначала просто вольтметр сделай, примеров море, в терминал например будет отправлять напряжение. А вот когда у тебя будет что выводить и прицепишь дисплей
#include <lcd1202.h>
LCD1202 lcd(8, 7, 6, 5); // RST, CS, MOSI, SCK
int voltage= 1;
void setup() {
lcd.Inicialize(); //Инициализация дисплея
lcd.Clear_LCD(); //Очистка дисплея
Serial.begin(9600);
}
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0);
// print out the value you read:
Serial.println(voltage);
int t= voltage*100;
Serial.println(t);
float n = t;
String s = String(n, 2);
int i = s.indexOf('.');
if (i >= 0) s.remove(i, 1);
bool b = n < 0;
if (b) s.remove(0, 1);
int n1 = s.substring(0, 1).toInt();
if (b) n1 *= -1;
int n2 = s.substring(1, 2).toInt();
int n3 = s.substring(2, 3).toInt();
int n4 = s.substring(3).toInt();
lcd.print(1, 1, 1, "arduino.ru рулит");
lcd.simb16x32(27, 19, 1, n1); //Выводим в координаты x, y, цветом 1, цифру 8, размером 16х32 пикселя
lcd.fillRect(48, 49, 3, 3, 1); //Рисуем закрашенный прямоугольник по координатам x, y, высота, ширина, цвет
lcd.simb16x32(53, 19, 1, n2); //Выводим в координаты x, y, цветом 1, цифру 8, размером 16х32 пикселя
lcd.simb16x32(79, 19, 1, n3); //Выводим в координаты x, y, цветом 1, цифру 8, размером 16х32 пикселя
lcd.Update();
delay(1000);
lcd.Clear_LCD();
}
Ошибка Call of overloaded String(float&,int)is ambiguous. Я канешно не очень в этом но если простой вольтметр то на мониторе пишет.Не знаю как у кого с 8 станицы он работает у меня нет.Помогите раздуплится.
Может, просто сначала залей библиотечку рабочую эту, и посмотри, как она работает (если дисплэй заработает)? Попробуй поизменять в ней что-нибудь, попробуй разобраться. А уже потом начнешь вольтметр.
Начелось просто попросил дайте пожалуйста вольтметр.Занимаюсь квадриками там и шью контроллеры полетов регуляторы скорости и осд.но никогда не програмировал вот сейчас сижу рзбираюсь.Просто помогите за спасибо!
Да все верно делитель сразу был ато там дури.Сейчас пытался второе число добавить но только ероглифы.Есть заводской 7мисигм но он летает постоянно и там показывает напряжение поочередно.А хотелось отдельно 16в общ и 3.78в 3.9в 3.22в 3.7в отдельно каждая банка причем сразу на одном экране.Кстати если сделать потонше можно в повербанк всунуть причем вроди и без подсветки видно акумов хватает.
Не хочу показаться пессимистом, но как урезали потребление оперативной памяти? Почти все занимает буфер.
Кажется B707 делал менее прожорливую по оперативной памяти в 3 раза, но и процессорное время увеличилось в 3 раза (все что выводится на дисплей 3 раза просчитывалось). Тут похоже иной подход. И на первый взгляд просто текст меню хранить во флеше.
Просто внесу ясность: прожорливость библиотеки не снизилась.
Накладные расходы увеличивались по причине ее неумения читать строки напрямую из Progmem Space. Что приводило к ситуации, в которой неизменные, по своей сути, названия пунктов меню перегружались в RAM и постоянно там болтались. Я просто добавил функцию, которая "понимает", что на вход ей передаётся ссылка на расположенную в Progmem строку и корректно работает с этим типом памяти. За счёт чего и снижается расход RAM скетчем, использующим данную библиотеку.
Делал один проект на OLED SSD1306, и на этапе окончательной сборки треснул дисплей. Нежный. Через пиксель строки не выводятся
Второго не было, поэтому снова использовал 1202. Но показалось как то неудобно каждый раз писать "цвет" выводимого чего-то, поэтому решил убрать, а "цвет" задавать отдельной функцией. Добавил вывод чисел с плавающей запятой (писал выше как то) и использовал хранение текста во флеше о чем писал mobistrike. И убрал из инициализации вывод ресет дисплея (я его цепляю к 3.3В). Кому надо вернут быстро, просто скопировать из предыдущих либ.
Кстати у кого будет выводится только текст на английском, например при компиляции в версии 1.8.5, это нормально. Все дело в кодировках, нет нет да и выведется русский (при очередной компиляции). Кодировка по умолчанию UTF, но иногда почему то 1251. Тут насколько знаю ничего не поделать, просто использовать другую версию IDE.
С 1202 тоже неплохо смотрится, но вот наспех сделанная панель на замену
Обычно я вешаю Rst на RC-цепочку и управляю этим экранчиком 2-мя ногами, на мелких батарейных устройствах - достаточно. Но случилось управлять шлифовальным станком и из-помех пришлось-таки подключить Rst к контроллеру.
Удалось кому подружить библиотеку с esp32? Ругается на lcd1202.cpp:48:7
Не может конвертировать типы данных.
out = portOutputRegister(digitalPinToPort(pin));
Рад представить функцию отображения графика в реальном времени. Скорее всего велосипед но работает.
Писалось под цветной дисплей, но очень легко портировалась под монохромный.
Каждый раз вызывая функцию передаем ей новое значение. Весь график сдвигается на один пиксель влево и прорисовывает новый пиксель справа с новым значением.
График автоматически масштабируется, запоминает все предыдущие полученные значения, выбирает из них максимальное и минимальное и строится в соответствующем масштабе.
При вызове функции указываются координаты вывода а также высота и длинна графика в пикселях.
Дисплей подключен и инициализирован, библиотека установлена.
в основном цикле вызываю функцию графика:
void loop() {
for (float i = 0; i<=100; i+=0.2){
Graph(3,5, 90,45, sin(i)*100);//x,y,длинна, высота, переменная целая в диапазоне int
}
}
В отдельной вкладке всавляю саму функцию
void Graph(byte x,byte y, byte h,byte w, int val){//позиция x,y, высота h, длинна w в пикселях, принимаемое значение init i
static int Y_position [96];//тут максимальное количество точек по горизонтали. Условие 96>=w
static int minVAL;
static int maxVAL;
static int lastP;
if (lastP!=val){ //Если значение изменилось то выполняем код до конца страницы lastP!=val заменить единицей 1 если нужно фиксировать одинаковые значения подряд
lastP=val;
//Очистка прежней линии
for (byte i = 1; i < w; i++){
int Ydata = Y_position [i] - minVAL;
int Ydata_next = Y_position [i+1] - minVAL;
lcd.drawLine(x+i,y+map(Ydata, 0, maxVAL-minVAL,h, 0),x+i+1,y+map(Ydata_next, 0, maxVAL-minVAL,h, 0),0);
}
//Сдвигаем масив влево
for (byte i = 1; i < w; i++){
Y_position [i]= Y_position [i+1];
}
Y_position [w]= val; //Записываем новый элемент массива в последнюю ячейку
//вычисляем масштаб граффика
minVAL=32767; maxVAL=-32768;
for (byte i = 1; i < w+1; i++){
minVAL=min(minVAL , Y_position [i]);
maxVAL=max(maxVAL , Y_position [i]);
}
if (maxVAL-minVAL<15)maxVAL=minVAL+15;
if (minVAL>15) minVAL-=15;
//масштабируем и рисуем граффик
for (byte i = 1; i < w; i++){
int Ydata = Y_position [i] - minVAL;
int Ydata_next = Y_position [i+1] - minVAL;
lcd.drawLine(x+i,y+map(Ydata, 0, maxVAL-minVAL,h, 0),x+i+1,y+map(Ydata_next, 0, maxVAL-minVAL,h, 0),1);
}
}
lcd.Update();
}
#include "font5x3.h"
void LCD1202::print5x3(byte x, byte y, boolean color, char *str){
unsigned char type = *str;
if(type>=128) x=x-3;// ЧТО ОЗНАЧАЕТ 3
while(*str){
drawChar(x, y, color, *str++);
unsigned char type = *str;
(type>=128)? x=x+3 : x=x+6;// ЧТО ТАКОЕ 3 и 6?
}
}
void LCD1202::drawChar5x3(byte x, byte y, boolean color, unsigned char c) {
if((x >= LCD_X) ||(y >= LCD_Y) || ((x + 3) < 0) || ((y + 5) < 0))// Это если символ слишком большой или вылазит за пределы дисплея?
return;
if(c<128) c = c-32;// НЕПОНЯТНЫ ЭТИ ИФЫ
if(c>=144 && c<=175) c = c-48;
if(c>=128 && c<=143) c = c+16;
if(c>=176 && c<=191) c = c-48;
if(c>191) return;
for (byte i=0; i<4; i++ ) { // 4 это число байт в массиве на символ?
byte line;
(i == 3)? line = 0x0 : line = pgm(font5x3+(c*5)+i);
for (byte j = 0; j<6; j++) {
(line & 0x1)? drawPixel(x+i, y+j, color) : drawPixel(x+i, y+j, !color);
line >>= 1;
}
}
}
Не пойму что тут менять.
В итоге в IDE просто будет вызов функции
lcd.print5x3("String");
Нарыл из другой библиотеки возможность увеличивать стандартный шрифт в целое число раз. Не уверен что полезная функция но прикрутить можно.
// ответы пишу по памяти
#include "font5x3.h"
void LCD1202::print5x3(byte x, byte y, boolean color, char *str){
unsigned char type = *str;
if(type>=128) x=x-3;// ЧТО ОЗНАЧАЕТ 3 // это сдвиг нужен для русских шрифтов, связано с ASCII кодов русских символов
while(*str){
drawChar(x, y, color, *str++);
unsigned char type = *str;
(type>=128)? x=x+3 : x=x+6;// ЧТО ТАКОЕ 3 и 6? // тоже связано с русскими символами. шрифт 5х8, поэтому сдвиг на 6, чтобы сделать пробел между буквами.
}
}
void LCD1202::drawChar5x3(byte x, byte y, boolean color, unsigned char c) {
if((x >= LCD_X) ||(y >= LCD_Y) || ((x + 3) < 0) || ((y + 5) < 0))// Это если символ слишком большой или вылазит за пределы дисплея? // да
return;
if(c<128) c = c-32;// НЕПОНЯТНЫ ЭТИ ИФЫ // эти цифры нужны для подгонки, таблица ascii содержит больше символов, чем в библиотеке. фактически проспуски, а в библиотеке они идут по порядку
if(c>=144 && c<=175) c = c-48;
if(c>=128 && c<=143) c = c+16;
if(c>=176 && c<=191) c = c-48;
if(c>191) return;
for (byte i=0; i<4; i++ ) { // 4 это число байт в массиве на символ? // да
byte line;
(i == 3)? line = 0x0 : line = pgm(font5x3+(c*5)+i);
for (byte j = 0; j<6; j++) {
(line & 0x1)? drawPixel(x+i, y+j, color) : drawPixel(x+i, y+j, !color);
line >>= 1;
}
}
}
Не пойму что тут менять.
В итоге в IDE просто будет вызов функции
lcd.print5x3("String"); // так в явном виде не может быть. или нужно сначала координаты задать где выводить отдельной функцией, или в функцию вывода добавить указание координат
lcd.print3x5(0,0,"1.0123456789:;<=>?@!#$%&");
lcd.print3x5(0,6,"2.'()*+,-./_[^]`ABCDEFGH");//указаны ВСЕ возможные символы, которые есть в шрифте
lcd.print3x5(0,12,"3.IJKLMNOPQRSTUVWXYZ");//
lcd.print3x5(0,48,-9);//Печатаем отрицательное число
lcd.print3x5(0,54,10);// печатаем положительное число
lcd.print3x5(0,60,11.516,2);// Печатаем float с округлением до 2го знака
Заменен вывод simb10x16 добавлены символы :.- Теперь выводятся так:
lcd.print10x16(1, 25, -12.56,1); //Выводим в координаты x, y цифру -12.6, размером 10х16 пикселей
lcd.print10x16(1, 45, "-0.5:"); //Выводим строку. Указаны ВСЕ возможные символы кроме цифр
Отредактирован пример
В скетче добавлена возможность отдельно задействовать ногу RST не ломая библиотеку
# define RSTpin A3// RST
Глюк мелкий обнаружил в 162 строке библиотеки нужно исправить "(for (byte j = 0; j<8; j++) " 8 на 5 это количество пикселей по вертикали иначе шрифт подтирает под собой три пикселя. Перезаливать лень.
Что вы мучаетесь, заливайте на гитхаб одной командой : git push origin master
Там и изменения комментировать удобнее и не надо голову ломать что означает словосочетание "отдельно задействовать ногу RST" - сразу в коде видно.
Я хотел бы перенести свой проект из Arduino Nano в ESP8266.
такая я же проблема
К сожалению, библиотека LCD1202 не работает под платой этого типа.
C:\Users\test\OneDrive\Documents\Arduino\libraries\LCD1202\lcd1202.cpp:62:7: error: invalid conversion from 'volatile uint32_t* {aka volatile unsigned int*}' to 'int*' [-fpermissive]
out = portOutputRegister(digitalPinToPort(pin));
но
"Замени в библиотеке используемую функцию dwrite на стандартную digitalWtite" пробовал не зараболо - неразобрался как сделать замену. Можете сделать библиотеку для работы 8826?
в общем не знаток я, но почитав мануал по дисплею 1100http://mylcd.sourceforge.net/files/pcf8814.pdf стр 16 вот к чему пришел:
прочесть что-то из дисплея не реально т.к. не выведена нога SDO. Обычное общение происходит через 4 ноги, для приема нужна 5я, которая SDataOut. Возможно в версиях дисплея с незадействованной ногой это она и есть. У меня она отсутствует. Режим I2C включить не возможно т.к. он включается физически комбинациями подключений ног SD0 и SD1 контроллера, доступа к которым увы нет.
Вывод: Прочесть инфу со встроенного датчика температуры дисплея Nokia1100 простыми способами невозможно.
Ребят выложите кто нибудь вольтметр для 1202 замучился искать.Что не найду не пашет или ошибки лезут.Програмировать не умею так что помогите.Пробники типа v1.5 стают на ура.
Ты сначала просто вольтметр сделай, примеров море, в терминал например будет отправлять напряжение. А вот когда у тебя будет что выводить и прицепишь дисплей
Ошибка Call of overloaded String(float&,int)is ambiguous. Я канешно не очень в этом но если простой вольтметр то на мониторе пишет.Не знаю как у кого с 8 станицы он работает у меня нет.Помогите раздуплится.
Это кто вас так научил делать? от 23 до 33 строки что за черная магия "огненный шторм" для того чтобы спичку зажечь
тебе нужно деление на 10 "/10" и остаток от деления на 10 "%10"
так например http://arduino.ru/forum/programmirovanie/razdelenie-chisla-na-otdelnye-tsifry#comment-164280
Я только начинаю в этом разбиратся я сам это с этого форума скопировал просто чуть убрал.Почему и просил вольтметр божеский.
ты надеюсь ссылку что я дал увидел?
Может, просто сначала залей библиотечку рабочую эту, и посмотри, как она работает (если дисплэй заработает)? Попробуй поизменять в ней что-нибудь, попробуй разобраться. А уже потом начнешь вольтметр.
Начелось просто попросил дайте пожалуйста вольтметр.Занимаюсь квадриками там и шью контроллеры полетов регуляторы скорости и осд.но никогда не програмировал вот сейчас сижу рзбираюсь.Просто помогите за спасибо!
что то вроде должно получится
Огромное спасибо работает.Хоть ктото носом ткнул.Щас буду разбиратся.
да не за что. помог только потому что ты попытался сделать
я может не очень понятно написал, так как можно было сначала разбить число t на цифры, а потом их выводить, я сократил запись
Повтыкал и теперь понял не так все сложно уже все работает теперь все на 5 вольтметров сделаю мерять 4х баночный акум.Спасибо.
Там не совсем так будет. Уже поздно, завтра если что пиши подскажу
Повтыкал и теперь понял не так все сложно уже все работает теперь все на 5 вольтметров сделаю мерять 4х баночный акум.Спасибо.
Если правильно понял 4S батарея, но там немного сложнее будет, делители нужны, просто подключить без делителей не получится, сожгешь аналоговые входы
Да все верно делитель сразу был ато там дури.Сейчас пытался второе число добавить но только ероглифы.Есть заводской 7мисигм но он летает постоянно и там показывает напряжение поочередно.А хотелось отдельно 16в общ и 3.78в 3.9в 3.22в 3.7в отдельно каждая банка причем сразу на одном экране.Кстати если сделать потонше можно в повербанк всунуть причем вроди и без подсветки видно акумов хватает.
Предыдущее мое сообщение для кого?
Видел спасибо.Еслиб с точкой вообще былобы круто.Дописал по банкам и все уже пашет.
очень нужно знать, что это за команду можно подать на поворот вывода информации на дисплей?
поделитесь плиз
Понравилась библиотека,часто ей пользуюсь но недавно столкнулся с тем что уж очень она прожорливая в плане RAM.
Но выход был найден и пользователь нашего форума sadman41 любезно согласился подправить билиотеку .
Пример использования RAM оригинальной библиотекой
Тут правленые .cpp и .h .
Не хочу показаться пессимистом, но как урезали потребление оперативной памяти? Почти все занимает буфер.
Кажется B707 делал менее прожорливую по оперативной памяти в 3 раза, но и процессорное время увеличилось в 3 раза (все что выводится на дисплей 3 раза просчитывалось). Тут похоже иной подход. И на первый взгляд просто текст меню хранить во флеше.
Так и сделано . Просто оригинальная либа не могла это сделать правильно используя функцию F(). Подробнее может рассказать автор изменений.
Хорошо. Спасибо. Сохранил себе.
Просто внесу ясность: прожорливость библиотеки не снизилась.
Накладные расходы увеличивались по причине ее неумения читать строки напрямую из Progmem Space. Что приводило к ситуации, в которой неизменные, по своей сути, названия пунктов меню перегружались в RAM и постоянно там болтались. Я просто добавил функцию, которая "понимает", что на вход ей передаётся ссылка на расположенную в Progmem строку и корректно работает с этим типом памяти. За счёт чего и снижается расход RAM скетчем, использующим данную библиотеку.
Делал один проект на OLED SSD1306, и на этапе окончательной сборки треснул дисплей. Нежный. Через пиксель строки не выводятся
Второго не было, поэтому снова использовал 1202. Но показалось как то неудобно каждый раз писать "цвет" выводимого чего-то, поэтому решил убрать, а "цвет" задавать отдельной функцией. Добавил вывод чисел с плавающей запятой (писал выше как то) и использовал хранение текста во флеше о чем писал mobistrike. И убрал из инициализации вывод ресет дисплея (я его цепляю к 3.3В). Кому надо вернут быстро, просто скопировать из предыдущих либ.
Теперь вывод выглядит так:
ссылка на библиотеку
Пример я поленился исправлять...
Кстати у кого будет выводится только текст на английском, например при компиляции в версии 1.8.5, это нормально. Все дело в кодировках, нет нет да и выведется русский (при очередной компиляции). Кодировка по умолчанию UTF, но иногда почему то 1251. Тут насколько знаю ничего не поделать, просто использовать другую версию IDE.
С 1202 тоже неплохо смотрится, но вот наспех сделанная панель на замену
Может кто помнит как правильно собирать строку из текста и переменных и вывод на дисплей. Что то вроде
но в либе char
помню кому то давал как правильно, но сам забыл, и найти не могу
Nokia2.h
МОЖНО БИБЛИОТЕКУ
Обычно я вешаю Rst на RC-цепочку и управляю этим экранчиком 2-мя ногами, на мелких батарейных устройствах - достаточно. Но случилось управлять шлифовальным станком и из-помех пришлось-таки подключить Rst к контроллеру.
Товарищ Larry Bank в своей библиотеке ( https://github.com/bitbank2/bb_hx1230 ) делает в init c Rst такие магические пассы :
а как делаете вы?
delete
А можно схемку с rc цепочкой? Вроде же 4 ноги нужно.
Удалось кому подружить библиотеку с esp32? Ругается на lcd1202.cpp:48:7
Не может конвертировать типы данных.
out = portOutputRegister(digitalPinToPort(pin));
Рад представить функцию отображения графика в реальном времени. Скорее всего велосипед но работает.
Писалось под цветной дисплей, но очень легко портировалась под монохромный.
Каждый раз вызывая функцию передаем ей новое значение. Весь график сдвигается на один пиксель влево и прорисовывает новый пиксель справа с новым значением.
График автоматически масштабируется, запоминает все предыдущие полученные значения, выбирает из них максимальное и минимальное и строится в соответствующем масштабе.
При вызове функции указываются координаты вывода а также высота и длинна графика в пикселях.
Дисплей подключен и инициализирован, библиотека установлена.
в основном цикле вызываю функцию графика:
Может кто помнит как правильно собирать строку из текста и переменных и вывод на дисплей. Что то вроде
...
В терминале: Time 01:32:45 Date 03 jul. 2020 и Hi 2048 by
Пример выдран отсюда https://github.com/JChristensen/DS3232RTC/blob/master/examples/rtcTimeTemp/rtcTimeTemp.ino
c float не работает. Нужно в два захода флоат выводить целую и дробную часть остатком от деления %10 или воспользоваться преобразованием float http://geekmatic.in.ua/arduino_otobrazhenie_dannyih_float
https://www.php.net/manual/ru/function.sprintf.php тут почитай про sprintf
Постом выше на анимации нижняя строка даты так собрана. А как вы хотели .print("Привет"+String(int)+"пока")
jeka, как добавить мелкий шрифт 3х5 в библиотеку? Куда копать, что почитать?
Набросал как должен выглядеть шрифт и самые распространенные символы, но что с ними делать, как конвертировать в массив и куда прописать незнаю.
Вот от другого дисплея нашел шрифт 4х6. Как его прикрутить?
Как понимаю необходимо создать что-то такое:
Нарыл из другой библиотеки возможность увеличивать стандартный шрифт в целое число раз. Не уверен что полезная функция но прикрутить можно.
Спасибо. Пока что добавил отображение мелких чисел
Вызывается lcd.simb3x5(4, 0, 1, 1);
Ну вот разобрался)
https://yadi.sk/d/VqFvAadmjdNPvQ
Библиотека, собрана на основе последней библиотеки jeka_tm
Добавлен мелкий шрифт 5х3 (цыфры, заглавные английские буквы, символы) вывод строк, переменных со знаком, float
Заменен вывод simb10x16 добавлены символы :.- Теперь выводятся так:
Отредактирован пример
В скетче добавлена возможность отдельно задействовать ногу RST не ломая библиотеку
Глюк мелкий обнаружил в 162 строке библиотеки нужно исправить "(for (byte j = 0; j<8; j++) " 8 на 5 это количество пикселей по вертикали иначе шрифт подтирает под собой три пикселя. Перезаливать лень.
Что вы мучаетесь, заливайте на гитхаб одной командой : git push origin master
Там и изменения комментировать удобнее и не надо голову ломать что означает словосочетание "отдельно задействовать ногу RST" - сразу в коде видно.
Я хотел бы перенести свой проект из Arduino Nano в ESP8266.
К сожалению, библиотека LCD1202 не работает под платой этого типа.
C:\Users\test\OneDrive\Documents\Arduino\libraries\LCD1202\lcd1202.cpp:62:7: error: invalid conversion from 'volatile uint32_t* {aka volatile unsigned int*}' to 'int*' [-fpermissive]
out = portOutputRegister(digitalPinToPort(pin));
Есть некоторый способ улучшить код, чтобы он работал на ESP8266.
Я не могу найти ничего интересного для управления дисплеем HX1230.
Это не улучшить, а адаптировать. Замени в библиотеке используемую функцию dwrite на стандартную digitalWtite
Саму функцию dwrite можно и удалить
Спасибо за ответ, сработало
добрый день!
Я хотел бы перенести свой проект из Arduino Nano в ESP8266.
такая я же проблема
К сожалению, библиотека LCD1202 не работает под платой этого типа.
C:\Users\test\OneDrive\Documents\Arduino\libraries\LCD1202\lcd1202.cpp:62:7: error: invalid conversion from 'volatile uint32_t* {aka volatile unsigned int*}' to 'int*' [-fpermissive]
out = portOutputRegister(digitalPinToPort(pin));
но
"Замени в библиотеке используемую функцию dwrite на стандартную digitalWtite" пробовал не зараболо - неразобрался как сделать замену. Можете сделать библиотеку для работы 8826?
все равно не выходит, идеи кончились