树莓派通过语音模块下发指令点亮小灯泡

树莓派通过语音模块下发指令点亮小灯泡

使用的语言是Python。语音模块使用串口连接树莓派,RGB灯连接在树莓派23、24、25号引脚上。
语音模块设置关键词,识别关键词串口通信控制树莓派点亮对应颜色的LED灯。

树莓派3代B+引脚图

语音模块

代码


import serial  # 导入串口库
import time  # 导入时间库
import RPi.GPIO as GPIO  导入树莓派引脚控制库

GPIO.setmode(GPIO.BCM)  # (强制的)指定一种编号规则
GPIO.setwarnings(False)  # 禁用警告
GPIO.setup(23, GPIO.OUT)  # 初始化设置23引脚为输出
GPIO.setup(24, GPIO.OUT)  # 初始化设置24引脚为输出
GPIO.setup(25, GPIO.OUT)  # 初始化设置25引脚为输出

GPIO.output(23, GPIO.LOW)  # 初始化设置23引脚为低电平输出(有些树莓派默认高电平输出)
GPIO.output(24, GPIO.LOW)  # 初始化设置24引脚为低电平输出(有些树莓派默认高电平输出)
GPIO.output(25, GPIO.LOW)  # 初始化设置25引脚为低电平输出(有些树莓派默认高电平输出)


ser = serial.Serial("/dev/ttyUSB0",9600)  # 打开树莓派串口 ttyUSB0,波特率是9600
ser.flushInput()
# ser.write("play,001,$")

def main():
    while True:
        count = ser.inWaiting()  # 读取串口缓存数据大小
        if count !=0:  # 如果串口缓存数据量不为0
            print(count)  # 打印一下有多少
            recv = int.from_bytes(ser.read(count), byteorder='big', signed=False)  # 把读到的byte字节流转换为int赋值给recv
            print(recv) 
            print(type(recv))
            if(recv == 2):  # 如果recv等于2
                GPIO.output(23, GPIO.HIGH)  # 23号引脚输出高电平
                GPIO.output(24, GPIO.LOW)  # 24号引脚输出低电平
                GPIO.output(25, GPIO.LOW)  # 25号引脚输出低电平
                print("hong deng")
            if(recv == 3):
                GPIO.output(23, GPIO.LOW)
                GPIO.output(24, GPIO.LOW)
                GPIO.output(25, GPIO.HIGH)
                print("lv deng")
            if(recv == 4):
                GPIO.output(23, GPIO.LOW)
                GPIO.output(24, GPIO.HIGH)
                GPIO.output(25, GPIO.LOW) 
                print("lan deng")
            ser.flushInput()
        time.sleep(0.1)
        

if __name__ == '__main__':
    main()


posted @   叫我+V  阅读(915)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示