標(biāo)題:
基于stm32+PAJ7620和VS1053的手勢(shì)識(shí)別音響源程序
[打印本頁(yè)]
作者:
45683968445Xy
時(shí)間:
2019-5-14 10:40
標(biāo)題:
基于stm32+PAJ7620和VS1053的手勢(shì)識(shí)別音響源程序
利用stm32f103zet6驅(qū)動(dòng)PAJ7620和VS1053音頻解碼實(shí)現(xiàn)手勢(shì)識(shí)別音響;通過(guò)不同的手勢(shì)來(lái)實(shí)現(xiàn)音量的加減和歌曲切換。
單片機(jī)源程序如下:
//VS1003/1053 MP3模塊與普中STM32開(kāi)發(fā)板接線方式:
//5V---5V
//GND--GND
//XRST--PG8
//MISO--PA6
//MOSI--PA7
//SCLK--PA5
//DREQ--PG7
//XCS--PE6
//XDCS--PG6
//實(shí)驗(yàn)前請(qǐng)插入SD卡,在SD卡根目錄下放入我們光盤(pán)內(nèi)的SD卡文件夾內(nèi)文件
#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;//設(shè)置字體為紅色
LCD_ShowFont16Char(0, 0, "");
LCD_ShowFont12Char(80, 21, "電子創(chuàng)新大賽");
LCD_ShowFont12Char(76, 63, "手勢(shì)識(shí)別音響");
LCD_ShowFont12Char(0, 84, "音量設(shè)置為:200");
LCD_ShowFont12Char(0, 105, "正在播放的歌曲為:");
LCD_ShowFont12Char(0, 167, "向上滑動(dòng):音量+");
LCD_ShowFont12Char(0, 188, "向下滑動(dòng):音量-");
LCD_ShowFont12Char(0, 209, "向左、右滑動(dòng):切歌");
}
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); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中斷優(yōu)先級(jí)分組 分2組
USART1_Init(9600); //串口初始化為9600
LED_Init(); //初始化與LED連接的硬件接口
TFTLCD_Init(); //初始化LCD
paj7620u2_init();
KEY_Init();
EN25QXX_Init(); //初始化EN25Q128
MP3_Init();
my_mem_init(SRAMIN); //初始化內(nèi)部?jī)?nèi)存池
DS18B20_Init();
while(1)
{
FRONT_COLOR=BLACK;//設(shè)置字體為紅色
while(SD_Init()!=0)
{
LCD_ShowString(10,10,tftlcd_data.width,tftlcd_data.height,16,"SD Card Error!");
}
FATFS_Init(); //為fatfs相關(guān)變量申請(qǐng)內(nèi)存
f_mount(&fs,"0:",1); //掛載SD卡
while(FATFS_GetFree("0:", &sdCapacity, &free) != 0)
{
LCD_ShowFont12Char(0, 21, "FATfs error!");
}
/* 設(shè)置音量 */
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++;
}
/* 文件最后添加一個(gè)結(jié)束符號(hào) */
*(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);
}
}
復(fù)制代碼
所有資料51hei提供下載:
PAJ7620U2 音響.7z
(695.79 KB, 下載次數(shù): 97)
2019-5-14 18:04 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
zhihe.in
時(shí)間:
2020-6-18 23:12
下載看看
作者:
珍珠排骨
時(shí)間:
2021-11-7 00:14
這個(gè)手勢(shì)識(shí)別的引腳可以換成其他的嗎
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1