287|1

59

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【follow me第二季第一期】任务三,入侵检测报警 [复制链接]

  本帖最后由 crimsonsnow 于 2024-9-27 09:22 编辑
import time
from adafruit_circuitplayground import cp

# 设定一个阈值来表示检测到物体时的红外值
# 这个值可能需要根据你的环境和测试进行调整
IR_THRESHOLD = 10

while True:
    # 读取板载红外传感器数据
    ir_value = cp.ir_proximity

    # 检查是否有人或物体靠近
    if ir_value > IR_THRESHOLD:
        # 点亮所有LED灯
        cp.pixels.brightness = 0.5  # 设置LED亮度
        for i in range(10):
            cp.pixels[i] = (255, 0, 0)  # 红色表示警告

        # 发出声音报警
        # 播放一个简单的警报音
        for _ in range(3):
            cp.start_tone(2000)  # 发出2000Hz的音调
            time.sleep(0.1)
            cp.stop_tone()
            time.sleep(0.1)
    else:
        # 关闭LED灯
        cp.pixels.brightness = 0.0  # 关闭LED灯
        cp.stop_tone()  # 停止声音

    # 稍微延迟后再次检测
    time.sleep(0.1)

任务指示建议使用红外发射与接收来操作,但是红外的效果似乎比较一般,不是一直在报警就是一直不报警

有用光线传感器做的方法,原理是接近后光量下降,从而进行判定

效果很不错

import time
from adafruit_circuitplayground import cp

# 设定一个阈值来表示光线强度低时的值
# 这个值可能需要根据你的环境和测试进行调整
LIGHT_THRESHOLD = 100

while True:
    # 读取板载光线传感器数据
    light_value = cp.light

    # 检查光线强度是否低于阈值
    if light_value < LIGHT_THRESHOLD:
        # 点亮所有LED灯
        cp.pixels.brightness = 0.5  # 设置LED亮度
        for i in range(10):
            cp.pixels[i] = (255, 0, 0)  # 红色表示警告

        # 发出声音报警
        # 播放一个简单的警报音
        for _ in range(3):
            cp.start_tone(2000)  # 发出2000Hz的音调
            time.sleep(0.1)
            cp.stop_tone()
            time.sleep(0.1)
    else:
        # 关闭LED灯
        cp.pixels.brightness = 0.0  # 关闭LED灯
        cp.stop_tone()  # 停止声音

    # 稍微延迟后再次检测
    time.sleep(0.1)

遮挡之后迅速反应,亮灯报警

 

最新回复

红外的效果,不是一直在报警就是一直不报警,这种情况该怎么处理?   详情 回复 发表于 2024-9-28 07:53
点赞 关注
 
 

回复
举报

6820

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

红外的效果,不是一直在报警就是一直不报警,这种情况该怎么处理?

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表