Код Ардуино

Тема в разделе "Arduino & Shields", создана пользователем Vlad007/, 23 мар 2018.

  1. Vlad007/

    Vlad007/ Нуб

    Помогите, пожалуйста код Ардуино, чтобы он занимал меньше места. Буду очень благодарен. Вот код:
    #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);
    }
     
  2. Asper Daffy

    Asper Daffy Иксперд

    Единственный способ сократить место, это отказаться от использования библиотек U8g2lib и U8x8lib.

    Либо написать всё самому, либо взять библиотеки, не хранящие в памяти буфер экрана.
     
  3. fogary

    fogary Гик

    Vlad007
    Зачем две функции "debounce"?
     
  4. parovoZZ

    parovoZZ Гуру

    Для ТС это равносильно расстрелу)))
     
  5. Asper Daffy

    Asper Daffy Иксперд

    Не, ну есть же готовые библиотеки безбуферные.
     
  6. parovoZZ

    parovoZZ Гуру

    Ну да, только в них про картинки забыть, кегль шрифта не выше 8пт. Ну вот так устроен контроллер этого дурацкого дисплея.