标题:
基于stm32+PAJ7620和VS1053的手势识别音响源程序
[打印本页]
作者:
45683968445Xy
时间:
2019-5-14 10:40
标题:
基于stm32+PAJ7620和VS1053的手势识别音响源程序
利用stm32f103zet6驱动PAJ7620和VS1053音频解码实现手势识别音响;通过不同的手势来实现音量的加减和歌曲切换。
单片机源程序如下:
//VS1003/1053 MP3模块与普中STM32开发板接线方式:
//5V---5V
//GND--GND
//XRST--PG8
//MISO--PA6
//MOSI--PA7
//SCLK--PA5
//DREQ--PG7
//XCS--PE6
//XDCS--PG6
//实验前请插入SD卡,在SD卡根目录下放入我们光盘内的SD卡文件夹内文件
#include "system.h"
#include "SysTick.h"
#include "led.h"
#include "usart.h"
#include "tftlcd.h"
#include "key.h"
#include "malloc.h"
#include "sd.h"
#include "flash.h"
#include "ff.h"
#include "fatfs_app.h"
#include "key.h"
#include "font_show.h"
#include "mp3player.h"
#include "paj7620u2.h"
#include "ds18b20.h"
void GUI_DisplayInit()
{
FRONT_COLOR=BLACK;//设置字体为红色
LCD_ShowFont16Char(0, 0, "");
LCD_ShowFont12Char(80, 21, "电子创新大赛");
LCD_ShowFont12Char(76, 63, "手势识别音响");
LCD_ShowFont12Char(0, 84, "音量设置为:200");
LCD_ShowFont12Char(0, 105, "正在播放的歌曲为:");
LCD_ShowFont12Char(0, 167, "向上滑动:音量+");
LCD_ShowFont12Char(0, 188, "向下滑动:音量-");
LCD_ShowFont12Char(0, 209, "向左、右滑动:切歌");
}
FileNameTypeDef filename[30];
int main(void)
{
FATFS fs;
uint32_t sdCapacity, free;
uint8_t dat[9] = {"0:/MUSIC"}, i=0,j=0, k=0; //要显示的图片的文件地址
uint8_t misicFile[30];
SysTick_Init(72); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组
USART1_Init(9600); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
TFTLCD_Init(); //初始化LCD
paj7620u2_init();
KEY_Init();
EN25QXX_Init(); //初始化EN25Q128
MP3_Init();
my_mem_init(SRAMIN); //初始化内部内存池
DS18B20_Init();
while(1)
{
FRONT_COLOR=BLACK;//设置字体为红色
while(SD_Init()!=0)
{
LCD_ShowString(10,10,tftlcd_data.width,tftlcd_data.height,16,"SD Card Error!");
}
FATFS_Init(); //为fatfs相关变量申请内存
f_mount(&fs,"0:",1); //挂载SD卡
while(FATFS_GetFree("0:", &sdCapacity, &free) != 0)
{
LCD_ShowFont12Char(0, 21, "FATfs error!");
}
/* 设置音量 */
MP3_Volume = 200;
MP3_AudioSetting(MP3_Volume);
/* 初始化显示 */
GUI_DisplayInit();
/* 扫描文件地址里面所有的文件 */
FATFS_ScanFiles(dat, filename);
printf("%s%s\r\n",filename[0].name,filename[0].type);
printf("%s%s\r\n",filename[1].name,filename[1].type);
while(1)
{
/* 判断是否是PM3图片文件 */
if((filename[i].type[1] == 'm') && (filename[i].type[2] == 'p') &&
(filename[i].type[3] == '3'))
{
/* 处理文件路径,先添加文件路径 */
k = 0;
while(*(dat + k) != '\0')
{
*(misicFile + k) = *(dat + k);
k++;
}
/* 路径之后加上一斜杠 */
*(misicFile + k) = '/';
k++;
/* 添加文件名字名字 */
j = 0;
while(filename[i].name[j] != '\0')
{
*(misicFile + k) = filename[i].name[j];
k++;
j++;
}
/* 添加文件后缀 */
j = 0;
while(filename[i].type[j] != '\0')
{
*(misicFile + k) = filename[i].type[j];
k++;
j++;
}
/* 文件最后添加一个结束符号 */
*(misicFile + k) = '\0';
/* 显示播放的歌曲并播放歌曲 */
LCD_Fill(0, 126, tftlcd_data.height, 165, WHITE); //清除显示位置
LCD_ShowFont12Char(0, 126, misicFile);
MP3_PlaySong(misicFile);
}
i++;
if(i > 30)
{
i = 0;
}
}
}
}
void HardFault_Handler(void)
{
while(1)
{
led2=!led2;
delay_ms(100);
}
}
复制代码
所有资料51hei提供下载:
PAJ7620U2 音响.7z
(695.79 KB, 下载次数: 97)
2019-5-14 18:04 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
zhihe.in
时间:
2020-6-18 23:12
下载看看
作者:
珍珠排骨
时间:
2021-11-7 00:14
这个手势识别的引脚可以换成其他的吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1