菜单

树莓派GPIO播放音乐

2016年12月27日 - 创客生活, 嵌入式, 随笔

音乐是PWM波,利用PWM波就可以播放音乐,而树莓派的GPIO是可以实现PWM的。所以,我想尝试用GPIO作为树莓派的音乐输出。

我们最近在做一个项目,就是用gpio来播放音乐,这个操作的功能非常简单。默认只要树莓派支持device_tree 即可。

一般情况下,开启树莓派后,打开一个终端。然后修改config.txt 配置文件,并加入如下内容即可。

sudo vim.tiny /boot/config.txt 

device_tree=bcm2710-rpi-3-b.dtb

dtoverlay=audremap

然后将音频线的左右声道和GND接入树莓派GPIO引脚的GPIO12,GPIO13,还有GND引脚即可。

然后用播放器播放音乐,你可以利用omxplayer播放音乐。像这样:

omxplayer  -o local   xxx.mp3 

也可以写个shell脚本来循环播放音乐,或者制作一个播放列表。例如我这里有5首歌放置在/home/pi/music目录中。

shell脚本就可以这样写:

#!/bin/bash

# function : auto play music 

#author : yoyojacky

# date : 2016-12-27

Music_src="/home/pi/music"

while true 

   do  

      for  i  in `ls /home/pi/music | xargs `

     do  

          omxplayer  -o local  $i 

          sleep 1 

    done 

done 

然后保存后,执行:

chmod  +x    playmusic.sh 

bash  ./playmusic.sh

就可以听到声音了。如果觉得声音不够大,可以调用alsamixer 来进行声音的调节,或者用+、-号来调整。

好了,就这样,have a nice day! 

发表评论