智能人體感應模塊HC-SR501應用指南---使用esp32

人體熱釋電探頭紅外感應模塊 人體感應開關HC-SR501藍板新款 綠板-淘寶網

HC-SR501 人體紅外感應電子模塊傳感器熱釋電探頭感應開關RD-624-tmall.com天貓

模塊信息

在這里插入圖片描述

在這里插入圖片描述

HC-SR501人體感應開關是一種基于紅外線技術的自動控制模塊,廣泛應用于安防、智能家居和自動控制等領域。

詳細介紹:

1. 基本概述

HC-SR501是一種低成本、高效率的熱釋電紅外傳感器,通過檢測人體或動物發出的紅外輻射變化來判斷其活動。其特點包括:

  • 全自動感應:當人進入感應范圍時,模塊輸出高電平信號;人離開后,信號延時關閉并恢復為低電平。
  • 靈敏度高:能夠檢測到微小的人體或動物移動。
  • 低功耗:靜態電流低于50微安,適合電池供電的應用。
  • 可調節性:通過旋鈕可調節感應距離和延時時間,靈活適應不同場景需求。

2. 工作原理

HC-SR501的工作原理基于熱釋電效應,其內部結構主要包括熱釋電元件、菲涅爾透鏡和信號處理電路:

  1. 熱釋電效應:人體溫度(約37℃)會發出特定波長的紅外線(約10μm),熱釋電元件通過檢測這種紅外輻射的變化,將其轉換為電信號。
  2. 菲涅爾透鏡:透鏡將紅外輻射聚焦到熱釋電元件上,提升檢測靈敏度和范圍。
  3. 信號處理:信號經過放大、濾波和邏輯判斷后,輸出高電平或低電平信號,供外部電路使用。

3. 技術參數

以下是HC-SR501的主要技術參數:

  • 工作電壓:DC 4.5V - 20V。
  • 靜態電流:<50μA。
  • 輸出電平:高電平約3.3V,低電平約0V。
  • 感應距離:可調范圍3米 - 12米。
  • 感應角度:<120°錐角。
  • 延時時間:可調范圍5秒 - 5分鐘。
  • 觸發方式:支持兩種模式:
    • 不可重復觸發(L模式):輸出高電平后,延時一段時間自動恢復為低電平。
    • 可重復觸發(H模式):在延時時間內,如果持續檢測到人體活動,輸出高電平將保持,直到人離開后才恢復為低電平。
  • 感應封鎖時間:默認2.5秒,可調范圍零點幾秒至幾十秒,用于抑制干擾。

4. 應用場景

HC-SR501因其易用性和高性價比,廣泛應用于以下領域:

  • 智能家居:自動照明控制、智能家電互動。
  • 安防監控:觸發報警、激活攝像頭等。
  • 自動控制:如自動門禁、人體檢測裝置等。
  • 工業自動化:用于檢測人員是否進入危險區域。

5. 安裝與使用注意事項

  1. 安裝方向:探頭雙元方向應與人體活動方向盡量平行,以提高感應靈敏度。
  2. 避免干擾:避免燈光等強光源直射模塊,同時盡量避免流動風的影響。
  3. 初始化時間:模塊通電后需約1分鐘初始化,期間可能輸出0-3次干擾信號。
  4. 調節旋鈕
    • 距離調節:順時針旋轉增加感應距離,逆時針減少。
    • 延時調節:順時針旋轉延長輸出高電平時間,逆時針縮短。
  5. 觸發模式選擇:通過跳線帽選擇L(不可重復觸發)或H(可重復觸發)模式。

6. 與微控制器的連接與代碼示例

HC-SR501模塊僅需三根線連接到微控制器(如STM32或Arduino):

  • VCC:接電源正極(如3.3V或5V)。
  • GND:接地。
  • OUT:輸出信號引腳,連接到微控制器的GPIO輸入引腳。

7. 總結

HC-SR501人體感應開關是一款功能強大、易于使用的傳感器模塊,適用于多種場景。其靈敏度高、功耗低、調節靈活,是自動化和智能化的理想選擇。如果您需要進一步了解其驅動程序或詳細應用,可以參考相關技術文檔或實驗案例。

用esp32的pin23連接 HC-SR501

硬件連接

