Astazi mi-a venit de pe Aliexpress un display GC9A01A.
Am facut fisierul myoptions.h pentru yoRadio, si am incarcat codul in microcontroler.
Char daca este de dimensiuni destul de mici, mi se pare fascinant acest display datorita faptului ca este rotund.
Este pentru prima oara cand ma joc cu un display rotund.
Conexiunile intre display si ESP32-Wrover-IE le-am facut astfel:
- VCC -> 3.3V
- GND -> GND
- SDA -> pin 23
- SCL -> pin 18
- RES -> EN
- DC -> pin 4
- CS -> pin 5
- BLK -> pin 2
Am folosit acest fisier myoptions.h
Rezultatele sunt cele pe care le vedeti daca dati un click pe imaginile din aceasta postare.
Urmeaza pentru teste un display IPS de 3.5 inch cu driver ILI9488 fara touchscreen.
DAC-ul folosit a ramas acelasi PCM5102A.
Iar amplificarea audio folosita a fost acelasi soundbar low cost de pe aliexpress, am folosit varianta fara bluetooth, pentru ca aveam nevoie doar de o intrarea audio jack de 3.5mm.
Webradio player pe ESP32.
- Levy
- Gold User
- Posts: 1581
- Joined: 02 Oct 2013 15:07
- Location: ABSURDISTAN
Re: Webradio player pe ESP32.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !
- Levy
- Gold User
- Posts: 1581
- Joined: 02 Oct 2013 15:07
- Location: ABSURDISTAN
Re: Webradio player pe ESP32.
Pana la urma nu m-am putut abtine si am conectat si displayul IPS de 3,5 inchi ILI9488, gasiti linkul catre magazinul de unde l-am cumparat la sfarsitul postarii precedente.
Dar sa va pun cateva imagini:
Acest display are culorile inversate, astfel ca sa aveti culorile corect afisate trebuie din interfata web a yoRadio sa setati INVERT SCREEN.
Pun si o comparatie dintre display-ul de 1,8 inch si acesta de 3.5 inch.
Dar ce are foarte deosebit acest display fata de cele testate pana acum este unghiul de vizualizare foarte mare, si se pastreaza si culorile corect, indiferent din ce directe va uitati spre acest display.
Acest display isi merita din plin pretul, cred ca o sa mai cumpar acest model.
Conectarile hardware pe care le-am folosit pentru acest display sunt urmatoarele:
- VDD (display) la 3.3V (microcontroler)
- GND (display) la GND (microcontroler)
- CS (display) la pinul 5 (microcontroler)
- RST (display) la EN(microcontroler)
- DC (display) la pinul 4 (microcontroler)
- SDI (display) la MOSI (pinul 23 al microcontrolerului)
- SCK (display) la SCK (pinul 18 al microcontrolerului)
- BL (display) la BACKLIGHT (pinul 2 al microcontrolerului)
- SDO (display) la MISO (pinul 19 al microcontrolerului)
Pentru a putea conecta acest display la yoRadio, am folosit acest fisier myoptions.h
Dar ma opresc cu testarea, pentru ca a inceput meciul Romaniei.
Dar sa va pun cateva imagini:
Acest display are culorile inversate, astfel ca sa aveti culorile corect afisate trebuie din interfata web a yoRadio sa setati INVERT SCREEN.
Pun si o comparatie dintre display-ul de 1,8 inch si acesta de 3.5 inch.
Dar ce are foarte deosebit acest display fata de cele testate pana acum este unghiul de vizualizare foarte mare, si se pastreaza si culorile corect, indiferent din ce directe va uitati spre acest display.
Acest display isi merita din plin pretul, cred ca o sa mai cumpar acest model.
Conectarile hardware pe care le-am folosit pentru acest display sunt urmatoarele:
- VDD (display) la 3.3V (microcontroler)
- GND (display) la GND (microcontroler)
- CS (display) la pinul 5 (microcontroler)
- RST (display) la EN(microcontroler)
- DC (display) la pinul 4 (microcontroler)
- SDI (display) la MOSI (pinul 23 al microcontrolerului)
- SCK (display) la SCK (pinul 18 al microcontrolerului)
- BL (display) la BACKLIGHT (pinul 2 al microcontrolerului)
- SDO (display) la MISO (pinul 19 al microcontrolerului)
Pentru a putea conecta acest display la yoRadio, am folosit acest fisier myoptions.h
Dar ma opresc cu testarea, pentru ca a inceput meciul Romaniei.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !
- maximuss
- New member
- Posts: 4
- Joined: 10 Oct 2013 18:25
Re: Webradio player pe ESP32.
Am reușit. Nu am pus encoderul ptr că nu știu dacă trebuie pus la Vcc sau nu. Fontul la ceas mai trebuie sa schimb și gata .
- Levy
- Gold User
- Posts: 1581
- Joined: 02 Oct 2013 15:07
- Location: ABSURDISTAN
Re: Webradio player pe ESP32.
Deci esti pe drumul cel bun!
Ti-am editat postul pentru ca nu se vedea imaginea.
Ti-am editat postul pentru ca nu se vedea imaginea.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !
- Levy
- Gold User
- Posts: 1581
- Joined: 02 Oct 2013 15:07
- Location: ABSURDISTAN
Re: Webradio player pe ESP32.
Am instalat yoRadio pe un microcontroler ESP32-3248S035C.
Acesta are un display de 3.5 inchi si touchscreen capacitiv. Atentie exista si varianta cu touchscreen rezistiv!
Microcontrolerul l-am cumparat de aici.
Ca o surpriza neplacuta, am observat ca a venit fara flashul de 256Mb, care exista la altii care au cumparat acest mcu cu display.
Nu stiu daca asa se fabrica sau pur si simplu au uitat de el la cel pe care l-am cumparat eu.
Ca sa fac fisierul myoptions.h am gasit aceasta pagina, unde putem vedea pinoutul displayului si al touchscreenului.
Aceleasi date, dar de data asta si pentru varianta cu touchscreen rezistiv am gasit pe pagina macsbug.
Unde puteti vedea mai multe detalii despre aceasta combinatie de microcontroler cu display + touchscreen + iesire audio.
Tot acolo putem vedea cum este conectat displayul, touchscreenul iesirea audio, conectorii cu pinii liberi etc..
Avand aceste informatii putem face fisierul myoptions.h, dar acum observ ca traducerea automata a paginii mi-a tradus si cateva numere din tabel (numele GPIO).
Pentru moment nu m-a interesat intercalarea unui DAC pentru partea audio, pentru ca vroiam sa vad cum functioneaza displayul si touchscreenul la acest model, asa ca am ales ca audio sa functioneze cu DAC-ul intern, bineinteles doar pentru moment.
Am folosit acest fisier myoptions.h pe care il puteti vedea in pastebin
sau in editorul fisierului myoptions.h.
Am folosit acest fisier tema pentru acest video.
Am facut un scurt video cu felul in care reactioneaza touchscreenul capacitiv.
Proiectul original cu toate detaliile pentru a va putea face acest prioect, este disponibil pe pagina oficiala github a yoRadio.
Acesta are un display de 3.5 inchi si touchscreen capacitiv. Atentie exista si varianta cu touchscreen rezistiv!
Microcontrolerul l-am cumparat de aici.
Ca o surpriza neplacuta, am observat ca a venit fara flashul de 256Mb, care exista la altii care au cumparat acest mcu cu display.
Nu stiu daca asa se fabrica sau pur si simplu au uitat de el la cel pe care l-am cumparat eu.
Ca sa fac fisierul myoptions.h am gasit aceasta pagina, unde putem vedea pinoutul displayului si al touchscreenului.
Code: Select all
[env:esp32-3248s035c_4MB]
extends = esp32_4mb_v2
board = esp32dev
build_flags =
${env.build_flags}
${esp32.build_flags}
${esp32.no_ps_ram}
;region -- TFT_eSPI build options ------------------------
${esp32.hspi} ; Use HSPI hardware SPI bus
-D USER_SETUP_LOADED=1
;-D LGFX_USE_V1=1
-D ST7796_DRIVER=1
-D TFT_ROTATION=0 ; 0=0, 1=90, 2=180 or 3=270 degree
-D TFT_WIDTH=320
-D TFT_HEIGHT=480
-D TFT_CS=15 ;// Chip select control pin
-D TFT_DC=2 ;// Data Command control pin
-D TFT_RST=-1 ;// Reset pin (could connect to RST pin)
-D TFT_BCKL=27 ;None, configurable via web UI (e.g. 2 for D4)
-D SUPPORT_TRANSACTIONS
-D TOUCH_SDA=33
-D TOUCH_SCL=32
-D TOUCH_IRQ=21
-D TOUCH_RST=25
-D I2C_TOUCH_FREQUENCY=400000
-D I2C_TOUCH_PORT=1
-D I2C_TOUCH_ADDRESS=0x5D ; or 0x14
-D TOUCH_DRIVER=0x0911 ; GT911 Capacitive I2C touch panel driver
-D SPI_FREQUENCY=65000000
-D SPI_TOUCH_FREQUENCY=2500000
-D SPI_READ_FREQUENCY=20000000
;endregion
; -- Debugging options -----------------------------
; -D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
;region -- Library options -------------------------------
lib_deps =
${env.lib_deps}
${esp32.lib_deps}
${arduino_esp32_v2.lib_deps}
${tft_espi.lib_deps}
;${lovyangfx.lib_deps}
${goodix.lib_deps}
lib_ignore =
${env.lib_ignore}
${esp32.lib_ignore}
${arduino_esp32_v2.lib_ignore}
;endregion
Aceleasi date, dar de data asta si pentru varianta cu touchscreen rezistiv am gasit pe pagina macsbug.
Unde puteti vedea mai multe detalii despre aceasta combinatie de microcontroler cu display + touchscreen + iesire audio.
Tot acolo putem vedea cum este conectat displayul, touchscreenul iesirea audio, conectorii cu pinii liberi etc..
Avand aceste informatii putem face fisierul myoptions.h, dar acum observ ca traducerea automata a paginii mi-a tradus si cateva numere din tabel (numele GPIO).
Pentru moment nu m-a interesat intercalarea unui DAC pentru partea audio, pentru ca vroiam sa vad cum functioneaza displayul si touchscreenul la acest model, asa ca am ales ca audio sa functioneze cu DAC-ul intern, bineinteles doar pentru moment.
Am folosit acest fisier myoptions.h pe care il puteti vedea in pastebin
sau in editorul fisierului myoptions.h.
Am folosit acest fisier tema pentru acest video.
Am facut un scurt video cu felul in care reactioneaza touchscreenul capacitiv.
Proiectul original cu toate detaliile pentru a va putea face acest prioect, este disponibil pe pagina oficiala github a yoRadio.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !
- Levy
- Gold User
- Posts: 1581
- Joined: 02 Oct 2013 15:07
- Location: ABSURDISTAN
Re: Webradio player pe ESP32.
Pentru ca i-mi place varianta IPS al displayului ILI9488, am cumparat o varianta cu touch-screen, din pacate nu am gasit decat varianta cu touch-screen rezistiv, desi dupa experienta cu ESP32-3248S035C si cu ESP32-8048S070C, as fi preferat varianta cu touch-screen capacitiv.
Displayul l-am cumparat de aici.
Am ales acest display
am explicat motivele IPS + touch.
Dar nu vroia sa functioneze touch-ul cu un alt fisier myoptions.h facut pe acelasi display (ILI9488 dar nu IPS!)
Astazi mi-am luat inima in dinti si am testat putin, pana am dat de o varianta functionala.
Fisierul myoptions.h pe care l-am folosit este acesta:
Conexiunile hardware a touch-screenului:
TCK (Serial Clock) -> SCK (pinul 14)
TCS (Chip Select) -> CS (pinul 21)
TDI (Serial Data Input) -> MOSI (pinul 13)
TD0 (Serial Data Output) -> MISO (pinul 12)
Pentru display am folosit conexiunile dintr-o postare mai veche:
- VDD (display) la 3.3V (microcontroler)
- GND (display) la GND (microcontroler)
- CS (display) la pinul 5 (microcontroler)
- RST (display) la EN(microcontroler)
- DC (display) la pinul 4 (microcontroler)
- SDI (display) la MOSI (pinul 23 al microcontrolerului)
- SCK (display) la SCK (pinul 18 al microcontrolerului)
- BL (display) la BACKLIGHT (pinul 2 al microcontrolerului)
- SDO (display) la MISO (pinul 19 al microcontrolerului)
Spor la bricolat!
P.S.
Conexiunile hardware in myoptions.h generator.
Displayul l-am cumparat de aici.
Am ales acest display
am explicat motivele IPS + touch.
Dar nu vroia sa functioneze touch-ul cu un alt fisier myoptions.h facut pe acelasi display (ILI9488 dar nu IPS!)
Astazi mi-am luat inima in dinti si am testat putin, pana am dat de o varianta functionala.
Fisierul myoptions.h pe care l-am folosit este acesta:
Conexiunile hardware a touch-screenului:
TCK (Serial Clock) -> SCK (pinul 14)
TCS (Chip Select) -> CS (pinul 21)
TDI (Serial Data Input) -> MOSI (pinul 13)
TD0 (Serial Data Output) -> MISO (pinul 12)
Pentru display am folosit conexiunile dintr-o postare mai veche:
- VDD (display) la 3.3V (microcontroler)
- GND (display) la GND (microcontroler)
- CS (display) la pinul 5 (microcontroler)
- RST (display) la EN(microcontroler)
- DC (display) la pinul 4 (microcontroler)
- SDI (display) la MOSI (pinul 23 al microcontrolerului)
- SCK (display) la SCK (pinul 18 al microcontrolerului)
- BL (display) la BACKLIGHT (pinul 2 al microcontrolerului)
- SDO (display) la MISO (pinul 19 al microcontrolerului)
Spor la bricolat!
P.S.
Conexiunile hardware in myoptions.h generator.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !
- Levy
- Gold User
- Posts: 1581
- Joined: 02 Oct 2013 15:07
- Location: ABSURDISTAN
Re: Webradio player pe ESP32.
Am incercat sa vad cum functioneaza yoRadio pe un display de 4 inch.
Click pe imagine pentru videoclipul scurt de pe Youtube.
Displayul l-am cumparat de aici. Am cumparat varianta fara touch.
Conexiunile hardware sunt identice cu cel de 3.5 inch din postul precedent.
Fisierul myoptions.h este fisierul myoptions.h din postul precedent din care am scos partea care se ocupa de touchscreen.
Tema folosita in video este acesta:
Spor la bricolat!
Click pe imagine pentru videoclipul scurt de pe Youtube.
Displayul l-am cumparat de aici. Am cumparat varianta fara touch.
Conexiunile hardware sunt identice cu cel de 3.5 inch din postul precedent.
Fisierul myoptions.h este fisierul myoptions.h din postul precedent din care am scos partea care se ocupa de touchscreen.
Code: Select all
#ifndef myoptions_h
#define myoptions_h
#define DSP_MODEL DSP_ILI9488
#define BRIGHTNESS_PIN 2
//#define TS_MODEL TS_MODEL_XPT2046
//#define TS_HSPI true
//#define TS_CS 21
//#define IR_PIN 15
#endif
Tema folosita in video este acesta:
Code: Select all
// File created with YoRadio Theme Editor created by András Daradics
// File last modified: 8/25/2024 9:13:26 PM
// GitHub: https://github.com/andrasdaradici/YoRadio-Theme-Editor
// Itch.io: https://andrasdaradici.itch.io/yoradio-theme-editor
#ifndef _my_theme_h
#define _my_theme_h
#define ENABLE_THEME
#ifdef ENABLE_THEME
#define COLOR_BACKGROUND 0, 0, 91
#define COLOR_STATION_NAME 0, 0, 255
#define COLOR_STATION_BG 0, 0, 0
#define COLOR_STATION_FILL 0, 0, 0
#define COLOR_SNG_TITLE_1 255, 0, 0
#define COLOR_SNG_TITLE_2 255, 255, 0
#define COLOR_WEATHER 0, 255, 255
#define COLOR_VU_MAX 255, 0, 0
#define COLOR_VU_MIN 0, 0, 255
#define COLOR_CLOCK 249, 255, 255
#define COLOR_CLOCK_BG 0, 0, 62
#define COLOR_SECONDS 0, 255, 255
#define COLOR_DAY_OF_W 252, 255, 0
#define COLOR_DATE 0, 162, 241
#define COLOR_BUFFER 157, 0, 79
#define COLOR_IP 255, 255, 255
#define COLOR_VOLUME_VALUE 255, 0, 0
#define COLOR_RSSI 255, 238, 255
#define COLOR_VOLBAR_OUT 255, 255, 0
#define COLOR_VOLBAR_IN 0, 0, 255
#define COLOR_DIGITS 100, 100, 255
#define COLOR_DIVIDER 238, 0, 0
#define COLOR_BITRATE 0, 0, 255
#define COLOR_HEAP 255, 168, 162
#define COLOR_PL_CURRENT 0, 0, 0
#define COLOR_PL_CURRENT_BG 91, 118, 255
#define COLOR_PL_CURRENT_FILL 91, 118, 255
#define COLOR_PLAYLIST_0 255, 255, 255
#define COLOR_PLAYLIST_1 255, 255, 255
#define COLOR_PLAYLIST_2 255, 255, 255
#define COLOR_PLAYLIST_3 255, 255, 255
#define COLOR_PLAYLIST_4 255, 255, 255
#endif
#endif
Spor la bricolat!
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !
- Levy
- Gold User
- Posts: 1581
- Joined: 02 Oct 2013 15:07
- Location: ABSURDISTAN
Re: Webradio player pe ESP32.
Am tradus interfata web a yoRadio in limba romana, incercand sa fac o versiune localizata pentru Romania.
Aici aveti pagina principala a interfetei web, unde am schimbat si logo-ul.
Editorul listei de redare
Cred ca am uitat sa precizez ce inseamna OVOL din editorul de canale. Acesta stabileste nivelul amplificarii audio al fiecarui canal in parte.
Ce inseamna asta mai pe intelesul tuturor?
Daca avem canale de radio la care nivelul volumului sunetului este foarte diferit, poate fi foarte deranjant daca schimbam de pe un canal pe altul si volumul urmatorului canal este mult prea mic sau mult prea mare fata de canalul precedent, din acest Ovol (Offset Volume) putem incerca sa echilibram nivelul volumului sunetului pentru fiecare canal in parte. Mie personal mi se pare un lucru foarte util.
Am modificat si partea de afisare pe display, astfel incat zilele saptamanii si prescurtarea zilei saptamanii sa apara in limba romana.
Proiectul a fost modificat folosind un display ILI9488 (cel din postul precedent!).
Se poate descarca pentru teste de aici.
Am folosit acest fisier myoptions.h
si acest fisier mytheme.h
Probleme nerezolvate.
- bootlogoul care apare pe display la pornire.
- caracterele cu diacritice nu apar corect pe display.
Proiectul original al yoRadio este disponibil pe pagina github a yoRadio.
Aici aveti pagina principala a interfetei web, unde am schimbat si logo-ul.
Editorul listei de redare
Cred ca am uitat sa precizez ce inseamna OVOL din editorul de canale. Acesta stabileste nivelul amplificarii audio al fiecarui canal in parte.
Ce inseamna asta mai pe intelesul tuturor?
Daca avem canale de radio la care nivelul volumului sunetului este foarte diferit, poate fi foarte deranjant daca schimbam de pe un canal pe altul si volumul urmatorului canal este mult prea mic sau mult prea mare fata de canalul precedent, din acest Ovol (Offset Volume) putem incerca sa echilibram nivelul volumului sunetului pentru fiecare canal in parte. Mie personal mi se pare un lucru foarte util.
Am modificat si partea de afisare pe display, astfel incat zilele saptamanii si prescurtarea zilei saptamanii sa apara in limba romana.
Proiectul a fost modificat folosind un display ILI9488 (cel din postul precedent!).
Se poate descarca pentru teste de aici.
Am folosit acest fisier myoptions.h
Code: Select all
#ifndef myoptions_h
#define myoptions_h
#define DSP_MODEL DSP_ILI9488
#define BRIGHTNESS_PIN 2
#define L10N_LANGUAGE EN
#endif
si acest fisier mytheme.h
Code: Select all
// File created with YoRadio Theme Editor created by András Daradics
// File last modified: 9/14/2024 12:28:36 AM
// GitHub: https://github.com/andrasdaradici/YoRadio-Theme-Editor
// Itch.io: https://andrasdaradici.itch.io/yoradio-theme-editor
#ifndef _my_theme_h
#define _my_theme_h
#define ENABLE_THEME
#ifdef ENABLE_THEME
#define COLOR_BACKGROUND 133, 0, 0
#define COLOR_STATION_NAME 255, 255, 255
#define COLOR_STATION_BG 0, 0, 0
#define COLOR_STATION_FILL 0, 0, 0
#define COLOR_SNG_TITLE_1 255, 37, 0
#define COLOR_SNG_TITLE_2 255, 255, 0
#define COLOR_WEATHER 0, 99, 255
#define COLOR_VU_MAX 255, 255, 0
#define COLOR_VU_MIN 255, 37, 0
#define COLOR_CLOCK 255, 255, 0
#define COLOR_CLOCK_BG 155, 0, 0
#define COLOR_SECONDS 0, 99, 255
#define COLOR_DAY_OF_W 0, 255, 66
#define COLOR_DATE 255, 37, 0
#define COLOR_BUFFER 157, 0, 79
#define COLOR_IP 255, 255, 255
#define COLOR_VOLUME_VALUE 255, 255, 255
#define COLOR_RSSI 255, 255, 255
#define COLOR_VOLBAR_OUT 255, 255, 0
#define COLOR_VOLBAR_IN 0, 99, 255
#define COLOR_DIGITS 100, 100, 255
#define COLOR_DIVIDER 255, 255, 255
#define COLOR_BITRATE 255, 255, 255
#define COLOR_HEAP 255, 168, 162
#define COLOR_PL_CURRENT 0, 0, 0
#define COLOR_PL_CURRENT_BG 91, 118, 255
#define COLOR_PL_CURRENT_FILL 91, 118, 255
#define COLOR_PLAYLIST_0 255, 255, 255
#define COLOR_PLAYLIST_1 255, 255, 255
#define COLOR_PLAYLIST_2 255, 255, 255
#define COLOR_PLAYLIST_3 255, 255, 255
#define COLOR_PLAYLIST_4 255, 255, 255
#endif
#endif
Probleme nerezolvate.
- bootlogoul care apare pe display la pornire.
- caracterele cu diacritice nu apar corect pe display.
Proiectul original al yoRadio este disponibil pe pagina github a yoRadio.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !
- Levy
- Gold User
- Posts: 1581
- Joined: 02 Oct 2013 15:07
- Location: ABSURDISTAN
Re: Webradio player pe ESP32.
Intre timp cu ajutorul celor de pe o pagina Facebook a yoRadio (nu este pagina oficiala!) am reusit sa inteleg cum se poate crea un bootlogo nou pentru yoRadio!
Am facut rapid o imagine la rezolutia de 360 x 160 pixeli, veti vedea ca rezolutia o puteti stabili dumneavoastra, bineinteles in limitele displayului.
dupa care am incarcat imaginea in acest convertor RGB565
Am introdus imaginea din fisierul astfel obtinut in fisierul
yoRadio\src\displays\fonts\bootlogo.h
Si am obtinut noul fisier bootlogo pentru yoRadio, care in acest moment arata astfel.
Acum avem noul bootlogo, insa nu va fi afisat corect daca incarcati codul yoRadio cu noul bootlogo, pentru ca nu avem rezolutia acestei imagini in codul yoRadio.
Pentru a corecta rezolutia din cod cu rezolutia noului nostru bootlogo, editam fisierul:
yoRadio\src\displays\displayILI9488.cpp
unde la linia 44, inlocuim randul in care declarata rezolutia bootlogo din:
in:
dupa care salvam fisierul, si ne reintoarcem la Arduino IDE, de unde incarcam codul in microcontroler.
Daca ati facut totul cum este descris aici, puteti sa va faceti propriul bootlogo.
In zilele urmatoare o sa adaug si un bootlogo pentru varianta localizata in limba romana, probabil chiar acest bootlogo pe github, unde am publicat versiunea tradusa in limba romana.
Aceasta modificare va functiona doar pe displayurile ILI9488. Pentru alte tipuri de displau-uri se vor modifica fisierele aferente.
(Adaugare la postarea initiala)
Am tradus interfata web a yoRadio in limba romana si am facut un logo cu drapelul Romaniei pe partea superioara a paginii.
In acest moment interfata web tradusa arata asa:
Avem si un skin din culorile drapelului Romaniei
In acest moment asa arata adaptarea in limba romana:
Click pe imagine pentru a vizualiza videoclipul scurt de pe youtube.
A mai ramas in urma rezolvarea problemei cu diacriticele romanesti. Dar si aici avem un punct de plecare. Mai multi au rezolvat deja aceasta problema pentru limba tarilor lor. Am vazut variante pentru PL, SK, CH etc...
Una din variantele dupa care putem sa ne apucam de treaba ar fi varianta maghiara facuta de Lucza Gyuri, care ne-a si pus la dispozitie modificarile lui.
Cu putina rabdare putem rezolva si aceasta problema.
Spor la bricolat!
#yoRadio #eRadio #ёRadio #romana #romanian #ili9488 #pcm5102a #ESP32 #Wrover
Am facut rapid o imagine la rezolutia de 360 x 160 pixeli, veti vedea ca rezolutia o puteti stabili dumneavoastra, bineinteles in limitele displayului.
dupa care am incarcat imaginea in acest convertor RGB565
Am introdus imaginea din fisierul astfel obtinut in fisierul
yoRadio\src\displays\fonts\bootlogo.h
Si am obtinut noul fisier bootlogo pentru yoRadio, care in acest moment arata astfel.
Acum avem noul bootlogo, insa nu va fi afisat corect daca incarcati codul yoRadio cu noul bootlogo, pentru ca nu avem rezolutia acestei imagini in codul yoRadio.
Pentru a corecta rezolutia din cod cu rezolutia noului nostru bootlogo, editam fisierul:
yoRadio\src\displays\displayILI9488.cpp
unde la linia 44, inlocuim randul in care declarata rezolutia bootlogo din:
Code: Select all
void DspCore::drawLogo(uint16_t top) { drawRGBBitmap((width() - 99) / 2, top, bootlogo2, 99, 64); }
in:
Code: Select all
void DspCore::drawLogo(uint16_t top) { drawRGBBitmap((width() - 360) / 2, (height() - 160) / 4, bootlogo2, 360, 160); }
dupa care salvam fisierul, si ne reintoarcem la Arduino IDE, de unde incarcam codul in microcontroler.
Daca ati facut totul cum este descris aici, puteti sa va faceti propriul bootlogo.
In zilele urmatoare o sa adaug si un bootlogo pentru varianta localizata in limba romana, probabil chiar acest bootlogo pe github, unde am publicat versiunea tradusa in limba romana.
Aceasta modificare va functiona doar pe displayurile ILI9488. Pentru alte tipuri de displau-uri se vor modifica fisierele aferente.
(Adaugare la postarea initiala)
Am tradus interfata web a yoRadio in limba romana si am facut un logo cu drapelul Romaniei pe partea superioara a paginii.
In acest moment interfata web tradusa arata asa:
Avem si un skin din culorile drapelului Romaniei
In acest moment asa arata adaptarea in limba romana:
Click pe imagine pentru a vizualiza videoclipul scurt de pe youtube.
A mai ramas in urma rezolvarea problemei cu diacriticele romanesti. Dar si aici avem un punct de plecare. Mai multi au rezolvat deja aceasta problema pentru limba tarilor lor. Am vazut variante pentru PL, SK, CH etc...
Una din variantele dupa care putem sa ne apucam de treaba ar fi varianta maghiara facuta de Lucza Gyuri, care ne-a si pus la dispozitie modificarile lui.
Cu putina rabdare putem rezolva si aceasta problema.
Spor la bricolat!
#yoRadio #eRadio #ёRadio #romana #romanian #ili9488 #pcm5102a #ESP32 #Wrover
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !
- Levy
- Gold User
- Posts: 1581
- Joined: 02 Oct 2013 15:07
- Location: ABSURDISTAN
Re: Webradio player pe ESP32.
Pentru ca nu aveam un video cu displayul rotund, am facut un video si cu acest display
Detaliile le-am prezentat in aceasta postare: viewtopic.php?f=172&t=3380&p=26185#p26163
Am folosit aceste conexiuni pentru display
In myoptions file editor arata asa
PCM5102A a fost conectat cu setarile initiale
Conexiunile hardware complete le puteti vedea aici:
Microcontrolerul folosit este un ESP32 Wrover IE (necesita o antena externa, care se achizitioneaza separat!)
Displayul folosit este un GC9A01
DAC-ul folosit este un PCM5102A
Fisierul myoptions.h folosit este acesta:
Fisierul mytheme.h folosit in videoclip este acesta:
Spor la bricolat!
Detaliile le-am prezentat in aceasta postare: viewtopic.php?f=172&t=3380&p=26185#p26163
Am folosit aceste conexiuni pentru display
In myoptions file editor arata asa
PCM5102A a fost conectat cu setarile initiale
Conexiunile hardware complete le puteti vedea aici:
Microcontrolerul folosit este un ESP32 Wrover IE (necesita o antena externa, care se achizitioneaza separat!)
Displayul folosit este un GC9A01
DAC-ul folosit este un PCM5102A
Fisierul myoptions.h folosit este acesta:
Code: Select all
#ifndef myoptions_h
#define myoptions_h
/* Generated by myoptions.h generator - v0.8.1 */
/* https://e2002.github.io/docs/myoptions-generator.html?r=72,2,30,41,43&i=1,2,3,4,15,16,17&v=4,5,-1,2,27,26,25 */
/* Put this file next to yoRadio.ino and restart Arduino IDE. */
/* !!! Attention !!! */
/* This configuration depends on some additional libraries. Please install them using the library manager: */
/* Adafruit GFX Library */
/* !!! Do not be alarmed, all right, the default values are not included in this file !!! */
#define DSP_MODEL DSP_GC9A01A
#define BRIGHTNESS_PIN 2
#endif
Fisierul mytheme.h folosit in videoclip este acesta:
Code: Select all
// File created with YoRadio Theme Editor created by András Daradics
// File last modified: 9/14/2024 10:29:47 PM
// GitHub: https://github.com/andrasdaradici/YoRadio-Theme-Editor
// Itch.io: https://andrasdaradici.itch.io/yoradio-theme-editor
#ifndef _my_theme_h
#define _my_theme_h
#define ENABLE_THEME
#ifdef ENABLE_THEME
#define COLOR_BACKGROUND 0, 0, 255
#define COLOR_STATION_NAME 255, 255, 255
#define COLOR_STATION_BG 255, 0, 0
#define COLOR_STATION_FILL 255, 0, 0
#define COLOR_SNG_TITLE_1 255, 255, 0
#define COLOR_SNG_TITLE_2 0, 255, 0
#define COLOR_WEATHER 255, 255, 255
#define COLOR_VU_MAX 255, 0, 0
#define COLOR_VU_MIN 0, 255, 0
#define COLOR_CLOCK 255, 255, 255
#define COLOR_CLOCK_BG 10, 10, 255
#define COLOR_SECONDS 255, 255, 255
#define COLOR_DAY_OF_W 0, 0, 0
#define COLOR_DATE 255, 255, 255
#define COLOR_BUFFER 157, 171, 251
#define COLOR_IP 255, 255, 255
#define COLOR_VOLUME_VALUE 255, 255, 255
#define COLOR_RSSI 255, 255, 255
#define COLOR_VOLBAR_OUT 198, 93, 0
#define COLOR_VOLBAR_IN 189, 189, 189
#define COLOR_DIGITS 100, 100, 255
#define COLOR_DIVIDER 0, 0, 0
#define COLOR_BITRATE 255, 255, 255
#define COLOR_HEAP 255, 168, 162
#define COLOR_PL_CURRENT 231, 211, 90
#define COLOR_PL_CURRENT_BG 231, 211, 90
#define COLOR_PL_CURRENT_FILL 231, 211, 90
#define COLOR_PLAYLIST_0 231, 211, 90
#define COLOR_PLAYLIST_1 231, 211, 90
#define COLOR_PLAYLIST_2 231, 211, 90
#define COLOR_PLAYLIST_3 231, 211, 90
#define COLOR_PLAYLIST_4 231, 211, 90
#endif
#endif
Spor la bricolat!
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !
Who is online
Users browsing this forum: No registered users and 33 guests