本帖最后由 347945801 于 2021-1-4 09:43 编辑
前段时间,哈利波特与魔法石重制上映了,第一时间买了票去看,瞬间勾起勾起了我小时候对魔法世界的向往当初无比渴望有一只猫头鹰丢一封信到我家,我就能远离我的麻瓜父母的棍棒了(认真脸)
这个念头持续到了高考结束,我终于不得不承认自己也是个麻瓜了
但是在现代社会,麻瓜们有了更有趣的世界,我们日新月异的科技发展,让我们的生活变得越来越智能化,很多电影里要靠魔法实现的操作,我们也可以做到了
今天,我们就尝试用咒语打开我们的礼物盒吧
我们需要的材料
语音识别模块
树莓派4b
180度舵机
一个能给树莓派供电的5V电源
代码编写
首先我们需要将语音识别模块的python库放入树莓派中,用一个联网的树莓派,在命令行输入下方指令[mw_shl_code=applescript,false]git clone https://github.com/cdjq/DFRobot_ASR/[/mw_shl_code]
然后我们开始编写程序
- # -*- coding:utf-8 -*-
- import sys
- import time
- sys.path.append("../..")
- from DFRobot_ASR import *
- import RPi.GPIO as GPIO
- import signal
- import atexit
-
- atexit.register(GPIO.cleanup)
- servopin = 22
- GPIO.setmode(GPIO.BCM)
- GPIO.setup(servopin,GPIO.OUT)
- angle=GPIO.PWM(servopin,50)
- angle.start(0)
-
-
- IIC_MODE = 0x01 # default use IIC1
- IIC_ADDRESS = 0x4e # default iic device address
- asr = DFRobot_ASR(IIC_MODE ,IIC_ADDRESS)
- asr.begin(asr.LOOP,asr.MIC)
- '''在指令模式下,第一个词组为开始指令'''
- asr.addCommand("kai deng",0) #开灯
- asr.addCommand("zhi ma kai men",1) #芝麻开门
- asr.addCommand("guan bi ",2) #关闭
- asr.addCommand("cheng du ji qu",3) #成都极趣
- asr.addCommand("shang hai zhi wei ke ji",4) #上海智位科技
- asr.addCommand("xiang gang",5) #香港
- asr.addCommand("di ai fu ruo bo te",6) #DFRobot
- #开始识别
- asr.start()
- print("start\r\n")
-
-
- while(1):
- result = asr.read()
- if result != -1 :
- print("ASR result is:%d"%result)
- if result == 1:
- for dc in range(0,61,1):
- angle.ChangeDutyCycle(float(dc)/18+2.5)
- time.sleep(0.01)
- elif result == 2:
- for dc in range(60,-1,-1):
- angle.ChangeDutyCycle(float(dc)/18+2.5)
- time.sleep(0.01)
复制代码
程序设计为开机启动
具体方法如下
1、切换到root账户
复制代码 2、修改rc.local文件
复制代码 在exit 0前添加命令
- sudo python /xx/xx/text.py
复制代码
硬件搭建
用移动电源供电,一股脑的塞进礼物盒
接下来,就是见证奇迹的时刻
(这个魔杖来自路由器天线,是我能找到最像魔杖的棍子了,非麻瓜同学可以使用自己在奥利凡德购买的魔杖)
在真实的世界寻找魔法是一件很不靠谱的事情,在过去的魔幻的2020年就更不靠谱了,好在我们有科技来实现魔法
在这2021年之初,我们就用这个魔法小盒作为新年的礼物,祝大家新年快乐吧
|