Beetle 树莓派RP2350--试用测评2:基于面包板的软硬件交互
【一、项目简介】书接上回: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设计优势在哪里?
页:
[1]