Encomendado em dias úteis antes das 14:00 = enviado no mesmo dia e, em 98% dos casos, entregue no dia seguinte. Devolução gratuita 30 dias para refletir 1 ano de garantia

Esquema de ligação e exemplo de código

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á.

MAX98357A I2S Amplifier Demo

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.

Esquema de ligação: I2S DAC com amplificador de 3W - MAX98357A num Arduino UNO
Esquema de ligação · Clique para ampliar
Tabela de ligação: I2S DAC com amplificador de 3W - MAX98357A num Arduino UNO
Tabela de ligação · Clique para ampliar
MAX98357A_I2S_Amplifier_Demo.ino · compilado e testado
/*
 * ==================================================================
 *  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

ESP32 I2S Audio Tone Generator with MAX98357A

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.

Esquema de ligação: I2S DAC com amplificador de 3W - MAX98357A num ESP32 DevKit V1
Esquema de ligação · Clique para ampliar
Tabela de ligação: I2S DAC com amplificador de 3W - MAX98357A num ESP32 DevKit V1
Tabela de ligação · Clique para ampliar
ESP32_I2S_Audio_Tone_Generator_with_MAX9.ino · compilado e testado
/*
 * ==================================================================
 *  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

I2S DAC com amplificador de 3W - MAX98357A

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ó.

O que é I2S?

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:

  • 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 typ. a 1 kHz
  • Frequências de amostragem I2S de 8 kHz a 96 kHz
  • Não requer MCLK
  • Redução de Click + Pop
  • Cinco ganhos selecionáveis por pino: 3 dB, 6 dB, 9 dB, 12 dB, 15 dB
  • Proteção de desligamento térmico
  • Fornecido com 7 pinos header e 2 terminais de parafuso

 

  • I2S DAC
  • Mono-uitgang
  • Versterking instelbaar
  • Klasse D

Por que escolher este produto?

  • Twee functies samen – I2S DAC en versterker in één
  • Direct naar luidspreker – Stuurt de luidspreker rechtstreeks aan
  • Instelbare versterking – Keuze uit 3 dB tot 15 dB
  • Efficiënt ontwerp – Geschikt voor draagbare projecten
  • Beschermd gebruik – Thermische en overstroombeveiliging
Especificações
Tensão de alimentação2.7V-5.5VDC
Potência de saída3.2W a 4Ω, 10% THD, 1.8W a 8Ω, 10% THD, com alimentação de 5V
PSRR77 dB tip. a 1 kHz
Cinco ganhos selecionáveis por pino3 dB, 6 dB, 9 dB, 12 dB, 15 dB
Frequências de amostragem I2S8 kHz a 96 kHz

Na embalagem

  • I2S DAC met 3W versterker - MAX98357A
  • 7 × header pins
  • 2 × schroefterminals

Frequentemente comprados juntos

Total: € 17,35

Avaliações

Ainda sem avaliações.

Escrever uma avaliação
A tua avaliação

Envio & devoluções

Envio

  • Pacote com Track & Trace€ 6,20Alemanha 1-3, França 2-3, Espanha/Itália 2-4, outros países 3-5 dias úteis
  • Pacote com Track & Trace€ 7,35Alemanha 1-3, França 2-3, Espanha/Itália 2-4, outros países 3-5 dias úteis
  • Pacote com Track & Trace€ 8,50Alemanha 1-3, França 2-3, Espanha/Itália 2-4, outros países 3-5 dias úteis
  • Pacote com Track & Trace€ 9,15Alemanha 1-3, França 2-3, Espanha/Itália 2-4, outros países 3-5 dias úteis
Tudo sobre envios

Devoluções

Não ficas satisfeito? Tens 30 dias após a receção para devolver o produto.

Tudo sobre devoluções

Vistos recentemente

Acoplamento para Roda 18 mm / 4 mm

Acoplamento para Roda 18 mm / 4 mm

€ 2,10