36浏览
查看: 36|回复: 0

[讨论] Beetle 树莓派RP2350--试用测评2:基于面包板的软硬件交互

[复制链接]
【一、项目简介】

书接上回:Beetle 树莓派RP2350--试用测评之使用文档101及LLM使用二三事 ,单单薅板载 LED 的羊毛,显得不够大气。这回给板子焊上排针,拿出尘封10年的面包板,做一个软硬件交互。因为桌上最先能拿到的传感器、执行器是dht11温湿度传感器和一个LED 灯珠,我们就用这两个设备来开始今天的交互之旅。

【二、项目过程】

1. LED 电灯启航

虽然木子姐姐强调不能点灯帖,但帖子里点灯还是需要的,我们按照线路图练好杜邦线。先亮个灯:

Beetle 树莓派RP2350--试用测评2:基于面包板的软硬件交互图1

  1. from machine import Pin
  2. import time
  3. # 初始化内置LED引脚
  4. # 在大多数MicroPython板上,内置LED通常连接到特定引脚
  5. # 例如ESP32上常用Pin(2),ESP8266上常用Pin(2)或Pin(16)
  6. # 树莓派Pico上通常是Pin(25)
  7. # 请根据您的实际开发板调整引脚号
  8. led = Pin(18, Pin.OUT)  # 创建输出引脚对象,引脚号需要根据您的开发板调整
  9. # 主循环函数,相当于Arduino的loop()
  10. def main():
  11.     while True:
  12.         led.value(1)    # 输出高电平,点亮LED灯
  13.         time.sleep(1)   # 延时一秒钟
  14.         led.value(0)    # 输出低电平,熄灭LED灯
  15.         time.sleep(1)   # 延时一秒
  16. # 程序入口
  17. if __name__ == '__main__':
  18.     main()
复制代码
如期闪烁,线路一切正常。

2. DHT11的助攻:

现在接上我们的 DHT11 温湿度传感器,看看是不是也能正常工作:
Beetle 树莓派RP2350--试用测评2:基于面包板的软硬件交互图2
  1. import machine
  2. import dht
  3. import time
  4. # 初始化DHT11传感器(数据引脚连接到GPIO2)
  5. d = dht.DHT11(machine.Pin(4))
  6. def read_dht11():
  7.     try:
  8.         # 触发传感器测量
  9.         d.measure()
  10.         
  11.         # 读取温度和湿度
  12.         temp = d.temperature()  # 温度(摄氏度)
  13.         humi = d.humidity()     # 湿度(百分比)
  14.         
  15.         print("温度: {:.1f}°C, 湿度: {:.1f}%".format(temp, humi))
  16.         
  17.     except Exception as e:
  18.         print("读取传感器失败:", e)
  19. # 每隔2秒读取一次数据
  20. while True:
  21.     read_dht11()
  22.     time.sleep(2)
复制代码
Beetle 树莓派RP2350--试用测评2:基于面包板的软硬件交互图3

执行正常。

3. 来自需求的联动

很明显,独立的个体不是我们所倡导的。现在让我们把这两个设备一同连在面板板上,做一个交互:
当温湿度超出一定范围时,让灯亮起来。当作报警的一个执行件,当然代码这种事情,是要交给 LLM 的。
Beetle 树莓派RP2350--试用测评2:基于面包板的软硬件交互图4

LLM 给出的代码相当正确:
  1. import machine
  2. import dht
  3. import time
  4. # 初始化DHT11传感器(数据引脚接GPIO4)
  5. dht_sensor = dht.DHT11(machine.Pin(4))
  6. # 初始化LED(接GPIO18,假设低电平点亮)
  7. led = machine.Pin(18, machine.Pin.OUT)
  8. led.value(0)  # 默认关闭LED
  9. def read_dht11():
  10.     try:
  11.         # 触发传感器测量
  12.         dht_sensor.measure()
  13.         
  14.         # 读取数据
  15.         temp = dht_sensor.temperature()  # 温度(℃)
  16.         humi = dht_sensor.humidity()    # 湿度(%)
  17.         
  18.         print("温度: {:.1f}°C, 湿度: {:.1f}%".format(temp, humi))
  19.         
  20.         # 湿度>80%时点亮LED,否则关闭
  21.         if humi > 35:
  22.             led.value(1)  # 点亮LED(根据实际电路可能是0或1)
  23.             print("警告:湿度过高!")
  24.         else:
  25.             led.value(0)  # 关闭LED
  26.         
  27.     except Exception as e:
  28.         print("传感器读取失败:", e)
  29.         led.value(0)  # 确保异常时关闭LED
  30. # 主循环
  31. while True:
  32.     read_dht11()
  33.     time.sleep(2)  # 每2秒读取一次
复制代码

当我们,把手指放上去的时候,事就这样成了!

Beetle 树莓派RP2350--试用测评2:基于面包板的软硬件交互图5

【三、项目总结】

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail