树莓派+超声波传感器+LED灯+mp3提示音

小白一枚,记录过程。
材料:树莓派3B+、超声波传感器HC-SR04、led灯、电阻、杜邦线、耳机、面包板
一、接线

LED接线:led长脚为正极,短脚为负极。
正极——连着330欧电阻,连到11号引脚
负极——GND(6号引脚)。

超声波传感器接线:
VCC——2号引脚
TRIG——16号引脚
ECHO——1K欧电阻——一端18号引脚,一端连2K欧电阻——GND
GND——6号引脚
如图所示:
接线
2在网上下载嗡嗡的提示声音。也可以使用手机录音形成文件,重命名“buzz.mp3”

3代码
打开命令行,输入mkdir project,创建目录,名为project.
当前工作目录为:/home/pi/project

下载必备库
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install alsa-utils
sudo apt-get install mpg321

重启树莓派
sudo modprobe snd_bcm2835
sudo amixer cset numid=3 1

当前工作目录为:/home/pi/project,将“buzz.mp3”放在project文件中,
nano project1.py
输入代码:

import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
print "Measuring Distance"
print "Press ctrl+c to stop me"
GPIO.setup(23,GPIO.OUT)
GPIO.setup(17,GPIO.OUT)
GPIO.setup(24,GPIO.IN)
time.sleep(0.02)
while True:
        GPIO.output(17,False)
        GPIO.output(23,True)
        time.sleep(0.00001)
        GPIO.output(23,False)
        while GPIO.input(24)==0:
                start_time=time.time()
        while GPIO.input(24)==1:
                end_time=time.time()
        time=end_time-start_time
        distance = 17150*time
        print "Measured Distance is :",distance, "cms."
        if distance < 100 and distance > 0:
                print "Obstacle Detected"
                os.system('mpg321 buzz.mp3 &')
                GPIO.output(17,True)
                time.sleep(1)
GPIO.cleanup()

按ctrl+x 离开,Y保存
在命令行输入:python project1.py ,运行代码,测试结果。

参考书:《树莓派+传感器:创建智能交互项目的实用方法、工具及最佳实践》作者:[印度] 鲁什·贾加(Rushi Gajjar) Page 52-70

猜你喜欢

转载自blog.csdn.net/weixin_41860080/article/details/87208724