差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
pir [2023/07/21 13:51]
gaohancheng
pir [2023/07/24 09:47] (当前版本)
gaohancheng
行 53: 行 53:
 目前PIR传感器有以下的用处: 目前PIR传感器有以下的用处:
   * 安防系统:PIR传感器常用于安防系统,例如家庭安全系统或办公室安全系统。当有人进入被监控的区域时,PIR传感器会检测到其体温所产生的红外辐射变化,并触发警报或其他相应的安全措施。   * 安防系统:PIR传感器常用于安防系统,例如家庭安全系统或办公室安全系统。当有人进入被监控的区域时,PIR传感器会检测到其体温所产生的红外辐射变化,并触发警报或其他相应的安全措施。
-{{ :rc2.jpg?500 |}}+{{ :rc2.jpg?300 |}}
   * 照明控制:PIR传感器可用于自动控制照明系统。通过检测房间内是否有人活动,PIR传感器可以向控制器发送信号,从而控制灯光的开关和亮度,实现智能节能的照明系统。   * 照明控制:PIR传感器可用于自动控制照明系统。通过检测房间内是否有人活动,PIR传感器可以向控制器发送信号,从而控制灯光的开关和亮度,实现智能节能的照明系统。
-{{ :rc3.jpg?500 |}}+{{ :rc3.jpg?300 |}}
   * 自动化系统:PIR传感器也广泛应用于建筑自动化系统,如自动门、自动电梯和自动洗手间等。当有人接近时,PIR传感器可以检测到并触发相应的自动化操作,提供方便性和舒适性。   * 自动化系统:PIR传感器也广泛应用于建筑自动化系统,如自动门、自动电梯和自动洗手间等。当有人接近时,PIR传感器可以检测到并触发相应的自动化操作,提供方便性和舒适性。
-{{ :rc5.jpg?500 |}}+{{ :rc5.jpg?300 |}}
   * 能源管理:PIR传感器可用于能源管理系统,例如管理办公室或商店中的空调和供暖系统。当检测到没有人活动时,传感器可以自动降低或关闭能源消耗较高的设备,以节省能源。   * 能源管理:PIR传感器可用于能源管理系统,例如管理办公室或商店中的空调和供暖系统。当检测到没有人活动时,传感器可以自动降低或关闭能源消耗较高的设备,以节省能源。
-{{ :rc7.jpg?500 |}}+{{ :rc7.jpg?300 |}}
   * 应用于健康监测:在医疗领域,PIR传感器可用于监测人体的运动和活动,例如睡眠监测、老年人护理等。通过检测身体的微小运动,传感器可以提供有关人体活动模式和健康状况的信息。   * 应用于健康监测:在医疗领域,PIR传感器可用于监测人体的运动和活动,例如睡眠监测、老年人护理等。通过检测身体的微小运动,传感器可以提供有关人体活动模式和健康状况的信息。
-{{ :rc8.jpg?500 |}}+{{ :rc8.jpg?300 |}}
 ### 4. 主要的无源红外传感器供应商 ### 4. 主要的无源红外传感器供应商
   * **[[https://​www.st.com/​content/​st_com/​en.html|意法半导体(STMicroelectronics)]]**:作为全球领先的半导体公司之一,意法半导体提供了多种无源红外传感器产品,包括接近传感器、手势识别传感器和红外遥控解码器。   * **[[https://​www.st.com/​content/​st_com/​en.html|意法半导体(STMicroelectronics)]]**:作为全球领先的半导体公司之一,意法半导体提供了多种无源红外传感器产品,包括接近传感器、手势识别传感器和红外遥控解码器。
行 69: 行 69:
  
 ### 5. 参考案列 ### 5. 参考案列
-  ​+针对与本次无源红外传感器,我们采用了GY——906无源红外温度传感器(基本原理与PIR传感器没有太大差别)与基于RP2040的逻辑/​协议/​信号调试助手——十二指神探进行联接,通过micropython语言来编译相关代码,实现其功能: 
 +{{ :​rp2040_datasheet.png?​500 |}} 
 +代码如下:
  
 + from machine import Pin, I2C
 + ​import time
 + 
 + i2c = I2C(1, scl=Pin(23),​ sda=Pin(22))
 + ​address = 0x5A
 + 
 + while True:
 +    i2c.writeto(address,​ bytearray([0x07])
 +    time.sleep_ms(500)  ​
 +   
 +    # 读取温度数据
 +    data = i2c.readfrom(address,​ 3)  ​
 +    temp_raw = (data[0] << 8) + data[1]  ​
 +    temp_celsius = (temp_raw * 0.02) - 273.15  ​
 +    temp_fahrenheit = (temp_celsius * 9 / 5) + 32  ​
 +    ​
 +    print("​Temperature:​ {:.2f}°C / {:​.2f}°F"​.format(temp_celsius,​ temp_fahrenheit))
 +    ​
 +    time.sleep(1) ​