Moduł DAC PCM5102A I2S – przetwornik cyfrowo-analogowy z wyjściem stereo (jack 3,5 mm)

Prawie wyprzedane
Moduł DAC PCM5102A z interfejsem I2S przetwarza sygnał cyfrowy na analogowe wyjście stereo przez gniazdo jack 3,5 mm. Do projektów audio z ESP32, Raspberry Pi i innymi urządzeniami.
23.29 PLN
Najniższa cena z ostatnich 30 dni:
Pokazano zgodnie z najniższą ceną z 30 dni przed obniżką.
Dostępne 1 szt
Kod wewnętrzny: 23852614
Liczba jednostek w opakowaniu 1
Jednostka miary
Ilość miary 1
ImportChiny
Waga 0.003 kg

Szczegóły produktu

Moduł DAC PCM5102A zamienia cyfrowy sygnał audio I2S na wysokiej jakości analogowy sygnał stereo. Obsługa 32-bitowych danych audio oraz niski poziom szumów ułatwiają zastosowanie go w różnych projektach dźwiękowych.

Moduł obsługuje częstotliwości próbkowania do 384 kHz i oferuje wyjście stereo jack 3,5 mm. Dzięki interfejsowi I2S i niewielkim rozmiarom sprawdza się w projektach DIY Hi-Fi, odtwarzaczach sieciowych oraz innych urządzeniach audio.

 

🔧 Właściwości:

  • Układ: PCM5102A (Texas Instruments)

  • Interfejs: I2S (DIN, BCK, LCK)

  • Rozdzielczość: do 32 bitów / 384 kHz

  • Napięcie zasilania: 3,3–5 V

  • Wyjście: analogowe stereo, jack 3,5 mm (LOUT, ROUT)

  • Jakość wyjścia: niski poziom szumów, zintegrowane filtry

  • Obsługiwane formaty: I2S, Left Justified

  • Dostępne tryby układu: PCM5100 / PCM5101 / PCM5102A (zworka)

 

📦 Opakowanie zawiera:

  • 1 × moduł PCM5102A

  • 1 × zestaw przewodów Dupont

  • 1 × prosta listwa pinowa

 

⚙️ Ustawianie funkcji za pomocą zworek:

Funkcja Pin HIGH (3,3 V) LOW (GND) Opis
FLT H1L małe opóźnienie (IIR) standardowe opóźnienie (FIR) Wybór filtra; według źródła dla typowej pracy zalecany jest FIR.
DEMP H2L de-emfaza włączona (44,1 kHz) de-emfaza wyłączona Do starszych nagrań z preemfazą; zwykle wyłączona.
XSMT H3L wyciszenie wyłączone, łagodny start wyciszenie aktywne Sterowanie wyciszeniem wyjścia.
FMT H4L Left Justified format I2S W przypadku ESP32 zwykle używany jest format I2S.

 

📌 Uwaga: Punkty konfiguracyjne H1L–H4L mogą nie być ustawione fabrycznie na wszystkich płytkach.
W przypadku ESP32 należy dobrać właściwy format I2S i pozostałe funkcje, w przeciwnym razie PCM5102A może nie odtwarzać dźwięku. Sprawdź układ połączeń danej płytki.

🔧 Zalecane ustawienie dla ESP32:

  • FLT (H1L) = LOW – filtr FIR o standardowym opóźnieniu.

  • DEMP (H2L) = LOW – de-emfaza wyłączona.

  • XSMT (H3L) = HIGH – wyłączenie wyciszenia, łagodny start dźwięku.

  • FMT (H4L) = LOW – standardowy format I2S.

Pin Funkcja Zalecany stan dla ESP32 Działanie
H1L FLT LOW (GND) filtr FIR, standardowe opóźnienie
H2L DEMP LOW (GND) de-emfaza wyłączona
H3L XSMT HIGH (3,3 V) wyciszenie wyłączone
H4L FMT LOW (GND) format I2S

 

Przykład ustawień i połączenia pokazano na zdjęciu poniżej.

 

 

💻 Kod do testowania za pomocą 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'.");
        }
    }
}

Opinie

Brak opinii.