1K+ 阅读量
Arduino 的串口过滤库可以帮助您对任何传入数据应用一些低通滤波器和中值滤波器,以提供过滤后的输出。该库的 GitHub 存储库可以在此处找到,并且非常详细。为了安装该库,请从 GitHub 下载源代码,并将“Filter”文件夹放置在 Arduino 的库文件夹中(在 Windows 上,路径通常为:C:/Users//Documents/Arduino/libraries)完成后,在 Arduino IDE 中,打开文件→示例→Filter 并选择您选择的示例(例如 firFilter)如您所见,代码非常简单。#include ... 阅读更多
10K+ 阅读量
有几个可用的库可以帮助您在 Arduino 上计算快速傅里叶变换 (FFT)。我们将研究 arduinoFFT 库。可以通过库管理器安装此库(搜索 arduinoFFT)。安装完成后,转到:文件→示例→arduinoFFT 并打开 FFT_01 示例。示例此示例首先创建一个频率为 1000Hz 的正弦波(以 5000Hz 采样)。然后使用汉明函数对其进行加窗。之后它计算 FFT,确定幅度最大的频率,并将其作为基频返回。如果该值接近 1000 Hz,则此代码有效。让我们开始代码... 阅读更多
896 阅读量
Ivan Seidel 的高斯库可以帮助您在 Arduino 中实现高斯数学、卡尔曼滤波器和移动平均线。要下载此库,请转到库管理器并搜索“Gaussian”。安装 Ivan Seidel 的库。安装完成后,转到:文件→示例→Gaussian,然后打开 GaussianRandomPlot 示例。示例现在,这个示例乍一看会让人不知所措。因此,我建议您首先在您的 Arduino 上运行此示例,并查看串行监视器输出。我将在此处显示它。总之,此代码生成 20,000 个随机高斯数,即这些数字遵循高斯钟形曲线分布,并将它们分成不同的... 阅读更多
2K+ 阅读量
Ivan Seidel 的 LinkedList 库有助于在 Arduino 中实现这种数据结构。链表包含一组节点,其中每个节点包含一些数据,以及指向列表中下一个节点的链接(引用)。要安装此库,请转到库管理器,然后搜索 LinkedList。安装完成后,转到:文件→示例→LinkedList 并打开 SimpleIntegerList 示例。大部分代码是不言自明的。我们包含库并创建对象,指定整数作为数据类型。#include LinkedList myList = LinkedList();在 setup 中,我们使用 .add() 函数用一些整数填充列表。void setup() { Serial.begin(9600); ... 阅读更多
600 阅读量
通常,您会在某个地方卡住,并且无法从 Google 搜索中找到任何相关帮助。在这种情况下,您可以在 Arduino 论坛上发布您的问题,并寻求那里庞大的 Arduino 社区的帮助。请确保您没有发布任何重复主题。最好先检查是否存在与您的主题类似的主题。为了在 Arduino 论坛上获得帮助,首先在 https://forum.arduino.cc/ 上注册一个帐户。登录后,您将看到以下屏幕 -单击“新建主题”。将打开以下窗口。您需要... 阅读更多
3K+ 阅读量
Arduino-MemoryFree 库可用于获取 Arduino 中的空闲 RAM。为了使用此库,请先安装它。此处提供了在 Arduino 中安装第三方库的说明:https://tutorialspoint.com/using-a-third-party-library-in-arduino安装完成后,转到:文件→示例→Arduino-MemoryFree。示例如您所见,BareMinimum 示例名副其实。它确实非常短。#include ; #include ; // 不需要新方法。但最好参考一下。void setup() { // 在此处放置您的设置代码,以运行一次: Serial.begin(115200); // 强制编译到并... 阅读更多
Arduino 中的 CronAlarms 库可以帮助您在 Arduino 中设置 cron 作业。如果您不知道 cron 作业,它们是计划在固定时间间隔内执行的任务。例如,每天午夜向服务器发送健康数据包。为了安装此库,请在库管理器中搜索 CronAlarms 并安装 Martin Laclaustra 的库。安装完成后,转到 - 文件→示例→CronAlarms。打开 CronAlarms_example。如果您浏览该示例,您会发现它们正在执行以下操作 -使用...设置时间为 2011 年 1 月 1 日星期六上午 8:29:00, 阅读更多
739 阅读量
顾名思义,ArduinoJSON 库可以帮助您在 Arduino 上使用 JSON 对象。要安装它,请转到库管理器并搜索 ArduinoJSON。安装 Benoit Blanchon 的库。这是文档非常丰富的库之一。实际上,它有自己的网站 - https://arduinojson.org/。您可以在该网站上找到许多问题的答案。在本文中,我们将了解如何从较大的 JSON 中过滤数据并生成较小的 JSON。下载 ArduinoJSON 库后,转到:文件→示例→ArduinoJSONExample我们应该查看的示例是 JsonFilterExample。代码是... 阅读更多
163 阅读量
反序列化的语法如下所示 -deserializeJson(doc, json)其中 doc 是您将在其中存储反序列化输出的 JSON 文档,json 是包含 JSON 内容的缓冲区。好消息是缓冲区可以直接从 PROGMEM 获取。换句话说,如果您不想将繁重的 JSON 字符串存储到 RAM 中,您可以使用 F() 宏将其存储到程序内存或闪存中,并且反序列化将正常工作。示例例如,以下代码段可以完美运行。StaticJsonDocument doc; DeserializationError error = deserializeJson(doc, F("{\"name\":\"Yash\", \"designation\":\"student\"}") );您现在可以去... 阅读更多
您可以使用 ArduinoJson 库声明两种类型的 JSON 文档 - StaticJsonDocument 和 DynamicJsonDocument。两种都需要在声明时指定容量(以字节为单位)。对于静态文档,声明语法为 -StaticJsonDocument doc_name;例如 -StaticJsonDocument myDoc;对于动态文档,声明语法为 -DynamicJsonDocument doc_name(capacity);例如,DynamicJsonDocument myDoc(4096);两者之间的区别在于静态文档在栈上分配内存。因此,它不需要调用 malloc() 和 free(),因此速度更快。动态文档在堆中分配内存,因此速度稍慢,应用于不适合... 的较大的 JSON 阅读更多