久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9789|回復: 14
收起左側

PT2315/TDA7315音量音調控制 Arduino庫 源程序

  [復制鏈接]
ID:190270 發(fā)表于 2017-4-16 22:33 | 顯示全部樓層 |閱讀模式
一直用ICCAVR,單片機幾天不用又要重新查資料,直到遇到Arduino.
一直都索取,今天我也來奉獻點力量--PT2315庫。
其實很早就想寫,但是一直就是懶,每天在網上搜“Arduino控制PT2315”,一直都找不到,哈哈。
PT2315是干什么的?喜歡玩音響的應該不陌生,與PT2313、PT2314功能差不多。
英語不是我的母語,所以能用中文的,我不會用英文,相信大家應該都看得懂。
庫里面有兩個例子,一個簡單,內容:
#include <PT2315.h>
PT2315 pt2315;
void setup() {
   // put your setup code here, to run once:
pt2315.init();//對音量、高音、低音等初始化

}

void loop() {
   // put your main code here, to run repeatedly:
if(音量) pt2315.volume(vVal); //vVal=0~63
if(高音) pt2315.treble(hVal); //hVal=0~7
if(低音) pt2315.bass(lVal);//lVal=0~7
if(等響度) pt2315.loudness(true);//true等響度打開,false關閉
}

另一個則是我現(xiàn)在正在使用中的成品,AT5104紅外發(fā)射(電風扇搖控)+紅外搖控+DS3231時間芯片+PT2315(音效控制)+12V共陽數(shù)碼管顯示時間和音量及溫度等.
代碼較長,就不貼出來了,大家下載來看吧。

0.png
PT2315_TEST:
是PT2315的簡單運用,單獨不能運行的。

MySMG:
AT5104+DS3231+紅外搖控+PT2315+12V共陽數(shù)碼管
用于電子音效控制、數(shù)碼顯示音響

下載:
PT2315.rar (4.15 KB, 下載次數(shù): 118)
回復

使用道具 舉報

ID:1 發(fā)表于 2017-4-16 22:39 | 顯示全部樓層
PT2315.h文件內容:
  1. /*
  2. 通過TWI對PT2315的音量、高音、低音、等響度進行控制
  3. 音量控制范圍0~63 例:volume(12);
  4. 高音和低音的控制范圍0~7.例:treble(7);//高音  bass(3);//低音
  5. 等響度打開與關閉 例:loudness(1);
  6. */

  7. #ifndef PT2315_h
  8. #define PT2315_h

  9. /*-------------------------------------------------*/
  10. #include "Arduino.h"
  11. #define uchar unsigned char

  12. #define START 0x08
  13. #define RE_START 0x10
  14. #define MT_SLA_ACK 0x18
  15. #define MT_SLA_NOACK 0x20
  16. #define MT_DATA_ACK 0x28
  17. #define MT_DATA_NOACK 0x30
  18. #define MR_SLA_ACK 0x40
  19. #define MR_SLA_NOACK 0x48
  20. #define MR_DATA_ACK 0x50
  21. #define MR_DATA_NOACK 0x58

  22. #define RD_DEVICE_ADDR 0x80

  23. #define Start() TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN) //發(fā)出 START 信號
  24. #define Stop()  TWCR=(1<<TWINT)|(1<<TWEN)|(1<<TWSTO)
  25. #define Wait()  {while(!(TWCR & (1<<TWINT)));}  //等待 TWINT 置位
  26. #define TestAck() (TWSR&0xf8)
  27. #define SetAck()  (TWCR|=(1<<TWEA))
  28. #define SetNoAck() (TWCR&=~(1<<TWEA))
  29. #define Twi()    (TWCR=(1<<TWINT)|(1<<TWEN))
  30. #define Write8Bit(x) {TWDR=(x);TWCR=(1<<TWINT)|(1<<TWEN);}
  31. /*-------------------------------------------------*/

  32. class PT2315
  33. {
  34. public:
  35.   void volume(uchar vVal);//音量
  36.   void loudness(bool YorN);//等響度
  37.   void bass(uchar lVal);//低音
  38.   void treble(uchar hVal);//高音
  39.   void init();//初始化
  40. private:
  41.   uchar PT2315_w(uchar wdata);
  42. };

  43. #endif
復制代碼
回復

使用道具 舉報

