TA的每日心情 | 开心 2024-10-14 08:33 |
---|
签到天数: 2451 天 连续签到: 1 天 [LV.Master]伴坛终老
|
本帖最后由 limale 于 2017-1-17 20:21 编辑
最近确实有点忙了,都没能好好的玩Fireduino了,晚上抽个空来测试一下播放TF卡中的MP3文件。
Fireduino 内部集成了HIFI级高质量的音频解码器、专业的硬件MP3解码加速器、硬件低损耗音频解码加速器和丰富的外设,支持WI-FI协议,支持24bits 192k Hz 采样率、低损耗、低功耗的音频解码。
Fireduino 支持播放在SD卡以及网络上的音频文件,解码格式支持APE/FLAC/WAV/MP3/WMA/AAC/OGG;
Fireduino在音频解码方面非常优秀,使用Audio库中的API可以让用户更简单易用的进行音频开发。Fireduino提供了音频接口如下图:
我们可以接个耳机在黑色的PHONE插口上就可以听到音乐了,音质还是不错的。
测试程序功能比较简单,只是一个初始化成功了TF卡和Audio之后就播放音乐同时在OLED屏幕上边显示文件名,然后TF里边有两个音频文件第一个播放完了之后就循环播放第二个文件。后边准备利用OLED屏幕和按钮实现播放、暂停、恢复播放、上一曲、下一曲以及音量加减等。这样完全就可以当作一个mp3播放器来用了。- #include <Arduino.h>
- #include "Wire.h"
- #include "oled.h"
- #include "oledfont.h"
- #include "TF.h"
- #include "Audio.h"
- //板载led
- #define LED_GREEN 13
- #define LED_BLUE 3
- #define Trigger_T_measuremnet_hold_master 0xe3
- #define Trigger_RH_measuremnet_hold_master 0xe5
- extern int16_t SHT20_Read_value(uint8_t value);
- uint16_t SHT20_val;
- float SHT20_val_temp;
- float SHT20_val_humi;
- char str[15] = {};
- char music1[10] = {"love.MP3"};
- char music2[10] = {"sara.MP3"};
- void Sys_Init(void)
- {
- Serial.begin(115200);
- pinMode(OLED_GND, OUTPUT);
- pinMode(OLED_VCC, OUTPUT);
- pinMode(OLED_CLK, OUTPUT);
- pinMode(OLED_DIN, OUTPUT);
- pinMode(OLED_RES, OUTPUT);
- pinMode(OLED_DC, OUTPUT);
- pinMode(OLED_CS, OUTPUT);
- digitalWrite(OLED_GND,LOW);
- digitalWrite(OLED_VCC,HIGH);
-
- pinMode(LED_GREEN, OUTPUT);
- digitalWrite(LED_GREEN,HIGH);
- Wire.begin();
- OLED_Init();
- OLED_Clear();
- if(!SD.begin())
- {
- Serial.println("sd init err\r\n");
- while(1);
- }
- Audio.begin(AUDIO_SD);
- if(Audio)
- {
- Audio.playFile("\\love.MP3");
- OLED_ShowString(0, 2, music1, 16);
- }
-
- }
- void Main(void)
- {
- char str1[] = {"eeboard"};
- char str2[] = {"www.eeboard.com"};
- uint8_t i = 4;
-
- OLED_ShowCHinese(i, 0, 0);
- OLED_ShowCHinese(i+16, 0, 1);
- OLED_ShowString(i+32, 0, str1, 16);
- OLED_ShowCHinese(i+88,0, 2);
- OLED_ShowCHinese(i+104,0, 3);
- // OLED_ShowString(4,2,str2,16);
- while(1)
- {
- SHT20_val = SHT20_Read_value(Trigger_RH_measuremnet_hold_master);
- SHT20_val &= ~0x0003;
- SHT20_val_humi = -6.0 + 125.0 / 65536 * (float)SHT20_val;
- sprintf(str, "= %5.2f RH ", SHT20_val_humi);
- OLED_ShowCHinese(0, 4, 4);
- OLED_ShowCHinese(16, 4, 5);
- OLED_ShowString(32, 4, str, 16);
-
- SHT20_val = SHT20_Read_value(Trigger_T_measuremnet_hold_master);
- SHT20_val &= ~0x0003;
- SHT20_val_temp = -46.85 + 175.72 / 65536 * (float)SHT20_val;
- sprintf(str, "= %5.2f C ", SHT20_val_temp);
- OLED_ShowCHinese(0, 6, 6);
- OLED_ShowCHinese(16, 6, 7);
- OLED_ShowString(32, 6, str, 16);
- Serial.println("loop");
- delay(2000);
- if(Audio.getStatus() == AudioStop)
- {
- Audio.playFile("\\sara.MP3");
- OLED_ShowString(0, 2, music2, 16);
- }
- }
- }
复制代码 只是简单的显示了文件名,后边可以配合按钮实现一些基本的功能。
程序源码:
audio.rar
(7.39 KB, 下载次数: 4)
|
评分
-
查看全部评分
|