【一、项目简介】
书接上回:Beetle 树莓派RP2350--试用测评之使用文档101及LLM使用二三事 ,单单薅板载 LED 的羊毛,显得不够大气。这回给板子焊上排针,拿出尘封10年的面包板,做一个软硬件交互。因为桌上最先能拿到的传感器、执行器是dht11温湿度传感器和一个LED 灯珠,我们就用这两个设备来开始今天的交互之旅。
【二、项目过程】
1. LED 电灯启航
虽然木子姐姐强调不能点灯帖,但帖子里点灯还是需要的,我们按照线路图练好杜邦线。先亮个灯:

- from machine import Pin
- import time
-
- # 初始化内置LED引脚
- # 在大多数MicroPython板上,内置LED通常连接到特定引脚
- # 例如ESP32上常用Pin(2),ESP8266上常用Pin(2)或Pin(16)
- # 树莓派Pico上通常是Pin(25)
- # 请根据您的实际开发板调整引脚号
- led = Pin(18, Pin.OUT) # 创建输出引脚对象,引脚号需要根据您的开发板调整
-
- # 主循环函数,相当于Arduino的loop()
- def main():
- while True:
- led.value(1) # 输出高电平,点亮LED灯
- time.sleep(1) # 延时一秒钟
- led.value(0) # 输出低电平,熄灭LED灯
- time.sleep(1) # 延时一秒
-
- # 程序入口
- if __name__ == '__main__':
- main()
-
复制代码
如期闪烁,线路一切正常。
2. DHT11的助攻:
现在接上我们的 DHT11 温湿度传感器,看看是不是也能正常工作:

- import machine
- import dht
- import time
-
- # 初始化DHT11传感器(数据引脚连接到GPIO2)
- d = dht.DHT11(machine.Pin(4))
-
- def read_dht11():
- try:
- # 触发传感器测量
- d.measure()
-
- # 读取温度和湿度
- temp = d.temperature() # 温度(摄氏度)
- humi = d.humidity() # 湿度(百分比)
-
- print("温度: {:.1f}°C, 湿度: {:.1f}%".format(temp, humi))
-
- except Exception as e:
- print("读取传感器失败:", e)
-
- # 每隔2秒读取一次数据
- while True:
- read_dht11()
- time.sleep(2)
复制代码

执行正常。
3. 来自需求的联动
很明显,独立的个体不是我们所倡导的。现在让我们把这两个设备一同连在面板板上,做一个交互:
当温湿度超出一定范围时,让灯亮起来。当作报警的一个执行件,当然代码这种事情,是要交给 LLM 的。

LLM 给出的代码相当正确:
- import machine
- import dht
- import time
-
- # 初始化DHT11传感器(数据引脚接GPIO4)
- dht_sensor = dht.DHT11(machine.Pin(4))
-
- # 初始化LED(接GPIO18,假设低电平点亮)
- led = machine.Pin(18, machine.Pin.OUT)
- led.value(0) # 默认关闭LED
-
- def read_dht11():
- try:
- # 触发传感器测量
- dht_sensor.measure()
-
- # 读取数据
- temp = dht_sensor.temperature() # 温度(℃)
- humi = dht_sensor.humidity() # 湿度(%)
-
- print("温度: {:.1f}°C, 湿度: {:.1f}%".format(temp, humi))
-
- # 湿度>80%时点亮LED,否则关闭
- if humi > 35:
- led.value(1) # 点亮LED(根据实际电路可能是0或1)
- print("警告:湿度过高!")
- else:
- led.value(0) # 关闭LED
-
- except Exception as e:
- print("传感器读取失败:", e)
- led.value(0) # 确保异常时关闭LED
-
- # 主循环
- while True:
- read_dht11()
- time.sleep(2) # 每2秒读取一次
复制代码
当我们,把手指放上去的时候,事就这样成了!

【三、项目总结】
1. 果然面包板还是大爷。第一次测试的时候,死活读不到DHT11数据。怀疑过针脚有没有虚焊、怀疑过面包板是否损坏、怀疑过DHT11模块问题,但最终换了杜邦线就好;
2. 还是需要扩展版,毕竟要进行可穿戴设计的时候,面包板略显厚重;
3. mpy + RPi 确实提高生产力;
4. 对于这块板子的其它性能测试,有待后续跟进。论坛里看到有一帖是测试CPU的还不错,要学习下。现在的疑问是:RP2350 的双CPU设计优势在哪里?
|