觸摸按鍵模塊 (TTP223)  ---->  ESP32
----------------------------------------
VCC (5V)          	---->  5V
GND                 ---->  GND
OUT                 ---->  GPIO23

軟件編寫(不可重復觸發(L模式))

test.ino主程序:
#include "HC_SR501.h"
#include "LED.h"// #define LED1 2void setup() {   Serial.begin(9600);HC_SR501_Init();  // 初始化HC-SR501LED_Init();
}void loop() {if (HC_SR501_GetStatus() == HIGH) {  // 如果檢測到人體// 執行相應的操作,例如觸發警報Serial.println("Motion detected!");LED1_ON();delay(3000);}else{// Serial.println("Motion not detected!");LED1_OFF();delay(3000);}// delay(1000);  // 延時1秒,避免頻繁檢測// LED1_OFF();}
HC_SR501.h
#ifndef HC_SR501_H
#define HC_SR501_H#define HC_SR501_PIN1 23  // 定義HC-SR501連接的引腳為ESP32的Pin23void HC_SR501_Init(void) {pinMode(HC_SR501_PIN1, INPUT);  // 將引腳設置為輸入模式
}uint8_t HC_SR501_GetStatus(void) {return digitalRead(HC_SR501_PIN1);  // 讀取傳感器狀態,高電平表示檢測到人體
}#endif// 示例用法:
// #include "HC_SR501.h"
//
// void setup() {   
//   Serial.begin(9600);
//   HC_SR501_Init();  // 初始化HC-SR501
// }
//
// void loop() {
//   if (HC_SR501_GetStatus() == HIGH) {  // 如果檢測到人體
//     // 執行相應的操作,例如觸發警報
//     Serial.println("Motion detected!");
//   }
// }
LED.h
#define LED1 2void LED_Init(void) {pinMode(LED1, OUTPUT);// pinMode(LED2, OUTPUT);
}//////////////////////////////////LED1的操作函數///////////////////////////////
void LED1_ON(void) {digitalWrite(LED1, HIGH);  //ON
}void LED1_OFF(void) {digitalWrite(LED1, LOW);  //OF
}void LED1_TURN(void)  //翻轉
{digitalWrite(LED1, !digitalRead(LED1));  //TURN
}// ////////////////////////////////LED2的操作函數////////////////////////////////
// void LED2_ON(void)
// {
// 	digitalWrite(LED2, HIGH);//ON
// }// void LED2_OFF(void)
// {
// 	digitalWrite(LED2, LOW);//OF
// }// void LED2_TURN(void)//翻轉
// {
// 	digitalWrite(LED2, !digitalRead(LED2));//TURN
// }// ///////////////////////////////LED3的操作函數////////////////////////////////
// void LED3_ON(void)
// {
// 	digitalWrite(LED3, HIGH);//ON
// }// void LED3_OFF(void)
// {
// 	digitalWrite(LED3, LOW);//OF
// }// void LED3_TURN(void)//翻轉
// {
// 	digitalWrite(LED3, !digitalRead(LED3));//TURN
// }// ///////////////////////////////LED4的操作函數////////////////////////////////
// void LED4_ON(void)
// {
// 	digitalWrite(LED4, HIGH);//ON
// }// void LED4_OFF(void)
// {
// 	digitalWrite(LED4, LOW);//OF
// }
// void LED4_TURN(void)//翻轉
// {
// 	digitalWrite(LED4, !digitalRead(LED4));//TURN/////////////////////////////////////////////////////////////////////////////////使用方法
// void setup() {
// 	OLED_Init();
// }// void loop() {
// 	LED1_ON();  // 點亮D7引腳LED
// }

功能描述

- 持續循環檢測 HC-SR501 傳感器的狀態。
- 若檢測到人體活動(傳感器輸出高電平),通過串口打印 "Motion detected!" 信息,點亮 LED 燈(板載led藍燈),并延時 3 秒。
- 若未檢測到人體活動(傳感器輸出低電平),關閉 LED 燈,并延時 3 秒

測試現象

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89161.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89161.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89161.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

加速度傳感器方向校準方法

保持平板平放在桌面上&#xff0c;將后置攝像頭保持在平板的左上后方&#xff0c;或者右上后方&#xff0c;此為機器的正方向 1、以一臺重力方向正常的機器做測試&#xff0c;通過DeviceInfoHw這個軟件的加速度測試功能【Accelerometer Test】我們可以知道 X方向數據測試&#…

