Arduino Polska Forum
Zawieszający się wyświetlacz OLED 1,3" - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Wyświetlacze (https://forum.arduinopolska.pl/dzial-wy%C5%9Bwietlacze)
+--- Wątek: Zawieszający się wyświetlacz OLED 1,3" (/watek-zawieszaj%C4%85cy-si%C4%99-wy%C5%9Bwietlacz-oled-1-3)



Zawieszający się wyświetlacz OLED 1,3" - Arpl - 15-08-2023

Witam

Mój pierwszy projekt z wyświetlaczem OLED uruchomiłem i było by wszystko ok tylko jest jeden niuans. Mianowicie wyświetlacz wiesza się i nie pokazuje aktualnych odczytów, mimo to program sterujący działa poprawnie. Wyświetlacz działa 24/7 więc gdzie mogę szukać błędu aby cały czas się odświeżał?

Oto mój kod sterujący wyświetlaczem:

Kod:
#include <U8glib.h>


U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);  // Dev 0, Fast I2C / TWI




void setup() {


}
void loop() {

u8g.firstPage(); //wyczyszczenie ekranu i przygotowanie do wyświetlenia nowej strony
  do {
    u8g.setFont(u8g_font_helvR08); //wybranie czcionki
    u8g.drawStr(0,10,"Bojler");
    u8g.drawStr(117,10,"\xB0");       //znak stopni celcjusza
    u8g.drawStr(121,10,"C");
    u8g.drawStr(0,20,"Pompka");
    u8g.drawStr(117,20,"\xB0");
    u8g.drawStr(121,20,"C");
    u8g.drawStr(0,60,"Przeplyw");
    u8g.drawStr(0,30,"Praca");
    u8g.setPrintPos(95,10); //ustawienie miejsca wyświetlania odczytu
    u8g.print(tempBB); //wyświetlenie odczytu
    u8g.setPrintPos(95,20);
    u8g.print(tempPP);
    u8g.setPrintPos(95,60);
    u8g.print(flowCount);
    u8g.setPrintPos(95,30);
    u8g.print(praca);
    u8g.setPrintPos(60,10);
    u8g.print(b);
    u8g.setPrintPos(60,20);
    u8g.print(p);
    u8g.setPrintPos(60,30);
    u8g.print(czas);
}
    while(u8g.nextPage());
    u8g.firstPage();

if (aktualnyCzas - przeplyw >= 500UL){
    flowCount = 0;
    przeplyw = aktualnyCzas;
}
}
void flowISR() {
  flowCount++; // zwiększ liczbę impulsów o 1
}



RE: Zawieszający się wyświetlacz OLED 1,3" - Jarewa0606 - 16-08-2023

Loop pusty przenieś wszystko do loop


RE: Zawieszający się wyświetlacz OLED 1,3" - Arpl - 21-08-2023

(16-08-2023, 06:16)Jarewa0606 napisał(a): Loop pusty przenieś wszystko do loop
Żle kod przepisałem do tego pytania. Kod do obsługi wyświetlacza znajduje się w Loop a mimo tego po niedługim czasie wyświetlacz wiesza się


RE: Zawieszający się wyświetlacz OLED 1,3" - kaczakat - 21-08-2023

Loop ma się wykonywać mln x na sekundę, ale jak w każdym obiegu loop MUSISZ pokazać coś nowego na ekranie to nie będzie. Ale czy naprawdę MUSISZ? Mierzysz coś millis co 500ms, zrób to samo z ekranem, wyświetl dane raz na 500, może 1000ms, albo tylko wtedy gdy masz coś nowego do powiedzenia.


RE: Zawieszający się wyświetlacz OLED 1,3" - Arpl - 29-08-2023

Poprawiłem na odświeżanie wyświetlacza co 0,5s i juz drugi dzień działa jak należy i się nie wiesza. Dziękuję i pozdrawiam


RE: Zawieszający się wyświetlacz OLED 1,3" - kaczakat - 30-08-2023

Dzięki za podzielenie się rozwiązaniem.