TDA2030功放模块使用 音频放大器

该模块为单声道、18W,板载可调电阻用于调节音量。

一、模块说明

这里的左边输入有电源VCC、GND和信号输入IN、GND;输出为OUT和GND。IN可以接PWM信号输入,输出OUT可接喇叭等音频输出设备。

二、连线:

三、代码

这里的程序和前面功放喇叭的代码一样,只是在硬件上音频先通过功放模块在输出给喇叭。


							
   /**
   *    文件: 扬声器喇叭.ino      by 零知实验室([url]www.lingzhilab.com[/url])
   *    -^^- 零知开源,让电子制作变得更简单! -^^-
   *    时间: 2018/10/18 14:33
   *    说明: 
   **/
    
   #include "pitches.h"
    
   #define melodyPin 9
    
   // "HE IS A PIRATE" 加勒比海盗配音
   //int melody[] = {
   //NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4,
   //NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, 
   //NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4,  
   //NOTE_A3, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_F4, 
   //NOTE_F4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_D4,
   //0, NOTE_A3, NOTE_C4, NOTE_B3, NOTE_D4, NOTE_B3, NOTE_E4, NOTE_F4,
   //NOTE_F4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4,
   //NOTE_D4, 0, 0, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_F4,
   //NOTE_G4, NOTE_G4, NOTE_G4, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_G4,
   //NOTE_A4, NOTE_D4, 0, NOTE_D4, NOTE_E3, NOTE_F4, NOTE_F4, NOTE_G4, NOTE_A4, 
   //NOTE_D4, 0, NOTE_D4, NOTE_F4, NOTE_E4, NOTE_E4, NOTE_F4, NOTE_D4
   //};
   //节奏
   //int noteDurations[] = {
   //4,8,4,8,4,8,8,8,8,4,8,4,8,4,8,8,8,8,4,8,4,8,
   //4,8,8,8,8,4,4,8,8,4,4,8,8,4,4,8,8,
   //8,4,8,8,8,4,4,8,8,4,4,8,8,4,4,8,4,
   //4,8,8,8,8,4,4,8,8,4,4,8,8,4,4,8,8,
   //8,4,8,8,8,4,4,4,8,4,8,8,8,4,4,8,8
   //};
    
   //int melody[] = {
   //NOTE_G4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_C5, NOTE_B4, 0, NOTE_G4, NOTE_G4,
   //NOTE_A4, NOTE_G4, NOTE_D5, NOTE_C5, 0, NOTE_G4, NOTE_G4, NOTE_G5, NOTE_E5, 
   //NOTE_C5, NOTE_B4, NOTE_A4, 0, NOTE_F5, NOTE_F5, NOTE_E5, NOTE_C5, NOTE_D5, 
   //NOTE_C5, 0,
   //};
   // 
   //Duration time of each melody
   //int noteDurations[] = {
   //  8,8,4,4,4,4,4,8,
   //  8,4,4,4,4,4,8,8,
   //  4,4,4,4,2,8,8,8,
   //  4,4,4,2,4,
   //};
    
   int melody[] = {
   NOTE_E4, NOTE_E4, NOTE_E4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_G3,
   NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,
   NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,
   NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_C5, NOTE_C5, NOTE_C5,
   NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_D4, NOTE_C4,
   NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4,
   NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3
   };
     
   // note durations: 4 = quarter note, 8 = eighth note, etc.:
   int noteDurations[] = {
   8,4,4,8,4,2,2,
   3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,3,
   3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,2,
   8,8,8,4,4,8,8,4,8,8,3,8,8,8,4,4,4,8,2,
   8,8,8,4,4,8,8,4,8,8,3,3,3,1,
   8,4,4,8,4,8,4,8,2,8,4,4,8,4,1,
   8,4,4,8,4,8,4,8,2
   };
    
   void setup(){
    
       //按音节播放
     for (int thisNote = 0; thisNote < sizeof(melody) / sizeof(melody[0]); thisNote++) {
    
       //一个音节为1000ms,则4分音符为1000/4,以此类推
       int noteDuration = 1000/noteDurations[thisNote];
          
       tone(melodyPin, melody[thisNote],noteDuration);
    
       //延时一段时间以便区分
       int pauseBetweenNotes = noteDuration * 1.3;
       delay(pauseBetweenNotes);
        
       noTone(melodyPin); //停止
     }
     digitalWrite(melodyPin,LOW);
   }
    
   void loop(){
    
   }
						
						

上传到零知板后,可以调节电阻进行音量调节,更换音乐试试吧!