Amplificator audio digital MAX98357 I²S, DAC clasa D, 3 W
Detalii produs
Caracteristici principale:
- Intrare digitală I2S: permite conectarea directă la microcontrolere și surse audio digitale (de exemplu ESP32, Arduino), asigurând transmiterea curată a semnalului fără pierderi inutile.
- Putere de 3W: cu o putere maximă de 3W, amplificatorul poate alimenta difuzoare mici și medii, oferind sunet de calitate inclusiv la volum mai ridicat.
- Tehnologie Class D: eficiența mare și consumul redus de energie datorate amplificării în clasa D oferă performanțe optime chiar și la utilizare îndelungată.
- Design compact: dimensiunile mici permit integrarea în dispozitive cu spațiu limitat, fără a reduce calitatea sunetului de ieșire.
- Implementare simplă: interfața clară și compatibilitatea cu diferite sisteme facilitează integrarea rapidă și fără complicații.
De ce să alegeți MAX98357?
Amplificatorul MAX98357 I2S 3W Class D a fost conceput pentru calitate audio și eficiență energetică. Convertorul digital-analogic integrat asigură o reproducere fidelă și lină a semnalului, contribuind la obținerea unui sunet curat și detaliat. Datorită versatilității este potrivit pentru numeroase aplicații, de la sisteme audio de acasă și difuzoare portabile până la proiecte audio profesionale.
Specificații tehnice:
- Intrare: semnal audio digital I2S
- Putere: până la 3W pentru un difuzor
- Tehnologie: Class D
- Alimentare: 5V (VIN)
- Dimensiuni: [17.7mm X 19.1mm]
Posibile utilizări ale MAX98357 cu ESP32:
✅ Difuzor Bluetooth personalizat – Asociați ESP32 cu Bluetooth A2DP și creați un player audio wireless. ✅
Radio WiFi prin internet – Transmiteți posturi radio online prin WiFi și redați-le prin amplificatorul
I2S. ✅ Player MP3 – Folosiți ESP32 pentru a reda fișiere MP3 de pe card SD sau internet.
✅ Notificări sonore smart home – Creați alerte sonore inteligente pentru locuință. ✅ Proiecte audio
și dispozitive interactive – Utilizați ESP32 și MAX98357 pentru ieșire audio digitală.
Pentru conectarea la ESP32 trebuie aleși pini corespunzători, care acceptă protocolul I2S. Nu folosiți pini ESP32 destinați exclusiv intrării (input-only), deoarece aceștia nu pot genera semnalul audio de ieșire. În afara pinilor IO34, IO35, IO36 și IO39, ceilalți pini ESP32 sunt compatibili cu MAX98357 și pot fi utilizați pentru comunicație I2S.
Pini ESP32 recomandați pentru MAX98357:
| Pin MAX98357 | Pin ESP32 | Funcție |
|---|---|---|
| DIN | IO27 | Intrare de date audio digitale |
| BCLK | IO26 | Frecvență de bit |
| LRC | IO25 | Selectarea canalului |
*Pentru a utiliza modulul MAX98357 trebuie să instalați mai întâi biblioteca A2DP în Arduino IDE.
Cod de testare cu ESP32 (AMPLIFICATOR AUDIO BLUETOOTH)
// 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'.");
}
}
}
Recenzii
Nu există încă recenzii.



























































