Pi Pico基于ArduinoIDE的C/C++开发环境搭建

本文介绍Pi Pico基于Arduino的C/C++开发环境搭建。

Raspberry Pi Pico Arduino core是一个板管理器,由用户 Earle F Philhower 在 GitHub 上维护。该核心不仅涵盖原始的 Pico 和 Pico W,还包括可以找到并经常更新的每块基于 RP2040 的板。 为了将其添加到Arduino IDE,需要编辑Arduino的首选项以添加 JSON 字符串,步骤如下:

  • 打开 Arduino IDE。
  • 单击顶部的文件菜单项,然后选择首选项。首选项对话框将打开。 
  • 在“首选项”对话框中,查找标有“Additional Boards Manager URL”的文本框。 在此处插入 JSON 字符串。
  • 如果框为空,则可以直接粘贴,否则,单击框右侧的图标打开一个文本窗口,允许您添加多个 JSON 字符串,每行一个。 

要添加的字符串如下: https://github.com/earlephilhower/arduinopico/releases/download/global/package_rp2040_index.json将字符串添加到 Additional Boards Manager URL 后,单击“确定”将其保存在“首选项”中。

Pi Pico基于ArduinoIDE的C/C++开发环境搭建

接着打开Arduino IDE 开发板管理器。JSON 文件条目实际上并未安装新的 Pico RP2040 开发板。相反,它指向Boards Manager 可以获取更新的位置,mpw 包括一个带有 RP2040 board 条目的位置。我们需要使用Arduino IDE 中的 Boards Manager 实用程序添加新板。

通过选择“工具”菜单打开 Boards Manager 实用程序。向下滚动,直到看到您当前设置的电路板类型(即 Arduino Uno)的条目。突出显示,将出现另一个菜单,允许您更改现有的板或启动板管理器。您需要启动 Boards Manager,以便安装新的 Pico W 开发板。 

Boards Manager 窗口启动后,输入“Pico”过滤搜索。你会得到三个结果,第二个,“Raspberry Pi Pico/RP2040”就是你想要的。 

选择它并单击安装按钮以安装新的 Boards Manager 条目。 

复制所有文件需要一分钟,一旦完成,您就可以开始在 Arduino IDE 上使用 Pico W。

Pi Pico基于ArduinoIDE的C/C++开发环境搭建 

2.2测试安装——点个灯

由于测试任何新板的标准方法基本都是Blink(硬件的Hello World哈哈),我们将遵循传统。

这是一个不错的选择,因为 Pico W使用板载 LED 的“LED_BUILTIN”常量。请记住,对于新的 Pico W,这就是您需要对 LED 进行寻址的方式,因为它不再与 GPIO 端口 25 关联,而是使用 Infineon 43439 芯片上的WL_GPIO0 引脚。 

将示例集合中的 Blink例子加载到 Arduino IDE 中。我们将按原样使用它,因为它已经使用了“LED_BUILTIN”,它可以与 pour new Pico W 一起使用。 

在我们使用它之前,我们需要选择我们需要的板和端口。 

选择电路板和端口

现在我们需要选择一个板和端口。选择电路板非常简单。打开“工具”菜单并向下转到当前选择的板的列表。单击它,将打开一个子菜单,与我们访问 Boards Manager 时看到的子菜单相同。 

这次,我们要选择“Raspberry Pi Pico/RP2040”。 将显示一个包含许多 RP2040 板的菜单。向下滚动直到看到“Raspberry Pi Pico W”并选择它。如果你的还没有,你可以将 Pico W 插入计算机上的 USB 连接器。根据你的操作系统和 Pico W 的当前状态,你可能会收到有关新驱动器的消息。 

返回 IDE,在相同的“工具”菜单中,选择您已将开发板连接到的端口(Windows 上的 COM 端口)。执行此操作时,将发生以下三种情况之一: 

  • 我们会看到一个 Raspberry Pi Pico,在这种情况下你应该选择它。 
  • 我们会看到一个以前没有的通用 USB 端口,在这种情况下,你可以尝试选择它。
  • 我们没有看到端口。

在第三种情况下(也可能是第二种情况),您可以通过将 Pico W 的 USB 电缆从计算机中拔出,按住 Pico W 的 BOOTSEL 开关(电路板上唯一的开关)来尝试解决此问题,并且,按住开关,重新插入 USB 电缆。插入电缆后,您可以松开 BOOTSEL 按钮。 

同样,某些操作系统可能会在您执行此操作时通知您正在安装新驱动器。 

现在检查端口选择,看看您现在是否有可用的 Raspberry Pi Pico W。假设你这样做了,你现在可以上传 Blink代码。如果看到一个闪烁的 LED,那么你就成功了!

Pi Pico基于ArduinoIDE的C/C++开发环境搭建

2.3连接到无线网络

当然,闪烁 LED 并不是一件很有趣的事情,尤其是当我们正在评估具有 WiFi 功能的新板时。现在让我们使用WIFI这个新功能吧!测试 WiFi 的一种简单方法是加载 WiFi 示例之一。一个很好的测试是 ScanNetworks sketch,它可以扫描WiFi网络区域并显示它们,以及它们的信号强度。 

