HS-F33-L Audio Amplifier Modul

HS-F33-L Audio Amplifier Modul

1、Einführung

Der Audio-Vermehrer-Modul ist ein elektronisches Modul zur Verstärkung der Audiosignal-Leistung, das die schwachen Audiosignalströme (z.B. von Mikrofonen, Playern ausgehende Signale) verstärkt, die Spannung und den Strom des Signals erhöht und das Klangvolumen und die Klarheit verbessert.Verstärkte Audiosignale werden vom Modul ausgegeben und an Lautsprecher und andere Lastgeräte angeschlossen, um die Last zu beschleunigen und zu tönen.Achtung: Die Leistung des UNO-Entwicklerboards ist nicht ausreichend, um das Modul anzusteuern.

2、Schemazeichnung

3、Modulparameter

Pinbezeichnung

Beschreibung

G

GND(Spannungsversorgungsminus)

V

VCC(Spannungsversorgungsplus)

LRCLK

links-rechts Taktleitung

BCLK

Bit-Taktleitung

DIN

Daten-Eingangsleitung

  • Versorgungsspannung: 3.3-5V

  • Verbindungsmethode: PH2.0 4P Steckerkabel

  • Montageart: Bausteine fest

4, Platinegröße

5、Arduino Bibliothek hinzufügen

Hier ist der Bezug für die Verwendung der Bibliothek:Bibliothek installieren und verwenden

Bibliothek herunterladen: 2、第二步将UNO开发板的库文件下载后解压在桌面。

Das heruntergeladene Arduino-Bibliothekarchiv entpacken Sie auf den Schreibtisch und legen Sie es in das Arduino-Libraries-Verzeichnis.

6、添加MicroPython环境库文件

库ファイルをインストールできない場合は、ここをクリックしてください:参照リンク

7、Arduino IDE Beispielprogramm

ESP32開発ボード用のサンプルプログラム:ダウンロードをクリックしてください

#define SAMPLE_RATE (44100)
#define I2S_MIC_WS (12)
#define I2S_MIC_SD (14)
#define I2S_MIC_BCK (13)
#define I2S_PORT_0 (I2S_NUM_0)
#define bufferLen (1024)
#define SAMPLE_RATE (44100)
#define bufferLen (1024)
#define I2S_SPK_DIN (25)
#define I2S_SPK_BCLK (27)
#define I2S_SPK_LRCLK (26)
#define I2S_PORT_1 (I2S_NUM_1)
#include "Arduino.h"
#include "driver/i2s.h"
#include "Arduino.h"
#include "driver/i2s.h"

int16_t sBuffer_RX[bufferLen];
size_t bytesIn = 0;
int16_t sBuffer_TX[bufferLen*2];
size_t bytesOut = 0;

void I2s_Mic_Init()
 {
   i2s_config_t i2s_config_RX{};
   i2s_config_RX.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX);
   i2s_config_RX.sample_rate = SAMPLE_RATE;
   i2s_config_RX.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT;
   i2s_config_RX.channel_format = I2S_CHANNEL_FMT_ONLY_LEFT;
   i2s_config_RX.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB);
   i2s_config_RX.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1;
   i2s_config_RX.dma_buf_count = 8;
   i2s_config_RX.dma_buf_len = bufferLen;
   i2s_config_RX.use_apll = false;
   i2s_driver_install(I2S_PORT_0, &i2s_config_RX, 0, NULL);
   i2s_pin_config_t pin_config_RX{};
   pin_config_RX.mck_io_num = I2S_PIN_NO_CHANGE;
   pin_config_RX.bck_io_num = I2S_MIC_BCK;
   pin_config_RX.ws_io_num = I2S_MIC_WS;
   pin_config_RX.data_out_num = I2S_PIN_NO_CHANGE;
   pin_config_RX.data_in_num = I2S_MIC_SD;
   i2s_set_pin(I2S_PORT_0, &pin_config_RX);
   i2s_start(I2S_PORT_0);
 }
