正点原子 esp32s3通过HC-SR501检测人体运动

本人是新手,刚开始接触esp32板,希望能与大家交流。

开发板使用:正点原子ATK_DNESP32S3 V1.3

IDE: VSCODE + PLATFORMIO

在VS Code新建工程,工程命名为:wifi

主板选择对应主板,这里由于没有找到正点原子对应的主板,我自已导入了一个。

目标:通过HC-SR501检测到有人体运动后,点亮led灯,并且在Serial Monitor打印出检测信息。

步骤:

  1. 将HC-SR501最右侧的引脚(VCC)接入esp32s3板5v引脚;
  2. 将HC-SR501中间引脚本(信号)接入esp32s3板GPIO20引脚;
  3. 将HC-SR501最左侧的引脚(GND)接入esp32s3板GND引脚;
  4. 将led正极引脚本通过电阻后连到GPIO19引脚;
  5. 将led负极引脚本通过电阻后连到GND引脚;

关于传感器HC-SR501,以下视频讲得非常好,大家可以移步参考:

揭秘PIR传感器!HC-SR501如何与Arduino完美结合,轻松打造智能检测系统!_哔哩哔哩_bilibili

新建工程,将工程命名为hc-sr501:

在src/main.cpp编辑代码:

#include <Arduino.h>

const int pirPin = 20;      // HC-SR501信号输出引脚
const int ledPin = 19;      // LED引脚

void setup() {
  Serial.begin(115200);
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  Serial.println("HC-SR501 PIR Sensor Test Start");
}



void loop() {
  int pirState = digitalRead(pirPin);
  if (pirState == HIGH) {
    digitalWrite(ledPin, HIGH);
    Serial.println("Motion detected! LED ON");
  } else {
    digitalWrite(ledPin, LOW);
    Serial.println("No motion. LED OFF");
  }
  delay(200); // 适当延时,避免串口刷屏
}

这里的代码都是最基础的代码了,实在没有什么好讲解的,就不再说明了。

编译代码:

下载:

Serial Monitor展示效果:

实际效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FightingFreedom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值