Компактен I2S DAC и усилвател за тези, които искат да подадат цифрово аудио директно към високоговорител.
SKU: OT6745 Артикулен номер: XV193 EAN: 8720828223635 Местоположение: F09.07
Алтернатива
2x15W Цифров мини аудио усилвател 8-24V модул | TPA3110 | HW-714
€ 4,85
Виж тази алтернатива
Ето как да свържеш I2S DAC с 3W усилвател - MAX98357A към Arduino UNO или ESP32, с примерен sketch, който можеш да качиш веднага.
Този проект показва I2S усилвателя MAX98357A, свързан към Arduino Uno и 3W високоговорител. Тъй като базираният на AVR Arduino Uno няма вграден I2S периферен модул, sketch-ът демонстрира свързването на интерфейса чрез превключване на control и data pin-овете и извеждане на статус съобщения в Serial Monitor при 115200 baud.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : MAX98357A I2S Amplifier Demo
* Board : Arduino UNO (arduino:avr:uno)
* Parts : 3W amplifier MAX98357A I2S DAC
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
// MAX98357A I2S Amplifier wiring and basic test sketch
// Note: AVR Arduino Uno does not have hardware I2S.
// This sketch verifies pin connections and demonstrates signal pulsing.
const uint8_t PIN_BCLK = 9;
const uint8_t PIN_LRC = 8;
const uint8_t PIN_DIN = 10;
const unsigned int toneHz = 440;
const unsigned long toneOnMs = 1000;
const unsigned long toneOffMs = 500;
void outputPulse(unsigned long durationMs, unsigned int frequencyHz) {
unsigned long start = millis();
unsigned long halfPeriodUs = 500000UL / frequencyHz;
while (millis() - start < durationMs) {
digitalWrite(PIN_DIN, HIGH);
delayMicroseconds(halfPeriodUs);
digitalWrite(PIN_DIN, LOW);
delayMicroseconds(halfPeriodUs);
}
}
void setup() {
pinMode(PIN_BCLK, OUTPUT);
pinMode(PIN_LRC, OUTPUT);
pinMode(PIN_DIN, OUTPUT);
digitalWrite(PIN_BCLK, LOW);
digitalWrite(PIN_LRC, LOW);
digitalWrite(PIN_DIN, LOW);
Serial.begin(115200);
Serial.println(F("MAX98357A Amplifier Test"));
Serial.println(F("Pins initialized: BCLK=9, LRC=8, DIN=10"));
}
void loop() {
Serial.println(F("Signal ON (440 Hz pulse)"));
outputPulse(toneOnMs, toneHz);
Serial.println(F("Signal OFF"));
digitalWrite(PIN_DIN, LOW);
delay(toneOffMs);
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online
Този проект възпроизвежда редуващи се аудио тонове през 3W високоговорител с помощта на цифровия I2S аудио усилвател MAX98357A. ESP32 синтезира 16-bit PCM аудио в реално време и го предава директно към DAC усилвателя през I2S шината.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : ESP32 I2S Audio Tone Generator with MAX98357A
* Board : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
* Parts : 3W amplifier MAX98357A I2S DAC
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
#include <Arduino.h>
#include "driver/i2s.h"
#include <math.h>
#define I2S_BCLK 26
#define I2S_LRC 25
#define I2S_DIN 22
#define SAMPLE_RATE 44100
void setup() {
Serial.begin(115200);
i2s_config_t i2s_config = {
.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX),
.sample_rate = SAMPLE_RATE,
.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,
.communication_format = I2S_COMM_FORMAT_STAND_I2S,
.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,
.dma_buf_count = 8,
.dma_buf_len = 64,
.use_apll = false,
.tx_desc_auto_clear = true
};
i2s_pin_config_t pin_config = {
.bck_io_num = I2S_BCLK,
.ws_io_num = I2S_LRC,
.data_out_num = I2S_DIN,
.data_in_num = I2S_PIN_NO_CHANGE
};
i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL);
i2s_set_pin(I2S_NUM_0, &pin_config);
Serial.println("MAX98357A I2S Tone Generator Ready!");
}
void playTone(float freq, int durationMs) {
int totalSamples = (SAMPLE_RATE * durationMs) / 1000;
size_t bytesWritten;
int16_t buffer[128];
float phaseStep = 2.0 * PI * freq / SAMPLE_RATE;
float phase = 0.0;
int samplesRemaining = totalSamples;
while (samplesRemaining > 0) {
int toWrite = min(64, samplesRemaining);
for (int i = 0; i < toWrite; i++) {
int16_t sample = (int16_t)(sin(phase) * 6000.0);
buffer[i * 2] = sample; // Left channel
buffer[i * 2 + 1] = sample; // Right channel
phase += phaseStep;
if (phase >= 2.0 * PI) phase -= 2.0 * PI;
}
i2s_write(I2S_NUM_0, buffer, toWrite * sizeof(int16_t) * 2, &bytesWritten, portMAX_DELAY);
samplesRemaining -= toWrite;
}
}
void loop() {
Serial.println("Playing 440 Hz (A4)...");
playTone(440.0, 400);
delay(100);
Serial.println("Playing 880 Hz (A5)...");
playTone(880.0, 400);
delay(1000);
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online
Ако търсите лесен и достъпен начин да усилите своите цифрови аудиофайлове, MAX98357 I2S Amp Breakout е точно за вас. Той приема стандартен I2S цифров аудио вход и не само го декодира до аналогов, но и го усилва директно към високоговорител. Перфектен за добавяне на компактно усилен звук, той комбинира 2 break-outs (I2S DAC + Amp) в едно.
I2S е цифров аудио протокол, използван върху платки за предаване на аудио данни. Много усъвършенствани чипове и процесори управляват целия звук в цифров I2S формат. За въвеждане или извеждане на данни се използват три или четири пина (data in, data out, bit clock и left-right channel select). Обикновено при аудио устройства има DAC чип, който работи с I2S и го преобразува в аналогов сигнал, способен да задвижи слушалки.
Този малък моно усилвател е изненадващо мощен - може да достави 3.2 watt мощност към високоговорител с импеданс 4 ohm (при 5V захранване и 10% THD). В миниатюрния чип има клас D контролер, който работи при захранващо напрежение 2.7V-5.5VDC. Тъй като усилвателят е клас D, той е изключително ефективен, което го прави идеален за преносими и батерийно захранвани проекти. Има вградена термична и защита от свръхток, но почти не забелязахме да се загрява.
Аудио входът е по I2S стандарт, можете да използвате 3.3V или 5V логически данни. Изходите са "Bridge Tied" - това означава, че са свързани директно към изходите, без връзка към маса. Изходът е ~300KHz правоъгълен PWM сигнал, който след това се 'усреднява' от намотката на високоговорителя - високите честоти не се чуват. Всичко това означава, че не можете да свържете изхода към друг усилвател, той трябва да управлява високоговорителите директно.
Има Gain пин, който може да се регулира, за да се промени усилването. По подразбиране усилвателят дава 9 dB усилване. Чрез свързване на pull-up или pull-down резистор, или директно окабеляване, Gain пинът може да бъде настроен на 3 dB, 6 dB, 9 dB, 12 dB или 15 dB.
Пинът ShutDown/Mode може да се използва, за да постави чипа в режим на заспиване или да зададе кой I2S аудио канал да бъде насочен към високоговорителя. По подразбиране усилвателят извежда (L+R)/2 стерео микс към моно изход. Чрез добавяне на резистор можете да го промените на само ляв или само десен изход.
Спецификации:

| Захранващо напрежение | 2.7V-5.5VDC |
|---|---|
| Изходна мощност | 3.2W при 4Ω, 10% THD, 1.8W при 8Ω, 10% THD, при 5V захранване |
| PSRR | 77 dB тип. при 1 kHz |
| Пет пина с избираемо усилване | 3 dB, 6 dB, 9 dB, 12 dB, 15 dB |
| I2S честоти на семплиране | 8 kHz до 96 kHz |
Все още няма отзиви.
I2S DAC с 3W усилвател - MAX98357A