在这篇文章中,我们将向您展示如何在Arduino上使用SD卡模块来读写SD卡上的文件。
目录
介绍SD卡模块
SD卡模块对于需要数据记录的项目特别有用。
Arduino可以在SD卡中创建文件,以使用SD库写入和保存数据 。
不同供应商提供了不同的模型,但是它们都使用SPI通信协议以类似的方式工作。本教程中使用的模块是下图所示的模块(前视图和后视图)。
该模块与micro SD卡配合使用。
去哪买?
SD卡模块非常便宜,可以从某宝买一个就可以了!!
引脚接线
下表显示了如何将SD卡模块连接到Arduino
SD卡模块 | 接线到Arduino Uno | 接线到Arduino Mega |
VCC | 3.3V或5V(请查看模块的数据表) | 3.3V或5V(请查看模块的数据表) |
CS | 4 | 53 |
摩西 | 11 | 51 |
时钟 | 13 | 52 |
味噌 | 12 | 50 |
地线 | gnd |
注意:不同的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卡。
要写入和读取SD卡,首先需要包括 SPI 和 SD 库:
#include <SPI.h> #include <SD.h>
您还必须在片选(CS)引脚(在本例中为引脚4)上初始化SD卡模块。
SD.begin(4);
要在SD卡中打开新文件,您需要创建一个 file引用您的数据文件的对象。例如:
dataFile = SD.open("data.txt", FILE_WRITE);
该函数的第一个参数是文件名, data.txt和 FILE_WRITE ; 使您可以读写文件。
此行代码在SD卡上创建一个名为data.txt的文件。如果data.txt文件已经存在,则Arduino将打开该文件,而不是创建另一个文件。
要将数据写入当前打开的文件,请使用:
dataFile.write(data);
在其中 数据文件 是先前创建的文件对象, 数据 是您要在文件中写入的内容。
您也可以使用 print() 或者 println() 将数据打印到文件中的功能:
dataFile.print(data); dataFile.println(data); // followed by a new line
要读取保存在文件中的数据,请执行以下操作:
dataFile.read();
棒啊,请教一下,如果想在sd卡创建两个不同的文件怎么做
有看有回复
谢谢分享
谢谢
有看有回复
厉害,data.txt完成数据操作后,有没有针对txt文档的整体传输命令,上位机直接获取?
看看