Да там все элементарно на самом деле.
Во вложении мой пример, правда в версии 530, сам работаю исключительно в 303.
Чтобы понять, что к чему, откройте на редактирование мой блок и любой из этой темы. Я поудалял ненужные мне параметры пользователя, кроме выбора шрифта для оперативности в экспериментах, и тот уберу позже, тк точно знаю, что мне нужен только один шрифт и каждая строка будет всегда на одном месте.
Оригинал слева, мой вариант справа, не знаю, как сделать форматирование текста:
if ( en ) { text_1.toCharArray(textStr1, text_1.length()+1);_____text_1.toCharArray(textStr1, text_1.length()+1);
text_2.toCharArray(textStr2, text_2.length()+1);_____text_2.toCharArray(textStr2, text_2.length()+1);
text_3.toCharArray(textStr3, text_3.length()+1);_____Сколько строк нужно, столько и делаем
text_4.toCharArray(textStr4, text_4.length()+1);_____У меня их пока восемь
text_5.toCharArray(textStr5, text_5.length()+1);_____text_8.toCharArray(textStr8, text_8.length()+1);
u8g.setColorIndex(color);_____u8g.setColorIndex(1); - сразу прописал привычный вариант
u8g.firstPage();
do {
u8g.setFont(set_font1);_____u8g.setFont(set_font1); - только один раз присвоил нужный мне фонт
u8g.drawStr( x1, y1, textStr1);_____u8g.drawStr( 0, 7, textStr1); координаты 0,7 вписал напрямую
u8g.setFont(set_font2);_____Как и для всех остальных строк ...
u8g.drawStr( x2, y2, textStr2);
u8g.setFont(set_font3);
u8g.drawStr( x3, y3, textStr3);
u8g.setFont(set_font4);
u8g.drawStr( x4, y4, textStr4);
u8g.setFont(set_font5);
u8g.drawStr( x5, y5, textStr5);
if (en_graphics ) { u8g.setColorIndex(color_g);_____Графику удалил, вернее, обращение к ней.
graphics }
} while(u8g.nextPage());
}
Есть желание выводить не только построчно, но и в отдельные места дисплея периодически обновляемые данные, тк где-то будет статика, то как подписи данных, где-то текущие значения. Не выводить же все постоянно. Хотя посмотрю еще, есть ли смысл биться с мельницами.
Если еще не подключали, вот подсказка:
Выводы для последовательной передачи данных:
№ вывода Обозначение Назначение
4 RS (IRS) (D/I) CS — линия выбора устройства
5 R/W (IR/W) MOSI — линия данных от Arduino к дисплею
6 E (IE) SCK — линия тактирования
15 PSB (CS1) Для последовательной шины — уровень логического «0»
17 RST Сброс при подаче логического «0»
15 вывод - на землю, остальные - на МК.
Больше нечего добавить.
Должно выглядеть так: