MAX98357 I2S 3 W – wzmacniacz audio klasy D z DAC
Szczegóły produktu
Główne cechy:
- I2S wejście cyfrowe: Umożliwia bezpośrednie połączenie z mikrokontrolerami i cyfrowymi źródłami dźwięku (np. ESP32, Arduino), co gwarantuje czystą transmisję sygnału bez zbędnych strat.
- Wydajność 3W: Dzięki maksymalnej mocy 3W wzmacniacz jest w stanie wysterować małe i średnie głośniki i zapewnić wysoką jakość dźwięku nawet przy wyższych poziomach głośności.
- Technologia klasy D: Wysoka wydajność i niskie zużycie energii dzięki wzmacniaczowi klasy D gwarantują optymalną wydajność nawet podczas długotrwałego użytkowania.
- Kompaktowa konstrukcja: Małe wymiary pozwalają na łatwą integrację z urządzeniami o ograniczonej przestrzeni, nie obniżając jednocześnie jakości wyjściowego dźwięku.
- Prosta implementacja: Dzięki przejrzystemu interfejsowi i kompatybilności z różnymi systemami, integracja wzmacniacza przebiega szybko i bez komplikacji.
Dlaczego warto wybrać MAX98357?
MAX98357 to wzmacniacz audio klasy D o mocy do 3 W, wyposażony w wejście cyfrowe I2S i zintegrowany przetwornik cyfrowo-analogowy. Niewielkie wymiary i wysoka sprawność sprawiają, że nadaje się do domowych systemów audio, głośników przenośnych i urządzeń wbudowanych.
Dane techniczne:
- Wejście: I2S cyfrowe wejście audio
- Moc: do 3 W dla pojedynczego głośnika
- Technologia: Klasa D
- Zasilanie: 5V (VIN)
- Wymiary: 17,7 × 19,1 mm
Możliwości wykorzystania MAX98357 z ESP32:
✅ Głośnik Bluetooth DIY – Z ESP32 i Bluetooth A2DP można zbudować bezprzewodowy odtwarzacz audio.
✅ Radio internetowe przez Wi-Fi – Odbieraj stacje internetowe przez Wi-Fi i odtwarzaj dźwięk za pośrednictwem wzmacniacza I2S.
✅ Odtwarzacz MP3 – ESP32 może odtwarzać dźwięk z karty SD lub sieci przez ten wzmacniacz.
✅ Powiadomienia głosowe inteligentnego domu – Dodaj sygnały dźwiękowe do systemu automatyki domowej.
✅ Własny asystent głosowy – MAX98357 może służyć jako wyjście audio w aplikacjach generujących mowę.
Do połączenia z ESP32 należy wybrać piny GPIO obsługujące sygnały I2S w trybie wyjściowym. Piny GPIO34, GPIO35, GPIO36 i GPIO39 są wyłącznie wejściowe, dlatego nie nadają się do wyprowadzania sygnałów audio. Dobór pozostałych pinów zależy od wersji ESP32 i używanego oprogramowania.
Zalecane piny ESP32 dla MAX98357:
| MAX98357 Sworzeń | ESP32 Sworzeń | Funkcjonować |
|---|---|---|
| DIN | IO27 | Cyfrowe wejście danych audio |
| BCLK | IO26 | Częstotliwość bitowa |
| LRC | IO25 | Przełącznik kanałów |
*Przed użyciem przykładowego programu Bluetooth A2DP dla ESP32 należy zainstalować odpowiednią bibliotekę A2DP w Arduino IDE.
Kod testowy ESP32 (wzmacniacz Bluetooth A2DP)
// 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.



























