ID:1 發(fā)表于 2017-4-16 22:40 | 顯示全部樓層
PT2315.cpp文件內容
  1. /*
  2. 使用說明見PT2315.h
  3. */

  4. #include "PT2315.h"
  5. #include "Arduino.h"
  6. //================================================================================
  7. //================================================================================

  8. uchar PT2315::PT2315_w(uchar wdata)
  9. {
  10.         Start();
  11.         Wait();
  12.         if(TestAck()!=START)
  13.                 return 1;

  14.         Write8Bit(RD_DEVICE_ADDR);
  15.         Wait();
  16.         if(TestAck()!=MT_SLA_ACK)
  17.                 return 1;

  18.         Write8Bit(wdata);
  19.         Wait();
  20.         if(TestAck()!=MT_DATA_ACK)
  21.                 return 1;

  22.         Stop();
  23.         return 0;  
  24. }

  25. void PT2315::volume(uchar vVal)//音量
  26. {
  27.         vVal=63-vVal;
  28.         PT2315_w(vVal);
  29. }

  30. void PT2315::loudness(bool YorN) //等響度
  31. {
  32.         if(YorN) PT2315_w(0x40);
  33.         else PT2315_w(0x44);
  34. }

  35. void PT2315::bass(uchar lVal) //低音
  36. {
  37.         lVal=111-lVal;
  38.         PT2315_w(lVal);
  39. }

  40. void PT2315::treble(uchar hVal) //高音
  41. {
  42.         hVal=127-hVal;
  43.         PT2315_w(hVal);
  44. }

  45. void PT2315::init()//初始化
  46. {
  47.   PT2315_w(0x80);    //左聲道音量最大,不控制
  48.   delay(100);
  49.   PT2315_w(0xA0);   //右聲道音量最大,不控制
  50.   delay(100);
  51.   PT2315_w(0x3E);   //音量最小
  52.   delay(100);
  53.   PT2315_w(0x7F);   //高音最小
  54.   delay(100);
  55.   PT2315_w(0x6F);   //低音最小
  56.   delay(100);


  57. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
回復

使用道具 舉報

ID:167337 發(fā)表于 2017-5-2 10:43 | 顯示全部樓層
謝謝樓主分享好資源!正需要這方面的資料,樓主可否分享電路原理圖嗎?非常感謝。
回復

使用道具 舉報

ID:198286 發(fā)表于 2017-5-8 19:01 | 顯示全部樓層
沒幣,先收藏吧
回復

使用道具 舉報

ID:276790 發(fā)表于 2018-11-14 16:05 | 顯示全部樓層
正在研究這個東西,謝謝分享
回復

使用道具 舉報

ID:276790 發(fā)表于 2018-11-16 14:50 | 顯示全部樓層
好東西,學習學習
回復

使用道具 舉報

ID:471176 發(fā)表于 2019-1-21 15:10 | 顯示全部樓層
你好,我按照你發(fā)的pt2315代碼,調試過程中發(fā)現(xiàn)沒聲音,代碼有可能是什么原因,我用的是arduino uno的板子,方便的話給個微信或qq,謝謝
回復

使用道具 舉報

ID:483019 發(fā)表于 2019-3-1 23:13 | 顯示全部樓層
雖然不太了解,似乎有用
回復

使用道具 舉報

ID:272625 發(fā)表于 2019-3-18 03:02 | 顯示全部樓層
下載看看,手上有十幾個芯片都沒用。
回復

使用道具 舉報

ID:619207 發(fā)表于 2019-10-9 10:08 來自手機 | 顯示全部樓層
您好!我下載資料
回復

使用道具 舉報

ID:867469 發(fā)表于 2020-12-24 23:43 | 顯示全部樓層
標記一下,后續(xù)學習
回復

使用道具 舉報

ID:48994 發(fā)表于 2021-7-6 13:43 | 顯示全部樓層
看到這里,收藏一下,以后用到再看!
回復

使用道具 舉報

ID:902060 發(fā)表于 2021-8-2 00:01 | 顯示全部樓層
你們是怎么安裝PT2315.h這個庫的?我一直沒安裝成功。
#include <PT2315.h>  //PT2315這字一直沒變成紅色
回復

使用道具 舉報

ID:721371 發(fā)表于 2023-4-26 20:00 來自手機 | 顯示全部樓層
經過測試PT2315地址0x88
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线一区观看 | www.啪啪.com| 99久久婷婷国产精品综合 | 国产91av视频| 五月婷婷丁香婷婷 | 97国产一区二区精品久久呦 | 亚洲国产精品福利 | 亚洲手机视频在线 | 嫩草视频在线看 | 精品免费国产一区二区三区四区介绍 | 蜜臀久久99精品久久久久久宅男 | 久久精品国产精品青草 | 亚洲欧美日韩精品久久亚洲区 | 亚洲精品视频播放 | 九色 在线 | 韩日精品一区 | 欧美一区二区三区大片 | 成人不卡视频 | 色毛片 | 日本亚洲精品成人欧美一区 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 欧美色综合一区二区三区 | 国产电影精品久久 | 亚洲欧美日本在线 | 天天久久| 久久精品手机视频 | 91天堂网| 日本涩涩网 | 人人射人人插 | 午夜视频网 | 久久免费精品视频 | 福利片在线 | av在线天堂网 | 国产黄色免费网站 | 亚洲国产欧美国产综合一区 | 成人小视频在线观看 | 成人深夜福利网站 | 欧美黄色大片在线观看 | 中文字幕高清 | 一级片aaa| 亚洲免费视频一区 |