microman
niet storen aub, ben al gestoord genoeg !
hoi
ik heb een touchscreen met esp32 en sd kaart gekocht. Met het gratis arduino programma 2.3.4 heb ik al behoorlijk wat geprogrammeerd en mede door chatgpt in orde gekregen. De sd kaart werkt en kan ik uitlezen. Nu wil ik een png foto op mijn scherm krijgen. En daar ben ik al een paar dagen zoet mee. ik krijg maar geen foto op het scherm. Hooguit dat het scherm begint wit te flikkeren. Buttons, kleuren en teksten werken wel al. Ik zou graag een simpel werkend voorbeeld hebben om te bestuderen.
void welkomText() {
lv_obj_clean(lv_scr_act()); // Verwijder alle objecten van het scherm
lv_obj_set_style_bg_color(lv_scr_act(), lv_color_make(255, 165, 0), LV_PART_MAIN); // scherm volledig oranje
lv_obj_t *still = lv_label_create(lv_scr_act()); // Label aanmaken
lv_label_set_text(still, "STILL"); // Tekst instellen op label "STILL"
lv_obj_add_style(still, &font_zwart_48, 0); // Stijl toepassen op label font 48
lv_obj_align(still, LV_ALIGN_TOP_MID, 0, 0); // positie tekst -20 naar boven vanuit center
if (SD.exists("/still.png")) { Serial.println("✅ foto gevonden"); } else {
Serial.println("Geen foto op gevonden op de SD"); }
lv_img_create(lv_scr_act()); // Maak een afbeelding-object
lv_img_set_src(img,"/still.png"); // Laad de afbeelding
lv_img_set_zoom(img, 80); // Verklein naar 50% // 256=100% // je kan ook zoomen naar 200%, dat is dan 512
lv_obj_align(img, LV_ALIGN_CENTER, 0, 0); // Uitlijnen
lv_obj_t *still2 = lv_label_create(lv_scr_act()); // Label aanmaken
lv_label_set_text(still2, "Keyless Entry System"); // Tekst instellen op label "Keyless Entry System"
lv_obj_add_style(still2, &font_zwart_28, 0); // Stijl toepassen op label font 28
lv_obj_align(still2, LV_ALIGN_BOTTOM_MID, 0, -20); // positie tekst -20 naar boven vanuit bodem
} hardbass
PE2BAS
Misschien kan je eerst kijken of je een plaatje kan laten zien vanaf een array. Ik vermoed dat het fout gaat met het laden van de SD kaart of dat je plaatje niet het juiste kleur formaat heeft:
https://docs.lvgl.io/master/details/main-modules/image.html#images-lv-…
buckfast_beekeeper
Van Lambiek wordt goede geuze gemaakt.
De TFT _eSPI librarie van Bodmer al geprobeerd? Een PNG voorbeeld.
Er staat ook een JPEG librarie op zijn github.
hardbass
PE2BAS
Deze code is gegenereerd denk ik? GPT heeft de eigenschap om overal smylies in te proppen. Lijkt me niet handig, al denk ik niet dat het probleem is.
Er zitten ook wel wat issues in je code, probeer het eens zo: (ook met gpt trouwens)
void welkomText() {
// Clear all objects from the screen and set background color to orange
lv_obj_clean(lv_scr_act());
lv_obj_set_style_bg_color(lv_scr_act(), lv_color_make(255, 165, 0), LV_PART_MAIN);
// Create and configure the first label "STILL"
lv_obj_t *still = lv_label_create(lv_scr_act());
lv_label_set_text(still, "STILL");
lv_obj_add_style(still, &font_zwart_48, 0);
lv_obj_align(still, LV_ALIGN_TOP_MID, 0, -20); // Adjust vertical offset if intended
// Check for the image file on SD card
if (SD.exists("/still.png")) {
Serial.println("foto gevonden");
} else {
Serial.println("Geen foto op gevonden op de SD");
}
// Create an image object and load the image
lv_obj_t *img = lv_img_create(lv_scr_act());
lv_img_set_src(img, "/still.png");
lv_img_set_zoom(img, 80); // Check: 256=100%; adjust if necessary
lv_obj_align(img, LV_ALIGN_CENTER, 0, 0);
// Create and configure the second label "Keyless Entry System"
lv_obj_t *still2 = lv_label_create(lv_scr_act());
lv_label_set_text(still2, "Keyless Entry System");
lv_obj_add_style(still2, &font_zwart_28, 0);
lv_obj_align(still2, LV_ALIGN_BOTTOM_MID, 0, -20);
}
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Ik heb de docu van lv_img_set_src opgezocht en daar staat dat je de boel van PNG naar het formaat wat dit ding snapt moet converteren....
microman
niet storen aub, ben al gestoord genoeg !
hey.
Ik heb één keer een foto png omgezet naar een .c array via een tool op internet. Na wat aanpassingen helemaal onderaan in die c file. Betreft hoogte , breedte en kleur kreeg ik een kleine foto op mijn scherm. De kwaliteit van de foto was wel niet goed. = groffe pixels.
Een 100% werkend voorbeeld zou leuk zijn. De foto op de SD wordt gevonden als ik /picture.png type. Als ik S:/picture.png type vind hij niets..
Mijn vraag is voornamelijk. Ik lees een png van de sd. Wat heb ik nog nodig van omzetting of software om de foto op het scherm te krijgen ??
De foto wordt omgezet in pixels met RGB... zo denk ik dat het zou moeten.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Heeft de foto/png wel dezelfde resolutie als het scherm (aantal pixels horizontaal en verticaal)? Als dat niet het geval is, moet je nog veel meer doen dan alleen de png omzetten in RGB.
Op woensdag 19 maart 2025 11:29:03 schreef microman:
De foto op de SD wordt gevonden als ik /picture.png type. Als ik S:/picture.png type vind hij niets..
Drive letters zijn een DOS/Windows (etc?) concept, lijkt me logisch dat dat hier niet hoeft/moet.
Kijk hier eens : https://randomnerdtutorials.com/esp32-tft-display-image-lvgl-arduino/
Blijkbaar moet je inderdaad je foto omzetten naar een bepaald formaat dat svgl kan lezen : 1. Go to the LVGL Image Converter Website: lvgl.io/tools/imageconverter
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Op woensdag 19 maart 2025 11:29:03 schreef microman:
De foto op de SD wordt gevonden als ik /picture.png type. Als ik S:/picture.png type vind hij niets..
Ja. Je code controleert of het bestand bestaat, maar niet of hij het juiste formaat heeft.
Ik zeg je levert een verkeerd bestand aan en dat negeer je compleet.
Even voor de goede orde: Het is tot ongeveer 2025 gebruikelijk dat op microcontrollers ALS je al plaatjes gaat doen, dat je die dan met externe tools, bijvoorbeeld op een PC omzet naar iets wat "makkelijk" voor de microcontroller is.
Ik heb een project waarbij ik "toekomstbestendig" al ben overgeschakeld op PNG. Maar buiten wat ik doe, is dat nog beperkt beschikbaar in open source libraries.
[Bericht gewijzigd door rew op (35%)]
microman
niet storen aub, ben al gestoord genoeg !
van png format foto's kan je gewoon de breedte , hoogte pixels aanpassen. Kan met elke windows 11 huis tuin en keuken computer. Dit doe je dan voor je de foto op de sd kaart zet. ik ga eens kijken naar die link van Bodmer ,die naam heb ik al meerdere keren zien passeren.
thx