【OpenHarmonyOS應用開發】

OpenHarmonyOS應用開發1.OpenHarmonyOS應用開發環境安裝2.初始化項目3.連接潤和軟件的開發板套件1.OpenHarmonyOS應用開發環境安裝 進入HarmonyOS下載鴻蒙應用開發工具DevEco Studio 5.0.7.200版本。 雙擊打開下載好的可執行文件&#xff0c;點擊下一步。 如果已經安裝過&am…

50天50個小項目 (Vue3 + Tailwindcss V4) ? | AutoTextEffect(自動打字機)

&#x1f4c5; 我們繼續 50 個小項目挑戰&#xff01;—— AutoTextEffect組件 倉庫地址&#xff1a;https://github.com/SunACong/50-vue-projects 項目預覽地址&#xff1a;https://50-vue-projects.vercel.app/。 利用 Vue 3 的 Composition API 和一些簡單的 CSS 動畫來構…

[RAG] LLM 交互層 | 適配器模式 | 文檔解析器(`docling`庫, CNN, OCR, OpenCV)

第二章&#xff1a;LLM 交互層 在上一章中&#xff0c;我們學習了作為"項目總控"的管道協調器&#xff0c;它負責協調 RAG 系統中各個功能模塊。 其中最重要的協調對象之一&#xff0c;便是負責與大型語言模型&#xff08;LLM&#xff09;進行智能交互的LLM 交互層…

Golang 并發快速上手

文章目錄1. 為什么要用協程&#xff1f;1.1 進程與線程1.2 協程1.3 線程和協程的區別線程協程1.4 Go 協程&#xff08;goroutines&#xff09;和協程&#xff08;coroutines&#xff09;2.Go 協程基本內容2.1 channel2.2 select2.3 future 模式3. 實踐示例3.1 并發處理多個網絡…

ESP32輕松實現UDP無線通信

ESP32支持UDP通信&#xff0c;這是一種輕量級、高效的通信協議&#xff0c;適用于需要快速數據傳輸但對數據可靠性要求不高的場景。以下是關于ESP32如何實現UDP通信的詳細說明&#xff1a; 1. UDP協議簡介及其適用場景 UDP&#xff08;用戶數據報協議&#xff09;是一種無連接的…

Electron實現“僅首次運行時創建SQLite數據庫”

在桌面應用中&#xff0c;SQLite因其輕量、嵌入式特性成為本地存儲的熱門選擇。但若重復初始化數據庫&#xff0c;會導致數據覆蓋或冗余。本文將詳解如何讓Electron應用僅在首次啟動時創建SQLite數據庫&#xff0c;后續啟動直接連接現有庫。一、核心邏輯與實現原理 核心思路&am…

阿里開源AI大模型ThinkSound如何為視頻配上靈魂之聲

目錄 前言 一、當AI解決視頻配音的困境 二、引入“思維鏈”&#xff1a;讓AI像專業音效師一樣思考 三、背后的技術支撐 四、未來ThinkSound會如何改變我們的世界&#xff1f; 總結 &#x1f3ac; 攻城獅7號&#xff1a;個人主頁 &#x1f525; 個人專欄:《AI前沿技術要聞…

圖論(1):多叉樹

多叉樹一、基礎知識1. 圖 & 樹2. 模板2.1 建圖二、簡單循環1. 【模板】樹的路徑求和2. 道路修建&#xff08;改&#xff09;3. 聯合權值4. 毛毛蟲樹三、自頂向下/自底向上1. 醫療中心2. 【模板】樹的直徑3. 【模板】最大子樹和4. 信號放大器一、基礎知識 1. 圖 & 樹 …

樓宇自動化:Modbus 在暖通空調(HVAC)中的節能控制(一)

引言**在當今的建筑領域&#xff0c;樓宇自動化正扮演著愈發關鍵的角色&#xff0c;它致力于提升建筑的舒適度、安全性以及能源效率。而暖通空調&#xff08;HVAC&#xff09;系統作為樓宇自動化中的核心部分&#xff0c;其能耗在整個建筑能耗中占比相當高&#xff0c;據相關數…

【SpringBoot】注冊條件+自動配置原理+自定義starter

