Arduino数据记录至Excel

news/2024/7/21 3:55:30 标签: arduino, excel

在本Arduino教程中,我们将学习如何在Arduino开发板上使用SD卡模块。 另外,结合DS3231实时时钟模块,我们将制作一个数据记录示例,在该示例中,我们将温度传感器的数据存储到SD卡中,然后将其导入Excel以制作图表。 您可以观看以下视频或阅读下面的书面教程。

Arduino SD卡和数据记录到Excel教程

Arduino SD卡模块

首先,让我们看一下SD卡模块。它可以与工作电压为3.3 V的标准MicroSD卡配合使用。因此,该模块具有稳压器和电平转换器,因此我们可以将其与Arduino板的5 V引脚一起使用。

SD卡模块有六个引脚,其中两个用于为模块供电,VCC和GND引脚,另外四个用于SPI通信。我们需要将其连接到Arduino开发板。

原理图略

请注意,每个Arduino开发板都有不同的SPI引脚,应相应连接。

编程Arduino SD卡模块

接下来,我们需要对Arduino进行编程。这是一个简单的代码部分:

#include <SD.h>
#include <SPI.h>

File myFile;

int pinCS = 53; // Pin 10 on Arduino Uno

void setup() {

Serial.begin(9600);
pinMode(pinCS, OUTPUT);

// SD Card Initialization
if (SD.begin())
{
Serial.println(“SD card is ready to use.”);
} else
{
Serial.println(“SD card initialization failed”);
return;
}

代码说明:所以首先我们需要包括标准SD和SPI库,创建一个``文件’'对象并定义SPI总线的ChipSelect引脚,在我的案例中为Arduino Mega Board的引脚53。 对于此示例,我们希望代码仅执行一次,因此所有代码都将放置在“ setup”部分中,而“ loop”部分将保持为空。

因此,首先我们需要开始串行通信并将芯片选择引脚定义为输出。我们必须这样做,因为芯片选择脚需要为“低”,以便模块与Arduino之间的SPI通信正常工作。

接下来,使用SD.begin()函数,我们将初始化SD卡,如果初始化成功,则“ if”语句将变为true,并且字符串“ SD卡已准备好使用。”将被打印在串行监视器上,否则 字符串“ SD卡初始化失败”将被打印,并且程序将终止。

接下来,使用SD.open()函数,我们将创建一个名为“ test.txt”的新文件,其中包括FILE_WRITE参数,这意味着我们可以读写该文件。如果文件已经存在,SD.open()函数将打开它。

因此,如果文件已成功创建,我们将在串行监视器上打印字符串“ Writing to file”,然后使用myFile.println()函数将文本“ Testing text 1,2,3…”打印到 文件。 之后,我们需要使用close()函数来确保将先前写入文件的数据实际保存到SD卡中。

接下来,我们将看到如何读取文件。 因此,我们将再次使用相同的函数SD.open(),但是这一次,因为已经创建了文件“ test.txt”,该函数只会打开该文件。 然后,使用myFile.read()函数,我们将从文件读取并将其打印在串行监视器上。 read()函数实际上一次只读取一个字符,因此,我们需要使用“ while”循环和myFile.available()函数来读取所有字符或整个先前写入的数据。 最后,我们需要关闭文件。

现在,将代码上传到Arduino之后,如果一切正常,则串行监视器上将显示以下内容。

详情参阅 - 亚图跨际


http://www.niftyadmin.cn/n/1226852.html

相关文章

Back Tracking

回溯法是一种可以找出所有&#xff08;或一部分&#xff09;解的一般性算法&#xff0c; 它采用试错的思想&#xff0c;尝试分步的去解决问题。在分步解决问题的过程中&#xff0c;当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候&#xff0c;它将取消上一步甚…

Arduino版RFID门锁

在本教程中&#xff0c;我们将学习什么是RFID&#xff0c;如何工作以及如何制作基于Arduino的RFID门锁。您可以观看以下视频或阅读下面的书面教程以了解更多详细信息。 RFID如何工作以及如何制作基于Arduino的RFID门锁 概述 RFID代表射频识别&#xff0c;它是一种非接触式技…

label recoloring and scrolling for little vGL

label重新着色和字符滚动实现 void label_recoloring_scroling(void) {lv_obj_t* label1 lv_label_create(lv_scr_act(), NULL);lv_label_set_long_mode(label1, LV_LABEL_LONG_BREAK); /*Break the long lines*/lv_label_set_recolor(label1, true); /*Enable re-coloring by…

关联分析

项与项集&#xff1a;项是指分析数据中的一个对象(物品)&#xff1b;项集是若干项构成的集合&#xff1b; 支持度&#xff1a;某(些)项集在数据集中出现的概率&#xff08;包含物品甲的记录数量 /总的记录数量&#xff09;&#xff0c;体现某物品当前的流行程度&#xff1b; …

Arduino远程无线通信

在本Arduino教程中&#xff0c;我们将学习如何使用HC-12无线串行通信模块&#xff0c;该模块能够在多个Arduino板之间进行远距离无线通信&#xff0c;距离可达1.8公里。 您可以观看以下视频或阅读下面的书面教程以了解更多详细信息。 Arduino和HC-12远程无线通信模块 概述 在…

text shadow for little vGL

文本阴影效果实现 void text_shadows_demo(void) {static lv_style_t label_style;lv_style_copy(&label_style, &lv_style_plain);label_style.text.opa LV_OPA_50;/*Create a label for the shadow first (its in the background*/lv_obj_t* shadow_label lv_label…

Arduino无线通信– NRF24L01教程

在本Arduino教程中&#xff0c;我们将学习如何使用NRF24L01收发器模块在两个Arduino板之间进行无线通信。您可以观看以下视频或阅读下面的书面教程。 Arduino无线通信– NRF24L01教程 概述 为了说明无线通信&#xff0c;我们将举两个示例&#xff0c;第一个示例将从一个Ardu…

python的twisted

linux的五种IO模式 用户空间与内核空间&#xff1a;现代操作系统采用虚拟存储器&#xff0c;对32位操作系统而言&#xff0c;它的虚拟存储空间(寻址空间)为4G(2的32次方)。操作系统的核心是内核(kernel)&#xff0c;独立于普通的应用程序&#xff0c;可以访问受保护的内存空间…