MAX98357 I2S 3 W-os D osztályú DAC audioerősítő
Termék részletei
Főbb jellemzők:
- I2S digitális bemenet: Közvetlen csatlakozást tesz lehetővé mikrokontrollerekhez és digitális hangforrásokhoz (pl. ESP32, Arduino), amely tiszta jelátvitelt garantál felesleges veszteségek nélkül.
- Teljesítmény 3W: A 3W maximális teljesítményével az erősítő képes kis és közepes méretű hangszórók meghajtására, és minőségi hangzást biztosít még nagyobb hangerő mellett is.
- D osztályú technológia: A D osztályú erősítőnek köszönhetően nagy hatékonyság és alacsony energiafogyasztás garantálja az optimális teljesítményt még hosszú távú használat során is.
- Kompakt kialakítás: A kis méretek könnyű integrálást tesznek lehetővé korlátozott helyű eszközökbe, miközben nem csökkentik a kimeneti hang minőségét.
- Egyszerű megvalósítás: Az áttekinthető interfésznek és a különböző rendszerekkel való kompatibilitásnak köszönhetően az erősítő integrálása gyors és problémamentes.
Miért válassza a MAX98357-t?
A MAX98357 I2S interfészes, 3 W-os D osztályú audioerősítő, amely beépített digitális–analóg átalakítóval rendelkezik. Kis mérete és kedvező energiahatékonysága miatt otthoni hangrendszerekhez, hordozható hangszórókhoz és beágyazott alkalmazásokhoz is megfelelő.
Műszaki adatok:
- bemenet: I2S digitális audio bemenet
- Teljesítmény: legfeljebb 3 W egy hangszóró meghajtásához
- technológia: D osztály
- Tápellátás: 5V (VIN)
- Méretek: 17,7 × 19,1 mm
A MAX98357 és az ESP32 használatának lehetőségei:
✅ Egyedi Bluetooth-hangszóró – ESP32 és Bluetooth A2DP használatával vezeték nélküli hanglejátszó építhető.
✅ Wi-Fi internetes rádió – Internetes rádióadás fogható Wi-Fi-n keresztül, és megszólaltatható az I2S erősítővel.
✅ MP3-lejátszó – Az ESP32 SD-kártyáról vagy hálózati forrásból lejátszott hangot továbbíthat az erősítőnek.
✅ Okosotthoni hangértesítések – Automatizált otthoni rendszerhez hangjelzések készíthetők.
✅ Saját hangasszisztens – A MAX98357 hangkimenetként használható beszédet előállító alkalmazásokban.
Az ESP32-höz olyan GPIO-kat kell választani, amelyek kimenetként használhatók és támogatják az I2S jeleket. A kizárólag bemeneti GPIO34, GPIO35, GPIO36 és GPIO39 lábak nem alkalmasak az audiojelek kimenetére. A GPIO-k konkrét kiosztását az ESP32 típusához és a használt szoftverhez kell igazítani.
Javasolt ESP32-lábkiosztás a MAX98357-hez:
| MAX98357 Csap | ESP32 Tű | Funkció |
|---|---|---|
| DIN | IO27 | Digitális audio adatbemenet |
| BCLK | IO26 | Bitfrekvencia |
| LRC | IO25 | Csatorna kapcsoló |
*Az ESP32 Bluetooth A2DP-példaprogram használatához először telepíteni kell a szükséges A2DP-könyvtárat az Arduino IDE-ben.
ESP32 tesztprogram (Bluetooth A2DP audioerősítő)
// 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'.");
}
}
}
Értékelések
Még nincsenek értékelések.



























































