Помогите, пожалуйста код Ардуино, чтобы он занимал меньше места. Буду очень благодарен. Вот код: #include <U8g2lib.h> #include <U8x8lib.h> U8G2_KS0108_128X64_F u8g2(U8G2_R0, 13, 12, 11, 10, 9, 8, 7, 6, 2, 3, 5, 4, U8X8_PIN_NONE, U8X8_PIN_NONE); int but = A1; int but1 = A2; int Z = 0; boolean lb = LOW; boolean cerbut = LOW; boolean ledOn = false; boolean lb1 = LOW; boolean cerbut1 = LOW; boolean ledOn1 = false; void setup() { Serial.begin(9600); pinMode (but, INPUT); // начало работы с дисплеем u8g2.begin(); // включаем поддержку UTF8 u8g2.enableUTF8Print(); // очищаем память дисплея u8g2.clearBuffer(); } boolean debounce(boolean last) { boolean current = digitalRead(but); if (last != current) { delay(5); current = digitalRead(but); return current; } } boolean debounce1(boolean last1) { boolean current1 = digitalRead(but1); if (last1 != current1) { delay(5); current1 = digitalRead(but1); return current1; } } void loop() { cerbut = debounce(lb); if (lb == LOW && cerbut == HIGH) { Z--; } lb = cerbut; cerbut1 = debounce1(lb1); if (lb1 == LOW && cerbut1 == HIGH) { Z++; } lb1 = cerbut1; // очищаем память дисплея u8g2.clearBuffer(); // выбираем шрифт u8g2.setFont(u8g2_font_10x20_t_cyrillic); // указываем положение курсора u8g2.setCursor(15, 15); // выводим строку на дисплей u8g2.print(Z); // отсылаем данные на дисплей u8g2.sendBuffer(); Serial.print(Z); }
Единственный способ сократить место, это отказаться от использования библиотек U8g2lib и U8x8lib. Либо написать всё самому, либо взять библиотеки, не хранящие в памяти буфер экрана.
Ну да, только в них про картинки забыть, кегль шрифта не выше 8пт. Ну вот так устроен контроллер этого дурацкого дисплея.