进入“文件”菜单,打开“示例”,从那里,导航到 WiFi 部分。 打开 ScanNetworks草例。这是一个很好的测试草例,因为它不需要 WiFi 凭据。 

由于草例不需要修改,将其加载到Raspberry Pi Pico W。然后打开串行监视器并将波特率设置为 115,200 bps。 您应该会看到本地 WiFi 网络列表、它们的 SSID(如果它们允许显示)、它们的加密方法和它们的信号强度。该列表会在短暂延迟后重复出现,因此如果屏幕上没有立即出现任何内容,请等待几秒钟,然后再按下紧急按钮! 

Pi Pico基于ArduinoIDE的C/C++开发环境搭建

现在我们已经确认我们可以使用 Arduino IDE 来使用 Pico W,我们可以编写一些我们自己的代码来利用新的 WiFi功能。 为此,我们需要知道如何将 Pico W 连接到 WiFi 网络以及如何使用网络数据和构建网络界面。

我们要做的第一个任务是一个常见的任务,即作为客户端连接到 WiFi 网络。这将要求我们传递我们的登录凭据以加入加密网络。连接成功后,我们会被分配一个IP地址。

WiFi 库已包含在 Arduino IDE 中,是完成所有这些工作的关键。该库具有连接到 WiFi 网络并进行通信所需的所有基本功能。

WiFi demo

此草例将说明 WiFi 库的基本操作。它只是将 Pico 连接到我们本地的 2.4 GHz WiFi 网络,并读取我们网络的 DHCP 服务器分配给它的 IP 地址。

/*
  Pi Pico W WiFi Station Demo
  picow-wifi-station.ino
  Use WiFi library to connect Pico W to WiFi in Station mode

  DroneBot Workshop 2022
  https://dronebotworkshop.com
*/

// Include the WiFi Library
#include <WiFi.h>

// Replace with your network credentials
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

void setup() {

  // Start the Serial Monitor
  Serial.begin(115200);

  // Operate in WiFi Station mode
  WiFi.mode(WIFI_STA);

  // Start WiFi with supplied parameters
  WiFi.begin(ssid, password);

  // Print periods on monitor while establishing connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    delay(500);
  }

  // Connection established
  Serial.println("");
  Serial.print("Pico W is connected to WiFi network ");
  Serial.println(WiFi.SSID());

  // Print IP Address
  Serial.print("Assigned IP Address: ");
  Serial.println(WiFi.localIP());

}

void loop() {

  delay(2000);

  // Print IP Address
  Serial.print("Assigned IP Address: ");
  Serial.println(WiFi.localIP());

}

当然,我们首先要包含 WiFi 库。

接下来,我们为要连接的网络的 SSID 和密码定义一些字符常量。当然,您需要编辑代码以匹配您的网络参数。 

在安装程序中,我们启动串行监视器,因为我们将使用它来显示我们的连接进度和生成的 IP 地址。 

下一行指定我们要在 Station 模式下运行。此行是可选的,如果省略它,库将默认为站模式。 

然后我们使用 WiFi.begin 来启动网络连接。请注意,我们在此命令中传递了 SSID 和密码。 

然后我们通过监视 WL_CONNECTED 常量的状态来等待网络连接。如果它是 FALSE,那么我们没有连接。在等待期间,我们将周期打印到串行监视器作为进度指示器。 

然后,我们连接并将生成的 IP 地址打印到串行监视器。 

在循环中,我们只是每两秒重复打印一次 IP 地址。这很有用,因为您在上传到 Pico W 时无法打开串行监视器,因此当您打开它时,您很可能会错过设置例程的结果。 将demo加载到 Pico W 并观察串行监视器。你应该获得一个 IP 地址,表明你已连接到您的网络。

- 本文来自网络,如有侵权,请联系本站处理。

2023-12   阅读(191)   评论(0)
 标签: maker Pico

涨知识
UART

UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信。

评论:
相关文章
新品Raspberry Pi Pico 2,你想知道的都在这里了!

Pico 2采用了树莓派自主设计的新款高性能安全型微控制器 RP2350,核心时钟速度更高、内存翻倍、Arm 核心更强大、具有新的安全功能和升级的接口能力,相比前代产品性能和功能都有大幅提升,同时保持与 Pico 系列产品的硬件和软件兼容性。


Raspberry Pi Pico参考资料和引脚说明图

Pico是一块大小和Arduino Nano差不多的板子。即可以单独使用,也可以作为SMD元件,直接焊接到印刷电路板上。


在树莓派 Pico 上用 PWM 实现 LED 呼吸灯

Pico 上的每个 GPIO 引脚都能够进行脉宽调制,通过改变引脚打开和关闭的频率,可以改变或调制这些脉冲的宽度实现模拟输出。


使用 Raspberry Pi Pico W 和 MicroPython 开发物联网应用

当我们提及物联网(IoT, Internet of Things)开发,可能首先想到的是Arduino或是ESP8266这样的微控制器开发板。然而,Raspberry Pi的微控制器开发板——Raspberry Pi Pico W,也是一个很好的选择。


搜索
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。