PCM5102A I2S DAC modul – digitálně-analogový převodník se stereo výstupem (3,5 mm jack)

Téměř vyprodáno
Modul PCM5102A s rozhraním I2S převádí digitální zvuk na stereo analogový výstup přes 3,5mm jack. Pro audio projekty s ESP32, Raspberry Pi a dalšími zařízeními.
129.31 CZK
Nejnižší cena za posledních 30 dní:
Zobrazeno podle nejnižší ceny za 30 dní před slevou.
Skladem 1 ks
Interní kód: 23852614
Počet jednotek v balení 1
Měrná jednotka
Měrné množství 1
ImportČína
Hmotnost 0.003 kg

Detaily produktu

Modul DAC PCM5102A převádí digitální zvukový signál I2S na kvalitní analogový stereo výstup. Díky podpoře 32bitových zvukových dat a nízkému šumu se hodí pro různé audio projekty.

Modul podporuje vzorkovací frekvence až 384 kHz a nabízí stereo výstup přes 3,5mm jack. Díky rozhraní I2S a kompaktním rozměrům se hodí do DIY Hi-Fi systémů, síťových přehrávačů a dalších audio aplikací.

 

🔧 Vlastnosti:

  • Čip: PCM5102A (Texas Instruments)

  • Rozhraní: I2S (DIN, BCK, LCK)

  • Rozlišení: až 32 bitů / 384 kHz

  • Napájecí napětí: 3,3–5 V

  • Výstup: stereo analogový zvuk, 3,5mm jack (LOUT, ROUT)

  • Kvalita výstupu: nízký šum, integrované filtry

  • Podporované formáty: I2S, Left Justified

  • Volitelné režimy čipu: PCM5100 / PCM5101 / PCM5102A (propojka)

 

📦 Balení obsahuje:

  • 1 × modul PCM5102A

  • 1 × sada Dupont kabelů

  • 1 × rovná pinová lišta

 

⚙️ Nastavení funkcí pomocí propojek:

Funkce Pin HIGH (3,3 V) LOW (GND) Popis
FLT H1L nízká latence (IIR) běžná latence (FIR) Volba filtru; zdroj pro běžný provoz doporučuje FIR.
DEMP H2L de-emphasis zapnutý (44,1 kHz) de-emphasis vypnutý Pro starší záznamy s předemfází; obvykle vypnuto.
XSMT H3L zrušení ztlumení, plynulý náběh ztlumení aktivní Řízení ztlumení výstupu.
FMT H4L Left Justified formát I2S S ESP32 se zpravidla používá formát I2S.

 

📌 Poznámka: Body H1L–H4L nemusí být na všech deskách přednastavené.
Pro použití s ESP32 je podle potřeby nastavte na požadovaný formát I2S a další funkce, jinak PCM5102A nemusí přehrávat zvuk. Ověřte zapojení konkrétní desky.

🔧 Doporučené nastavení pro ESP32:

  • FLT (H1L) = LOW – FIR filtr s běžnou latencí.

  • DEMP (H2L) = LOW – de-emphasis vypnutý.

  • XSMT (H3L) = HIGH – zrušení ztlumení, plynulý náběh zvuku.

  • FMT (H4L) = LOW – standardní formát I2S.

Pin Funkce Doporučený stav pro ESP32 Účinek
H1L FLT LOW (GND) FIR filtr, běžná latence
H2L DEMP LOW (GND) de-emphasis vypnutý
H3L XSMT HIGH (3,3 V) ztlumení vypnuto
H4L FMT LOW (GND) formát I2S

 

Příklad nastavení a připojení je na následujícím obrázku.

 

 

💻 Kód pro testování s ESP32

// Arduino Bluetooth A2DP Sink C++ kód
#include "BluetoothA2DPSink.h"

BluetoothA2DPSink a2dp_sink;

// Callback pre ovládanie hlasitosti
void volume_control_callback(int volume) {
    Serial.printf("Current Volume: %d\n", volume);
}

// Callback pre prijímanie metaúdajov médií
void avrc_metadata_callback(uint8_t attribute_id, const uint8_t *value) {
    if (value == nullptr) {
        return;
    }
    // Konverzia z uint8_t na char
    String metadata = String((const char *)value);

    switch (attribute_id) {
        case 1: // Názov
            Serial.printf("Title: %s\n", metadata.c_str());
            break;
        case 2: // Interpret
            Serial.printf("Artist: %s\n", metadata.c_str());
            break;
    }
}

void setup() {
    Serial.begin(115200);

    // I2S konfigurácia
    i2s_pin_config_t my_pin_config = {
        .bck_io_num = 26, // BCLK
        .ws_io_num = 25,  // LRC
        .data_out_num = 27, // Din
        .data_in_num = I2S_PIN_NO_CHANGE
    };
    a2dp_sink.set_pin_config(my_pin_config);

    // Callback funkcie
    a2dp_sink.set_on_volumechange(volume_control_callback);
    a2dp_sink.set_avrc_metadata_callback(avrc_metadata_callback);

    a2dp_sink.start("DENUINO");
    Serial.println("Bluetooth A2DP Sink Started");
}

void loop() {
    if (Serial.available()) {
        String command = Serial.readStringUntil('\n');
        command.trim();

        if (command == "volume") {
            Serial.println("Enter volume intensity (1-100):");
            while (!Serial.available()) {
                delay(10); // Čaká, kým prídu dáta
            }
            int volume = Serial.parseInt();
            if (volume >= 1 && volume <= 100) {
                a2dp_sink.set_volume(volume);
                Serial.printf("Volume set to: %d\n", volume);
            } else {
                Serial.println("Invalid volume value. Please enter a value between 1 and 100.");
            }
        } else if (command == "media data") {
            Serial.println("Requesting media metadata...");
            // Metaúdaje sa automaticky zobrazia pomocou callback funkcie
        } else {
            Serial.println("Unknown command. Use 'volume' or 'media data'.");
        }
    }
}

Recenze

Zatím žádné recenze.