教程原理: 当传感器前方出现障碍遮挡时,将发送数据给树莓派,树莓派做出显示:“前方有障碍物,请避让!”并发送信号让蜂鸣器报警。可以实用在我们生活中需要检测某个环境内出现障碍物然后报警的效果!
本次实验所需的物品清单:
一:接线方法
首先请将传感器和蜂鸣器与树莓派主板连接好(参考下图),树莓派对应的是BCM编码并非引脚序号。
避障传感器接法:
VCC —— 树莓派5V
GND —— 树莓派GND
OUT —— 树莓派GPIO18
蜂鸣器接法:
VCC —— 树莓派5V
GND —— 树莓派GND
O/I—— 树莓派GPIO21
二:程序代码
1.我们需要使用到RPi.GPIO模块,请先确保该已经安装。如果没有请输入以下命令安装该模块:
sudo apt-get update sudo apt-get install python-rpi.gpio
2.新建一个py文件,输入下面命令
sudo nano zhangai.py3.然后复制粘贴下面的代码到文件内(参考下图)
import RPi.GPIO as GPIO import time #source:www.raspi.cc #name:raspi # 设置GPIO的模式为BCM编码方式 GPIO.setmode(GPIO.BCM) # 配置GPIO18为输入引脚,GPIO21为输出引脚 GPIO.setup(18, GPIO.IN) GPIO.setup(21, GPIO.OUT) try: while True: # 监听GPIO18引脚的输入状态 if GPIO.input(18) == GPIO.LOW: print("前方有障碍请避让") # 控制GPIO21输出高电平 GPIO.output(21, GPIO.HIGH) # 等待直到GPIO18没有低电平输入 while GPIO.input(18) == GPIO.LOW: time.sleep(0.1) else: print("正常") # 控制GPIO21输出低电平 GPIO.output(21, GPIO.LOW) # 暂停1秒钟再继续监听 time.sleep(1) finally: # 清理GPIO资源 GPIO.cleanup()
三:运行程序,查看实验结果
输入命令执行程序,
sudo python zhangai.py查看结果: 当传感器正前方出现遮挡,树莓派端会显示前方有障碍请避让,并让蜂鸣器发出报警。 如果松开遮挡则恢复正常持续检测。如果要停止该程序,可以按Ctrl+C退出来。 上述代码程序中的提示信息可自由修改,代码可自由发挥定义更多玩法欢迎你分享到评论区。~
结尾: 如果你的蜂鸣器没有报警 或者程序没有显示,请仔细检测代码是否复制粘贴有误。蜂鸣器型号是否正确。可以点击最前面的物品清单查看一下型号。