注冊條件注入到容器內實體類型對象的屬性都是null&#xff0c;這些對象并沒有什么實際的意義&#xff0c;因為實體類的對象就是來封裝對象的&#xff0c;結果你這些對象中什么都沒有&#xff1b;解決方法是1.給這些屬性賦值然后再注入bean但是這些屬性又是固定的不是很好&#…

Server reports Content-Length Mismatch 的根源與解決方案

“服務器聲明604字節&#xff0c;Yum卻期待28680字節”——當包管理器與倉庫服務器之間的信任崩塌時&#xff0c;會發生什么&#xff1f;問題重現 yum install package_name ... Interrupted by header callback: Server reports Content-Length: 604 but expected size is: 28…

基于 Python/PHP/Node.js 的淘寶 API 商品數據抓取開發教程

在電商數據分析、競品監控等場景中&#xff0c;抓取淘寶商品數據是常見需求。淘寶開放平臺&#xff08;Open Platform&#xff09;提供了標準化的 API 接口&#xff0c;通過合法途徑調用可高效獲取商品信息。本文將分別基于 Python、PHP、Node.js 三種語言&#xff0c;詳解淘寶…

【Tensor的創建】——深度學習.Torch框架

目錄 1 Tensor概述 2 Tensor的創建 2.1 基本的創建方式 2.1.1 torch.tensor 2.1.2 torch.Tensor 2.2 創建線性和隨機張量 2.2.1 創建線性張量 2.2.2 隨機張量 1 Tensor概述 PyTorch會將數據封裝成張量&#xff08;Tensor&#xff09;進行計算&#xff0c;張量就是元素為…

Python腳本批量修復文件時間戳,根據文件名或拍攝日期

實現以下功能 更正文件的 修改時間批量修改指定文件夾中的特定后綴的文件根據文件名中的日期修改&#xff08;優先&#xff09;根據 jpg 文件屬性中的拍攝日期修改根據 mp4 文件屬性中的創建媒體日期修改模擬運行&#xff08;Dry Run&#xff09;模式 依賴 若需要基于jpg文件屬…

[Mysql] Connector / C++ 使用

一、Connector / C 使用 要使用 C 語言連接 MySQL&#xff0c;需要使用 MySQL 官網提供的庫&#xff0c;可以去官網進行下載&#xff1a;MySQL :: MySQL Community Downloads 我們使用 C 接口庫來進行連接&#xff0c;要正確使用&#xff0c;還需要做一些準備工作&#xff1a…

【PDF識別改名】使用京東云OCR完成PDF圖片識別改名,根據PDF圖片內容批量改名詳細步驟和解決方案

京東云OCR識別PDF圖片并批量改名解決方案一、應用場景在日常辦公和文檔管理中&#xff0c;經常會遇到大量 PDF 文件需要根據內容進行分類和命名的情況。例如&#xff1a;企業合同管理系統需要根據合同編號、日期等內容自動命名 PDF 文件圖書館數字化項目需要將掃描的圖書章節按…

stm32-modbus-rs485程序移植過程

背景 【modbus學習筆記】Modbus協議解析_modus協議中0.001如何解析-CSDN博客 【Modbus學習筆記】stm32實現Modbus(從機)并移植_stm32 modbus數據處理-CSDN博客 繼上篇成功移植modbus從機例程之后&#xff0c;我要嘗試移植主機的程序。經提醒&#xff0c;可用野火的modbus代碼…

Spring MVC 執行流程詳解:一次請求經歷了什么?

Spring MVC 執行流程詳解&#xff1a;一次請求經歷了什么&#xff1f; 引言 在現代 Web 開發中&#xff0c;Spring MVC 作為 Spring 框架的重要組成部分&#xff0c;廣泛應用于構建靈活、可擴展的 Java Web 應用。作為一個基于 MVC&#xff08;Model-View-Controller&#xff0…

Vue 3的核心機制-解析事件流、DOM更新、數據請求、DOM操作規范及組件庫DOM操作的解決方案

文章目錄概要整體介紹vue 中dom操作推薦方案實例概要 從Vue 3的核心機制出發&#xff0c;結合場景、應用與實例&#xff0c;系統化解析事件流、DOM更新、數據請求、DOM操作規范及組件庫DOM操作的解決方案&#xff1a; 整體介紹 ?? 一、事件流處理機制 核心機制 ? 三個階段…