数码之家

 找回密码
 立即注册
搜索
查看: 1389|回复: 10

[Arduino] esp32做蓝牙音响,可以改名字,调音量

[复制链接]
发表于 2022-11-30 08:11:28 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x

#include "BluetoothA2DPSink.h"

BluetoothA2DPSink a2dp_sink;

#define I2S_DOUT      25
#define I2S_BCLK      27
#define I2S_LRC       26

   i2s_pin_config_t  my_pin_config =
     {
        .bck_io_num = 27,
        .ws_io_num = 26,
        .data_out_num = 25,
        .data_in_num = I2S_PIN_NO_CHANGE
    };

    a2dp_sink.set_pin_config(my_pin_config);
    a2dp_sink.start("ESP32Music");

a2dp_sink.set_volume(  yingliang  ); //21

,,
,

lanya_ok_eerom_ok_222222222.rar

1.47 KB, 下载次数: 1, 下载积分: 家元 -55

打赏

参与人数 1家元 +60 收起 理由
家睦 + 60

查看全部打赏

发表于 2022-11-30 08:57:16 | 显示全部楼层
玩程式的大佬
回复 支持 反对

使用道具 举报

发表于 2022-11-30 08:58:51 | 显示全部楼层
这个代码实在看不懂。
回复 支持 1 反对 0

使用道具 举报

发表于 2022-11-30 09:53:06 | 显示全部楼层
大佬们都很厉害  就是现在的附件下载真是贵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-30 10:36:51 | 显示全部楼层
,用屏幕显示,

ESP32链接 NS4168功放芯片,再链接;喇叭就可以了
,


, 149a1f0dd1c8a8b938d70a93c3cff8b.jpg
,
2008ba2d20b3b539ffe4fc8e3c3bf60.png

,
//========程序全文


  1. #include <EEPROM.h>



  2. #include "BluetoothA2DPSink.h"




  3. BluetoothA2DPSink a2dp_sink;


  4. //===========esp32  对应 NS4168功放芯片脚位
  5. #define   pken    12   //    CTRL脚 1

  6. #define I2S_DOUT      25 //4
  7. #define I2S_BCLK      27//3
  8. #define I2S_LRC       26//2












  9.     #define   key1    0    //



  10. #define   copy_key1     15    // 收藏


  11. #define   xia_key1     2    //=========调节音量

  12. #define  bof_mode_key1     0    //

  13. #define   shang_key1    4    //=======调节音量

  14. #define   set_key1     5    //


  15. unsigned char yingliang;

  16. unsigned char  bkyingliang;

  17. bool  ksf;
  18. bool kxf;



  19. void setup()
  20. {

  21.     delay(10);

  22.    
  23.   Serial.begin(115200);
  24.   Serial.println("");

  25. pinMode( copy_key1   ,INPUT_PULLUP);    //定义 为带上拉输入引脚  
  26.   pinMode( xia_key1  ,INPUT_PULLUP);    //定义 为带上拉输入引脚  
  27.    pinMode(  bof_mode_key1  ,INPUT_PULLUP);    //定义 为带上拉输入引脚  
  28.     pinMode(  shang_key1  ,INPUT_PULLUP);    //定义 为带上拉输入引脚  
  29.      pinMode(  set_key1  ,INPUT_PULLUP);    //定义 为带上拉输入引脚  



  30.    delay(45);
  31. Serial.print("DR0;"); //DR0;
  32. Serial.print("CLS(0);"); //CLS(0);
  33. Serial.print("DS16(10,2,'\xC0\xB6\xD1\xC0',15);"); //DS16(0,0,'蓝牙',15);
  34. Serial.print("DS32(10,40,'ESP32Music',2,0);"); //
  35. Serial.print("\r\n");

  36.     delay(45);


  37.   delay(100);
  38.   EEPROM.begin(128);


  39.   delay(100);




  40.   
  41.   Serial.println("");




  42. int eeg = EEPROM.read( 7 );


  43.    Serial.print("===读取储存7=");


  44.   Serial.println(  eeg );
  45.   

  46. if(  eeg  != 8 )
  47. {

  48.   
  49.   yingliang=0x50;


  50.   
  51.   EEPROM.write(7, 8 );



  52.    EEPROM.write(6 ,  0x50 );//80  % 音量
  53.   EEPROM.commit();

  54.   delay( 22 );

  55.   
  56. }




  57. eeg = EEPROM.read( 7 );


  58.    Serial.print("===读取储存7=");


  59.   Serial.println(  eeg );


  60.   delay( 22 );
  61. yingliang =  EEPROM.read( 6 )  ;
  62.   delay( 22 );


  63.   Serial.print("===读取储存音量=");


  64.   Serial.println(  yingliang );


  65. if( yingliang<=0)
  66. yingliang=0;
  67. if( yingliang>=99)
  68.   yingliang=99;
  69.   

  70. bkyingliang =yingliang+1;

  71.   

  72.    pinMode( pken , OUTPUT );// 喇叭

  73.   delay( 22 );

  74.         digitalWrite( pken ,  0  );

  75.   delay( 22 );

  76.    i2s_pin_config_t  my_pin_config =
  77.      {
  78.         .bck_io_num = 27,
  79.         .ws_io_num = 26,
  80.         .data_out_num = 25,
  81.         .data_in_num = I2S_PIN_NO_CHANGE
  82.     };

  83.    
  84.     a2dp_sink.set_pin_config(my_pin_config);
  85.     a2dp_sink.start("ESP32Music");//蓝牙名称




  86. a2dp_sink.set_volume(  yingliang  ); //21

  87.   delay( 200 );

  88.         digitalWrite( pken ,  1  );

  89.   delay( 22 );
  90.   
  91. }



  92. String daosstt="";







  93. void loop()
  94. {




  95. //====================================
  96. //========= 调节音量 并断电保存
  97.    if (digitalRead(  xia_key1 )==0 )
  98.    {

  99. if(kxf)
  100. {
  101.   kxf=0;
  102.   if(yingliang>0)  
  103. yingliang--;

  104. }
  105.    
  106.    }
  107.    else
  108.    {

  109.     kxf=1;
  110.    }

  111.       if (digitalRead( shang_key1  )==0 )
  112.       {
  113. if(ksf)
  114. {
  115.   ksf=0;
  116. if(yingliang<99)  
  117. yingliang++;


  118. }
  119.         
  120.       }
  121.       else
  122.       {


  123.         ksf=1;
  124.       }



  125. if(bkyingliang !=yingliang)
  126. {
  127.   
  128. bkyingliang =yingliang;


  129.   a2dp_sink.set_volume(  yingliang  ); //21


  130. daosstt="";
  131. daosstt+="DS32(10,90,'";
  132. if(yingliang<10)
  133. daosstt+="0";
  134. daosstt+= String( yingliang );
  135. daosstt+="',4,0);";
  136. daosstt+="\r\n";
  137. Serial.print(  daosstt );

  138.     delay(35 );
  139.    
  140.    EEPROM.write(6 ,  yingliang );
  141.    EEPROM.commit();
  142.   
  143.    delay(35 );
  144.   

  145. }


  146.    delay(1);

  147.   
  148. }


