Beetle-RP2350 擴展板設計
本文介紹了 DFRobot Beetle RP2350 開發板的擴展板設計,包括參數特點、效果展示、原理圖、實物驗證、工程測試等,為 RP2350 系列產品的開發提供了便捷。
PCB 工程詳見:Beetle-RP2350擴展板 - 立創開源硬件平臺 .
參數
- 所有 IO 接口引出
- 多排電源
- 4 線 OLED 和 7 線 TFT 接口
- UART、ADC、IIC、SPI 接口
- DHT11 傳感器接口
- 支持 直插 和 貼片 兩種安裝方式
- 支持 Battery 接口,便于外接鋰電池使用;
- OLED、TFT、DHT11 的 VCC 供電處增加 100nF 濾波電容,提升抗干擾能力;
- 支持 3D 外殼;
- 支持 DFRobot 官方 Logo 清晰焊盤;
- 大供電過孔,內徑20mil,外徑40mil,確保供電線寬,減少發熱,保障電路安全;
- ……
為 Beetle RP2350 開發板的快速開發和DIY應用設計提供了極大便利。
原理圖
模塊化設計,便于外設的連接與快速測試。
3D 效果展示
Top view
- PCB 板具有合理的硬件布局,充分釋放開發板接口功能;
- 標簽及文字設計極大提升了整體美觀度與使用性能。
外殼
3D 外殼設計不僅增強了美觀度,而且提升了擴展板的便攜性,并為其提供電氣保護。
實物驗證
包括 PCB 沉金板打印驗證、工程測試等。
PCB 打板
工程測試
這里展示了 DHT11 傳感器、OLED 和 ADC 功能的測試效果。
DHT11
測試 DHT11 溫濕度傳感器,實現環境溫濕度數據的 OLED 顯示。
代碼
'''
Name: DHT11 temperature sensor and IIC OLED
Version: v1.0
Date: 2025.04
Author: ljl
Other: Acquiring temperature and humidity data and showing on OLED screen
'''from machine import Pin
from PicoDHT22 import PicoDHT22
import utime
# OLED
from machine import Pin, SoftI2C
import ssd1306# ==== Initialized IIC OLED ====
i2c = SoftI2C(scl=Pin(5), sda=Pin(4))
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)def display_TH(temp,humi):oled.fill(0) # 清屏oled.text("Temperature:", 0, 0)oled.text("{:.1f} C".format(temp), 20, 15)oled.text("Humidity:", 0, 35)oled.text("{:.1f} %".format(humi), 20, 50)oled.show()dht_sensor=PicoDHT22(Pin(0,Pin.IN,Pin.PULL_UP),dht11=True)
while True:temp,humi = dht_sensor.read()if temp is None:print(" sensor error")else:print("Temp: {:.1f}°C Humi: {:.1f}%".format(temp,humi))# 顯示到OLEDdisplay_TH(temp,humi)#DHT22 not responsive if delay to shortutime.sleep_ms(500)
ADC
測試 ADC 性能,通過 ADC 采集模擬通道信號電壓,并轉化為芯片溫度,實現電壓和溫度數據的 OLED 顯示。
代碼
'''
Name: ADC voltage, temperature and IIC OLED display
Version: v1.0
Date: 2025.04
Author: ljl
Other: Acquiring voltage, temperature data by ADC and showing on OLED screen
'''# ADC
import machine
import time# OLED
from machine import Pin, SoftI2C
import ssd1306# ==== Initialized IIC OLED ====
i2c = SoftI2C(scl=Pin(5), sda=Pin(4))
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)# ADC voltage and temperature
sensor_temp = machine.ADC(4)
conversion_factor = 3.3 / (65535)
potentiometer = machine.ADC(26)def display_VT(vol,temp): # voltage and temperatureoled.fill(0) # 清屏oled.text("Analog Voltage: ", 0, 0)oled.text("{:.2f} V".format(vol), 0, 15)oled.text("Sensor Temperature: ", 0, 35)oled.text("{:.2f} C".format(temp), 0, 50)oled.show()while True:try:vol = potentiometer.read_u16() * conversion_factor # voltage (V)reading = sensor_temp.read_u16() * conversion_factortemp = 27 - (reading - 0.706)/0.001721# 打印到串口print("Analog Voltage: {:.2f} V , Temperature: {:.2f} °C".format(vol,temp))# 顯示到OLEDdisplay_VT(vol,temp)except Exception as e:print("Error:", e)oled.fill(0)oled.text("Error!", 0, 20)oled.show()time.sleep(1) # 每2秒更新一次
總結
本文介紹了 DFRobot Beetle RP2350 開發板的擴展板設計,包括參數特點、效果展示、原理圖、實物驗證、工程測試等,為 RP2350 的開發和應用提供了參考。