NodeMCU【ESP-12E】

NodeMCU ESP-12E HC-SR501传感器应用指南
本文介绍了如何使用NodeMCU ESP-12E与HC-SR501红外人体传感器进行接线及测试代码编写,详细讲解了传感器的基本知识和实际操作步骤。

1.HC-SR501基本知识

	。。。。自己搜索下

2.电路接线

colorvalue
5V
信号,连接到NodeMCU D2引脚
GND

在这里插入图片描述
在这里插入图片描述

3.测试代码

代码并不严谨,仅测试用
	#define LED0 16
#define FLAG 4

int ret;				//保存读取到的电平信号
int count;				//记录电平的持续时间
bool bd = false;		//电平跳变标记,根据HC-SR501默认低电平,默认bd为false

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(LED0,OUTPUT);
  pinMode(FLAG,INPUT);
}

void loop() {

  //1.读取HC-SR501 OUT引脚信号
  ret = digitalRead(FLAG);

  //2.如果信号为高电平,表示有人进入感应范围
  if( 1 == ret )
  {  
  	//remark:由低电平跳变为高电平,执行一次
    if( false == bd )
    {
      //Serial.print("低电平持续:");
      //Serial.println(count);
      count = 1;
      //反转标记,便于统计当前电平持续时间
      bd = true;
    }
    else if( true == bd )
    {
      digitalWrite(LED0,HIGH);
      //Serial.print("当前信号为:");
      //Serial.println(ret);
      delay(1000);
      count++;
    }
  }
  
  //3.如果信号为低电平,表示人已离开,或没有人进入感应范围
  else
  {
  	//remark:由高电平跳变为低电平,执行一次
    if( true == bd )
    {
      Serial.print("高电平持续:");
      Serial.println(count);
      count = 1;
      bd = false;
    }
    
    else if( false == bd )
    {
      digitalWrite(LED0,LOW);
      //Serial.print("当前信号为:");
      //Serial.println(ret);
      delay(1000);
      count++;
    }  
  }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值