复制代码





回复 支持 反对

使用道具 举报

发表于 2022-11-30 11:39:46 | 显示全部楼层
本帖最后由 devcang 于 2022-11-30 11:43 编辑
beiling 发表于 2022-11-30 09:53
大佬们都很厉害  就是现在的附件下载真是贵

嗯   

咱只看看先了。。。。


是不是这个贴 https://www.mydigit.cn/thread-272695-1-1.html
回复 支持 反对

使用道具 举报

发表于 2022-11-30 13:55:51 | 显示全部楼层
貌似我还有I2S的板子,回头试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-3 23:53:36 | 显示全部楼层
,
,
,
9fef5853e559eb3ca49b41376825c0d.jpg ,
1394a5a772badde65054e639b4c93c4.jpg ,
,
035cd967ce2aae306a50a78115ff8ac.jpg ,
,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-4 16:22:45 | 显示全部楼层

16:18:28.319 -> ======网络歌曲=获取=== dj
16:18:28.412 -> ===mp3_http_get== 网络获取歌曲==========
16:18:28.974 -> PS32(1,130,82,'59',15,0);
16:18:29.021 ->
16:18:29.021 -> ====长度=:  82072

16:18:32.578 -> ==传输 长度=:  82072
16:18:32.578 -> ==获取到曲目=:  100
16:18:32.624 -> ==节目[ 1 ] =:2002190019-->羊了个羊
16:18:32.624 -> ==节目[ 2 ] =:2002979119-->Down lowly 越鼓
16:18:32.624 -> ==节目[  100 ] =:-->
回复 支持 反对

使用道具 举报

发表于 2022-12-10 23:37:45 | 显示全部楼层
厉害,手头一堆esp32,收藏吃灰
回复 支持 反对

使用道具 举报

发表于 2022-12-15 22:04:32 | 显示全部楼层
esp23d的EEPROM应该是flash模拟的,掉电就恢复了应该用Preferences.h
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-3-29 17:34 , Processed in 0.124800 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表