Compacte I2S DAC en versterker voor wie digitale audio rechtstreeks naar een luidspreker wil sturen.
SKU: OT6745 Número do artigo: XV193 EAN: 8720828223635 Localização: F09.07
Alternativa
2x15W Módulo Amplificador de Áudio Digital Mini 8-24V | TPA3110 | HW-714
€ 4,85
Ver esta alternativa
Como ligar o I2S DAC com amplificador de 3W - MAX98357A a um Arduino UNO ou ESP32, com um sketch de exemplo que podes carregar já.
This project demonstrates the MAX98357A I2S amplifier connected to an Arduino Uno and a 3W speaker. Because the AVR-based Arduino Uno does not have a native I2S peripheral, the sketch demonstrates the interface wiring by toggling the control and data pins and outputting status messages to the Serial Monitor at 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
This project plays alternating audio tones through a 3W speaker using the MAX98357A I2S digital audio amplifier. The ESP32 synthesizes 16-bit PCM audio in real time and streams it over the I2S bus directly to the DAC amplifier.
/*
* ==================================================================
* 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
Se procura uma forma fácil e acessível de amplificar os seus ficheiros de áudio digitais, então o MAX98357 I2S Amp Breakout é para si. Recebe entrada de áudio digital I2S padrão e não só a converte para analógico, como também a amplifica diretamente para um altifalante. Perfeito para adicionar som amplificado compacto, combina 2 break-outs (I2S DAC + Amp) num só.
I2S é um protocolo de áudio digital utilizado em placas de circuito para transmitir dados de áudio. Muitos chips e processadores avançados gerem todo o áudio em formato digital I2S. Para introduzir ou sair dados, são usados três ou quatro pinos (data in, data out, bit clock e left-right channel select). Normalmente, para dispositivos de áudio existe um chip DAC que comunica com I2S e o converte para analógico, podendo assim acionar uns auscultadores.
Este pequeno amplificador mono é surpreendentemente potente - pode fornecer 3.2 watts de potência a um altifalante com uma impedância de 4 ohm (com alimentação de 5V e 10% THD). No chip em miniatura existe um controlador de classe D, que funciona com uma tensão de alimentação de 2.7V-5.5VDC. Como o amplificador é de classe D, é extremamente eficiente, tornando-o perfeito para projetos portáteis e alimentados por bateria. Tem proteção térmica e contra sobrecorrente integrada, mas mal notámos que aquecia.
A entrada de áudio é padrão I2S, podendo usar dados lógicos de 3.3V ou 5V. As saídas são "Bridge Tied" - isso significa que são ligadas diretamente às saídas, sem ligação à massa. A saída é uma onda quadrada PWM de ~300KHz que depois é 'média' pela bobina do altifalante - as altas frequências não são ouvidas. Tudo isto significa que não pode ligar a saída a outro amplificador; ela tem de acionar diretamente os altifalantes.
Existe um pino Gain que pode ser ajustado para alterar o ganho. Por defeito, o amplificador fornece 9 dB de ganho. Ao ligar uma resistência pull-up ou pull-down, ou ligando diretamente, o pino Gain pode ser definido para 3 dB, 6 dB, 9 dB, 12 dB ou 15 dB.
O pino ShutDown/Mode pode ser usado para colocar o chip em modo de suspensão ou para definir qual canal de áudio I2S é encaminhado para o altifalante. Por defeito, o amplificador emite uma mistura estéreo (L+R)/2 para saída mono. Ao adicionar uma resistência, pode alterá-lo para saída apenas esquerda ou apenas direita.
Especificações:

| Tensão de alimentação | 2.7V-5.5VDC |
|---|---|
| Potência de saída | 3.2W a 4Ω, 10% THD, 1.8W a 8Ω, 10% THD, com alimentação de 5V |
| PSRR | 77 dB tip. a 1 kHz |
| Cinco ganhos selecionáveis por pino | 3 dB, 6 dB, 9 dB, 12 dB, 15 dB |
| Frequências de amostragem I2S | 8 kHz a 96 kHz |
Ainda sem avaliações.
Não ficas satisfeito? Tens 30 dias após a receção para devolver o produto.
Tudo sobre devoluções
I2S DAC com amplificador de 3W - MAX98357A