找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2007|回复: 4
打印 上一主题 下一主题
收起左侧

51单片机和人体红外传感器程序 发现灯周期性亮灭

[复制链接]
跳转到指定楼层
楼主
ID:744367 发表于 2021-4-23 22:57 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
利用51单片机和hc-sr传感器监测人的活动 程序如下 但是发现灯周期性亮灭 是代码出错了吗
#include<reg52.h>
sbit dat = P1^0;
sbit led = P1^2;
#define uchar unsigned char
#define uint unsigned int
void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0 ;x--)
                for(y = 114; y>0; y--);
}
void main()
{
        while(1)
        {
                 delay(50);
                if(dat == 1)
            led = 0;
                else
                led = 1;
        
        }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:136485 发表于 2021-4-24 08:16 | 只看该作者
普通的红外有个特点就是红外还要移动才能检测到,如果一直不动是检测不到的

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:744367 发表于 2021-4-24 08:18 来自手机 | 只看该作者
kxcuser 发表于 2021-4-24 08:16
普通的红外有个特点就是红外还要移动才能检测到,如果一直不动是检测不到的

那有没有一种传感器是检测人是否在范围内 与移动无关的呢
回复

使用道具 举报

地板
ID:716656 发表于 2021-4-24 08:26 | 只看该作者
红外是检测有没有人的(温度),雷达模块是检测物体移动的(波的检测重点在自动物)。。。HC-SR501与多普勒雷达模块的区别

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:230742 发表于 2021-4-24 23:52 | 只看该作者
热释电红外线传感器一般用在楼道灯里,有人进入传感范围灯就亮,然后是一个延时,不管人离开不离开。如果站人在范围内不动,延时到了灯就灭了。人再动,灯又亮了。没明白楼主的设计意图。因为肯定不会有人凭空出现在传感器范围内。就算凭空出现在范围内不动。你检测他又有什么意义。
另外热释电红外线传感器模块检测到人的时候,输出高电平(或者底电平)。但人有一点 点动作,就又输出一个高电平。所以灯才会一亮一灭的。请仔细阅读模块的资料。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表