近日收到了一块树莓派RP2350开发板。身为电子信息工程专业的大学生,平时主要是使用Keil开发一些STM32或GD32的程序,对树莓派芯片早有耳闻却还未实际上手体验一下。查阅一些资料后发现Beetle 树莓派RP2350芯片可以使用Arduino IDE开发程序,而Arduino IDE一向以简单且快速开发的形象示人。趁此机会,作者想借编程帮手-豆包之手,谈一点如何快速使用Arduino IDE开发RP2350的经验,本文的目标是全程使用豆包,开发一款基于Beetle 树莓派RP2350开发板的简易温湿度计。
首先,本文首先介绍一下硬件连接情况。本项目共使用到了Beetle 树莓派RP2350开发板、AHT10温湿度传感器和0.96寸 4P IIC OLED屏幕,以及一些杜邦线和转接板。AHT10和OLED屏幕均使用IIC协议与RP2350进行通信,故它们的SCL引脚和SDA引脚要分别连接至开发板的5和4引脚上,OLED的VCC与AHT10的VIN连接至开发板的3V3引脚,OLED和AHT10的GND引脚连接至开发板的GND引脚,至此硬件连接完成。

其次,就要有请作者的好朋友豆包上场了,这时只需要对豆包说出我们的需求,他就可以为我们编写代码了。注意,豆包现阶段还没有那么聪明,我们需要将功能细化,详细地告诉他我们的需求。在本例中,我首先对豆包提出这样的需求,一定要勾选深度思考呀,如图:

说完需求后,豆包就开始思考并工作了,他会根据网上开放出来的信息进行整合,并写出我们的代码,最终的代码我会附在最后的哈,如下图所示:

将这些代码复制到Arduino IDE中,点击运行并下载,就得到了下图的效果:

豆包写的代码成功实现了RP2350芯片采集AHT10温湿度传感器数据后使用OLED屏幕进行展示,基本实现了我们的需求,只有OLED显示数据的效果差强人意。这时,我们再次对豆包提一些新的需求,如下图所示:

豆包很快的响应了我们的需求,并修改了代码。作者将新生成的代码复制进arduiino IDE,编译下载后效果如图所示:

效果好了很多!!!!
写在本文的最后。现在人工智能技术超级强大,已经可以帮助我们完成一些低级程序开发任务了。使用arduino + 豆包可以快速的开发基于Beetle 树莓派RP2350开发板的程序,快速实现我们的需求。Beetle 树莓派RP2350开发板尺寸很小巧,仅使用一根USB数据线就可以实现高速的USB程序下载,体验很赞。
豆包写的代码,贴一下:
#include
#include
#include
#include "Adafruit_AHTX0.h"
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Adafruit_AHTX0 aht;
void setup() {
Serial.begin(115200);
// Initialize the OLED display
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Initializing...");
display.display();
// Initialize the AHT10 sensor
if (!aht.begin()) {
Serial.println("Could not find AHT10 sensor!");
while (1) delay(10);
}
Serial.println("AHT10 Found!");
}
void loop() {
sensors_event_t humidity, temp;
aht.getEvent(&humidity, &temp);
display.clearDisplay();
display.setCursor(0, 0);
display.print("Temperature: ");
display.print(temp.temperature);
display.println(" *C");
display.print("Humidity: ");
display.print(humidity.relative_humidity);
display.println(" %");
display.display();
delay(2000);
}
除了复制代码外,还需要下载Adafruit_GFX、Adafruit_SSD130和Adafruit_AHTX0三个库,下载这三个库的过程中还需要下载一些其它依赖库,请一并下载!!!!!!
KxNKca3xanmq2025.04.27
文末代码的前三行引用库文件时缺失了一部分内容,内容如下: #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> 可以结合第三张图的代码一起参考。