用树莓派+麦克风+PCF8591实现听歌显示音量

代码如下:

#!/usr/bin/python
# -*- coding:utf-8 -*-
import smbus
import time
import math
 # i2c设备地址
address = 0x48
#选取通道
A0 = 0x40
A1 = 0x41
A2 = 0x42
A3 = 0x43
bus = smbus.SMBus(1)

def _read_mic():
    bus.write_byte(address,A0)
    bus.read_byte(address)
    value = bus.read_byte(address)
    value = 255 - value
    return value

def read_mic(x):
    value_list = []
    for i in range(0, x):
        value_list.append(_read_mic())
    ave = sum(value_list)/x
    dis = 0
    for value in value_list:
        dis += math.pow(value - ave, 2)
    dis = math.sqrt(dis/x)
    return dis

def print_bar(value, in_max, out_max):
    value = int(value / in_max * out_max)
    print('%s '%value, end='')
    for i in range(value):
        print('#', end='')
    print('')

while True:
    value = read_mic(100)
    print_bar(value, 80, 50)
    # print(value)
    # print('')
    time.sleep(0.001)

通过用putty登陆树莓派
运行代码,连接树莓派、T头、排线,正确连接PCF8591和麦克风,连线图如下:用树莓派+麦克风+PCF8591实现听歌显示音量_第1张图片

运行代码:
效果图如下:
用树莓派+麦克风+PCF8591实现听歌显示音量_第2张图片
#号表示音量大小

你可能感兴趣的:(用树莓派+麦克风+PCF8591实现听歌显示音量)