int16_t* Mic_Value()
 {
   i2s_read(I2S_PORT_0, sBuffer_RX, sizeof(sBuffer_RX), &bytesIn, portMAX_DELAY);
   for (int i = 0; i < bufferLen; i++)
   {
     sBuffer_RX[i] = sBuffer_RX[i]*2;
     if (sBuffer_RX[i] > (32767))
       sBuffer_RX[i] = (32767);
     else if (sBuffer_RX[i] < (-32768))
       sBuffer_RX[i] = (-32768);
   }
   return sBuffer_RX;
 }
void I2s_Spk_Init()
 {
   i2s_config_t i2s_config_TX{};
   i2s_config_TX.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX);
   i2s_config_TX.sample_rate = SAMPLE_RATE;
   i2s_config_TX.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT;
   i2s_config_TX.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT;
   i2s_config_TX.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB);
   i2s_config_TX.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1;
   i2s_config_TX.dma_buf_count = 8;
   i2s_config_TX.dma_buf_len = bufferLen;
   i2s_config_TX.use_apll = false;
   i2s_driver_install(I2S_PORT_1, &i2s_config_TX, 0, NULL);
   i2s_pin_config_t pin_config_TX{};
   pin_config_TX.mck_io_num = I2S_PIN_NO_CHANGE;
   pin_config_TX.bck_io_num = I2S_SPK_BCLK;
   pin_config_TX.ws_io_num = I2S_SPK_LRCLK;
   pin_config_TX.data_out_num = I2S_SPK_DIN;
   pin_config_TX.data_in_num = I2S_PIN_NO_CHANGE;
   i2s_set_pin(I2S_PORT_1, &pin_config_TX);
   i2s_start(I2S_PORT_1);
 }
void Spk_Value(int16_t* sBuffer_RX)
 {
   for (int i = 0; i < bufferLen; i++)
   {
     sBuffer_TX[i*2] = sBuffer_RX[i];
     sBuffer_TX[i*2+1] = sBuffer_RX[i];
   }
   i2s_write(I2S_PORT_1, sBuffer_TX, sizeof(sBuffer_TX), &bytesOut, portMAX_DELAY);
 }

void setup(){
  I2s_Mic_Init();
  I2s_Spk_Init();
}

void loop(){
  Spk_Value(Mic_Value());
}

ESP32-S3開発ボード用のサンプルプログラム:ダウンロードをクリックしてください

8, Mixly-Beispielprogramm (Graphische Sprache)

Mixly-Bibliothek von Misqii (ESP32-Entwicklungsboard in C-Sprache):2、第二步将UNO开发板的库文件下载后解压在桌面。

示例程序 (ESP32 开发板-c语言版本):2、第二步将UNO开发板的库文件下载后解压在桌面。

米思齐 Mixly库文件(ESP32-S3开发板-c语言版本):Klicken Sie zum Herunterladen

Beispielprogramm (ESP32-S3-Entwicklungsboard - C-Sprachversion):Klicken Sie zum Herunterladen

9, Testumgebung aufbauen

Arduino ESP32 Testumgebung einrichten

Vorbereiten Sie die Komponenten:

  • ESP32 Entwicklungsboard *1

  • ESP32 EXP1 Erweiterungsplatine *1

  • USB type-c Datenkabel *1

  • HS-S05C-L Omni-Directional Mikrofonmodul*1

  • HS-F33-L Audio Verstärkermodul*1

  • PH2.0 5P PH2.0 Stecker auf Dupont Kabel umwandeln *2

Schaltplan der Leitung:

ESP32 Python Testumgebung Einrichtung

10、Video-Tutorial

Arduino UNO Video-Tutorial:Klicken, um anzuzeigen

ESP32 Python Videoanleitung:

11、Testergebnis

Arduino UNO Testergebnis:

Entdecke die Kombination mit einem omnidirektionalen Mikrofonmodul, um den vollständigen Audio-Pfad von „Klangabtastung - Audioverstärkung - Klangwiedergabe“ zu realisieren