问题标签 [raspberry-pi-pico]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spi - 如何使用带有 SPI 的 DAC 的 Raspberry Pi Pico 生成 1 kHz 的正弦波,每个周期有 20 k 个样本
我有一个可与 50MHz SPI 接口一起使用的 DAC。它是一个具有 8 位地址的 16 位 DAC,因此我需要发送 24 位数据。我想使用 Pico 向 DAC 发送数据,以产生 1 kHz 的正弦波,采样数为 20(因此采样率不超过 20ksps)。我使用 Micropython 对 pico 进行编程,但无法获得超过 500 hz 的波。我在做什么错.....有没有办法使用 DMA 来加速这个过程?DAC还需要芯片选择,它不在机器模块中,所以我不得不使用gpio。这是否会减慢进程?
function - 为什么这个 micropython 函数不起作用?
我在 micropython 中编写了一个函数,它试图检索 uname 信息并删除我不想要的东西,然后返回一个值:
每次我尝试将其作为模块导入时,都会收到一条错误消息:
但是,如果我将函数直接复制并粘贴到repl中,它是成功的,没有错误:
我已经尝试了所有我能想到的方法,我重命名了文件以防万一导致问题。有没有人有关于如何解决这个问题的建议?
谢谢!
python - 如何解决 Raspberry Pi Pico 中的睡眠错误?
我买了 Raspberry Pi Pico 并设置了一切。它完美地工作,但现在有时我有错误sleep(0.001)
,有时它工作,有时它没有。我有两个 7 段显示器,我想相应地打开和关闭它们。不幸的是,过了一会儿,代码开始在睡眠中发疯。它需要非常小才能使二极管看起来很亮,并使它们能够显示不同的数字。无论如何,这是我的代码(我仍在努力使数字从 7 到 9 也出现,但出现了错误,我不知道为什么)
gps - Pi Pico Micropython Loop 似乎卡住了
我在我的论文中使用 Pico 和 Arduino Due 来开发低成本的全自动无人机。无论如何,代码在我添加 GPS 部分之前就可以工作,但现在即使我把它拿出来,超声波也不能正常工作。仅显示左侧传感器,不会继续显示 GPS。
我也试图毫无乐趣地使用多线程:(
任何帮助或建议都会很棒。
它有点乱,我知道还没来得及打磨它。
embedded - 电子纸显示器和树莓派 Pico
我们一直在开展一个项目,以使电子纸显示器与 Raspberry Pi Pico 板一起使用。我们已经设法让所有东西都与 ESP8266 板一起工作,但出于耗电的原因,我们想使用 Pico。我们使用的电子纸显示器是 Waveshare 2.9" SPI。
我们正在尝试使用这个库:https ://github.com/ZinggJM/GxEPD2
它与 ESP8266 配合得很好,有人设法让它与 Raspberry Pi Pico 一起工作,如果是这样,你能提供任何提示让它与 Pico 一起工作吗?请查找我们收到的附加错误消息。
这是我得到的错误消息:
此文件 GxEPD2_EPD.cpp:17:10 的以下行:
micropython - 在 Raspberry Pi Pico 上终止 micropython 中的第二个线程
我使用 RP2040 芯片的两个内核。主要的一个运行主循环,第二个处理 LCD 显示。我在线程上开始第二个,比如
taskLCD 每半秒更新一次 LCD。
有时当我重新启动程序时,第二个核心仍在工作并且有一条消息:
OSError:core1 正在使用中
有没有办法提前杀死这个第二个核心进程并消除这个消息?阻止它的唯一方法是完全关闭/断电芯片。但是,在这种情况下,所有信息都丢失了,我不知道发生了什么,是什么导致了错误。
python - MicroPython 中的按钮 (GPIO) 按下逻辑
我有另一个关于迭代菜单逻辑的问题,问题变成了按钮逻辑,所以我把它们分开了,因为原来的问题已经真正解决了。
我的代码如下:
特别是,您可以看到我定义了两个按钮:
它们主要用于从具有多种选择的菜单中进行选择:
但是,我遇到了一个问题,即只能交替按下按钮。也就是说,当 multi_choice 功能开始时,我可以按 button1 选择第一个选项,或者我可以按 button2 滚动到下一个选项,但是,如果我按 button2,例如,它不会注册第二次按下 (选择第二个选项),然后我只能按下按钮 1 ...如果我这样做,我只能接下来按下按钮 2。
我确定这只是我没有看到的逻辑问题。
这些按钮是 GPIO 引脚 2 和 3 上的普通瞬时关闭 Cherry MX 开关。它们确实可靠地工作,但这种逻辑有些不稳定。
以下测试工作得很好,所以它不是按钮......
我添加了一些打印语句来调试它,我可以看到按钮获取和保存值。我觉得我需要调整人工重置,也许这是我可以在去抖动中做的事情?我尝试了一些事情,但到目前为止我没有取得进展。
以及上述调试打印的输出:
python - 如何在 MicroPython 上制作更大的整数?
我正在研究一个关于 Raspberry Pi Pico 的个人项目。我尝试在其上制作 mandelbrot set explorer。但我现在有一个限制。在我的搜索中,我看到 MicroPython 只存储 32 位整数,但我需要的不止这些。是否有任何模块或技术来增加整数大小?
如果有人有任何建议,那将非常有帮助。
python - 如何从 micropython 中的字节数组/字节转换?
我在 pi pico 上的 micropython 中使用 uhashlib 对事物进行哈希处理。这是一个例子:
这输出:
...显然,这不是超级有用。我已经尝试了很多东西,但我无法弄清楚如何从b'...'
micropython 中的字节()进行转换。有人有想法/方法吗?
lora - Raspberry Pi Pico 发送 LoRa 消息
我正在使用这个pico 跟踪器代码中的两个函数:
我不确定它是否在发送任何东西。我在另一个 SX1278 板上有一个 ESP32 接收器,我已经测试了 ESP32 上的发送器和接收器板,它从一个正在发送的 ESP8266 接收,并且板子很好。
ESP32/ESP8266 在 Arduino IDE 中使用 LoRa 库,但 pico 使用上述Lora.cpp
功能,并且该代码设置带宽、扩频因子等,而 LoRa 库没有。我假设 pico 发送正常,但 ESP32 没有收到任何东西。
发送方和接收方是否必须使用完全相同的设置、模式、带宽、扩频因子、隐式/显式报头等?
pico 使用模式 1:
我是否需要将这些转换为 LoRa 库等价物才能让 ESP32 接收 pico 消息?
例如
但似乎没有 or 的等价ErrorCoding
物LowDataRateOptimize
。