差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
pir [2023/07/21 13:52] gaohancheng |
pir [2023/07/24 09:47] (当前版本) gaohancheng |
||
---|---|---|---|
行 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) |