Webradio player pe ESP32.

Discutii despre placile de dezvoltare compatibile Arduino
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Webradio player pe ESP32.

Unread postby Levy » 02 Jul 2024 17:01

Astazi mi-a venit de pe Aliexpress un display GC9A01A.
Am facut fisierul myoptions.h pentru yoRadio, si am incarcat codul in microcontroler.

Image

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.

Image

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.
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 !

Image
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Webradio player pe ESP32.

Unread postby Levy » 02 Jul 2024 18:38

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:

Image

Acest display are culorile inversate, astfel ca sa aveti culorile corect afisate trebuie din interfata web a yoRadio sa setati INVERT SCREEN.

Image

Pun si o comparatie dintre display-ul de 1,8 inch si acesta de 3.5 inch.

Image

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.

Image

Image

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)

Image

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 !

Image
User avatar
maximuss
New member
Posts: 4
Joined: 10 Oct 2013 18:25

Re: Webradio player pe ESP32.

Unread postby maximuss » 06 Jul 2024 20:04

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 .

Image
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Webradio player pe ESP32.

Unread postby Levy » 07 Jul 2024 10:28

Deci esti pe drumul cel bun!
Ti-am editat postul pentru ca nu se vedea imaginea. :drink2:
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 !

Image
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Webradio player pe ESP32.

Unread postby Levy » 22 Aug 2024 17:50

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.

Image

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.

Image

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..

Image

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). :haha: :haha:

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 !

Image
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Webradio player pe ESP32.

Unread postby Levy » 30 Aug 2024 18:51

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

Image

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. :hello2: :hello2:

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 !

Image

Return to “Arduino”

Who is online

Users browsing this forum: No registered users and 2 guests