在这篇文章中,我们将向您展示如何在Arduino上使用SD卡模块来读写SD卡上的文件。

SD卡模块介绍
SD卡模块对需要数据记录的项目特别有用。
Arduino可以在SD卡中创建文件,以使用SD库写入和保存数据 。
不同供应商提供了不同的模型,但是它们都使用SPI通信协议以相似的方式工作。本教程中使用的模块如下图所示(前视图和后视图)。

该模块与micro SD卡配合使用。

引脚接线
下表显示了如何将SD卡模块连接到Arduino
SD卡模块 接线到Arduino Uno 接线到Arduino Mega
VCC 3.3V或5V(检查模块的数据表) 3.3V或5V(检查模块的数据表)
CS 4 53
模式 11 51
时钟 13 52
位选 12 50
地线 地线 地线
注意:不同的Arduino板具有不同的SPI引脚。如果您使用的是其他Arduino开发板,请查看Arduino官方说明。
准备SD卡
将SD卡模块与Arduino结合使用时的第一步是将SD卡格式化为FAT16或FAT32。请按照以下说明进行操作。
1)要格式化SD卡,请将其插入计算机。转到我的电脑,然后右键单击SD卡。选择格式,如下图所示。

2)弹出一个新窗口。选择FAT32,按 开始以初始化格式化过程,然后按照屏幕上的说明进行操作。

测试SD卡模块
将格式化的SD卡插入SD卡模块中。
如以下电路原理图所示,将SD卡模块连接到Arduino,或检查上一节中的引脚接线。

注意:根据所使用的模块,插针的顺序可能不同。
代码– CardInfo
为了确保所有接线正确并且SD卡正常工作,请在Arduino IDE窗口中转到File > Examples > SD > CardInfo。
将代码上传到您的Arduino开发板。确保选择了正确的板和COM端口。
以9600的波特率打开串行监视器,您应该会看到SD卡信息。
如果一切正常,您将在串行监视器上看到类似的消息。

读写SD卡
该库提供了有用的功能,可以轻松地写入和读取SD卡。
要写入和读取SD卡,首先需要包括 SPI 和 SD卡 库:
#include <SPI.h>
#include <SD.h>
您还必须在片选(CS)引脚(在本例中为引脚4)上初始化SD卡模块。
SD.begin(4);
要在SD卡中打开新文件,您需要创建一个 文件引用您的数据文件的对象。例如:
dataFile = SD.open("data.txt", FILE_WRITE);
该函数的第一个参数是文件名, data.txt和 FILE_WRITE ; argument使您可以读写文件。
此行代码在SD卡上创建一个名为data.txt的文件。如果data.txt文件已经存在,则Arduino将打开该文件,而不是创建另一个文件。
要将数据写入当前打开的文件,请使用:
dataFile.write(data);
在其中 数据文件 是先前创建的文件对象, 数据 是您要在文件中写入的内容。
您也可以使用 打印() 要么 println() 将数据打印到文件中的功能:
dataFile.print(data);
dataFile.println(data);
读取保存在文件中的数据:
dataFile.read();
您只能一次写入一个文件,因此需要先关闭文件,然后再继续下一个文件。要关闭 我们刚刚创建的data.txt文件:
SD.close("data.txt");
该函数的参数是您要关闭的文件,在本例中为 data.txt。
有关如何读写的完整草图,请在Arduino IDE中转到文件 > 示例 > SD > ReadWrite。

写到最后
这只是Arduino的SD卡模块的快速介绍。
希望本教程对您有所帮助。也希望喜欢电子产品的朋友分享这篇文章!喜欢的朋友记得关注,我会分享更多的项目示例。