精帖  树莓派使用障碍检测传感器 实现遇到障碍物报警 并提示前面有障碍避障传感器,GPIO编程,Python,传感器

By 管理员5

2023-05-21 15:05:07

浏览量6900

已赞9

教程原理: 当传感器前方出现障碍遮挡时,将发送数据给树莓派,树莓派做出显示:“前方有障碍物,请避让!”并发送信号让蜂鸣器报警。可以实用在我们生活中需要检测某个环境内出现障碍物然后报警的效果!

本次实验所需的物品清单:

树莓派4B

避障碍传感器

5V高电平蜂鸣报警模块

杜邦线

一:接线方法

首先请将传感器和蜂鸣器与树莓派主板连接好(参考下图),树莓派对应的是BCM编码并非引脚序号。

避障传感器接法:

VCC —— 树莓派5V

GND —— 树莓派GND

OUT —— 树莓派GPIO18

蜂鸣器接法:

VCC —— 树莓派5V

GND —— 树莓派GND

O/I—— 树莓派GPIO21

Image

二:程序代码


1.我们需要使用到RPi.GPIO模块,请先确保该已经安装。如果没有请输入以下命令安装该模块:

sudo apt-get update
sudo apt-get install python-rpi.gpio

2.新建一个py文件,输入下面命令

sudo nano zhangai.py
3.然后复制粘贴下面的代码到文件内(参考下图)

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()

4.参考图,代码复制粘贴到文件后可以对照下图示例。

Image


三:运行程序,查看实验结果

输入命令执行程序,

sudo python zhangai.py
查看结果: 当传感器正前方出现遮挡,树莓派端会显示前方有障碍请避让,并让蜂鸣器发出报警。 如果松开遮挡则恢复正常持续检测。如果要停止该程序,可以按Ctrl+C退出来。 上述代码程序中的提示信息可自由修改,代码可自由发挥定义更多玩法欢迎你分享到评论区。~emotion

Image


结尾: 如果你的蜂鸣器没有报警 或者程序没有显示,请仔细检测代码是否复制粘贴有误。蜂鸣器型号是否正确。可以点击最前面的物品清单查看一下型号。



本文章最后由 超级版主2023-11-12 21:40 编辑
发表评论
请先 注册/登录 后参与评论

已有1 发布

默认   热门   正序   倒序
  • 2F
    巨人2023-05-25 03:11:28   
    不错哟emotion
    0
查看更多评论
(9) 分享
分享

扫二维码或复制链接分享该篇文章

取消
已有0次打赏
本站免责声明
1、本站资源,均来自网络或个人用户发布,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !

侵权删除请致信 E-Mail:cxg88@qq.com