亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

Arduino SD 卡:它是什么以及如何使用它

您是否执行过许多 Arduino 项目?并且您需要存储大量重要信息和日志数据?解决方案是使用 Arduino SD 卡。它是如何工作的?

本文将带您了解有关该设备的所有信息,例如它是什么、如何连接、如何使用等等。

继续阅读以发现您需要知道的一切。

Arduino 中的 SD 是什么?

Arduino SD卡

图片来源:Pixlr

SD 卡或微型 SD 卡是具有两个主要组件的设备。这些组件可帮助您轻松地将数据记录包含到您的 Arduino 项目中。此外,大多数 micro SD 卡的工作电压为 3.3V。

因此,无法将设备直接连接到 5V 逻辑电路。简而言之,如果您尝试使用 3.6V 以上的电压,它会损坏您的 SD 卡。

因此,这就是为什么模块具有稳压器(板载超低压差),可将电流电压从 3.3 – 6V 更改为大约 3.3V。

此外,SD卡模块上有一个芯片(74LVC125A),有助于将连接逻辑从3.3 - 5V更改为3.3V。因此,您可以将此过程称为“逻辑电平转换”,这意味着该板可以连接两个微控制器,如 Arduino:3.3V 和 5V。

微控制器组件

如何将标准 SD 卡与 Arduino 连接?我们有两种方法:SDIO 模式和 SPI 模式。

大多数 SD 卡模块都基于 SPI 模式(开销较小且速度较低)。这是大多数微控制器使用的简单模式。

存储卡模块

另一方面,速度更快的模式是 SDIO,它适用于手机、相机等不同的设备。但这种模式往往更复杂,因为您需要在继续之前签署机密文件。

Arduino SD 卡模块的引脚排列

SD 卡模块在适配器上有六个引脚,它们包括:

如何准备您的微型 SD 卡

首先,您需要获得一个 SD 卡模块并插入您的 micro SD 卡。然后,将模块放入 Arduino 中以正确格式化卡。

当您使用它时,请确保您根据 Arduino 库格式化卡。也就是说,你应该将存储卡格式化为FAT32或FAT16。

此外,如果您使用的是全新的 SD 卡,制造商可能已经使用 FAT 文件系统对其进行了预格式化。但是您可能会遇到卡片格式的问题。因此,经验法则是重新格式化您的 SD 卡,无论是新的还是旧的。

如何将 SD 卡连接到 Arduino?

Arduino卡连接SD卡

图片来源:维基共享资源

由于您的 SD 卡已准备好使用,您可以将其连接到 SD 分线板。

因此,您可以先将 micro SD 卡模块放在面包板上。然后,将模块的 VCC 引脚连接到 Arduino 的 5V。此外,将 GND 引脚接地。剩下的就是 SPI 通信的管脚了。

通常,微型 SD 卡需要大量数据传输。但是当您将卡连接到微控制器的硬件 SPI 引脚时,它们的性能会更好。这是因为引脚 (SPI) 比使用不同的引脚集“bit-banging”接口代码更快。

此外,重要的是要注意 Arduino 板具有必须相应连接的各种 SPI 引脚。例如,Arduino Nano 有 11 (MOSI)、12 (MISO) 和 13 (SCK) 等引脚。此外,您还需要第四个引脚:SS 线“片选”。

此外,您可以将引脚 10 用作 SS 引脚或任何首选引脚。但是,在处理 Arduino mega 时,引脚是不同的。因此,您必须使用 53 (SS)、50 (MISO)、51 (MOSI) 和 52 (SCK)。此外,如果您使用其他 Arduino 板,您可以参考此官方文档。然后,您就可以记录数据了。

如何使用 Arduino 代码通过 CardInfo 测试 SD 卡模块?

与 SD 卡通信可能很乏味。但好的部分是 Arduino IDE 具有一个不错的库“SD”。因此,它简化了读取和写入 SD 卡的过程。

此外,运行草图并单击文件→示例→SD→卡信息。之后,草图会通过显示一些数据来通知您是否识别出您的 SD 卡。然后,您可以返回草图并确认“芯片选择”正在使用正确的数字引脚。如果不是,请将引脚更改为 10。

一切正常后,将 SD 卡放入模块并上传草图。此外,当您打开串行监视器时,您应该会立即看到一个提示。并且提示应该显示卷类型、大小和 SDHC(SD 高容量)作为卡类型的 FAT32。

Arduino 草图截图

但如果是克隆或损坏的 SD 卡,您可能会将 SD1 视为没有产品和制造商 ID 的卡类型。有了这个,您可以尝试重新格式化卡。如果你得到相同的结果,扔牌。

Arduino 草图截图

最后,在没有 SD 卡的情况下重新运行草图。并且草图不会初始化 SD 卡。有趣的是,如果您的卡损坏或接线错误,您也可以得到此提示。

Arduino 草图截图

如果 SD 卡已正确格式化且接线正确怎么办?提示将显示:“接线正确,并且存在卡。”

使用 Arduino SD 卡读写数据

如果您的 SD 卡已成功初始化,您可以继续下一步。首先,您可以从上传草图上的代码开始。因此,如果一切正常,您将看到“初始化完成”的显示。

此外,您会看到“写到测试完成”。因此,如果您选择重置 Arduino 并允许草图再次运行,之前的数据将不会被覆盖。相反,新数据将附加到以前的数据。

代码是什么意思?

第 1 部分

该草图具有 SPI 库和内置 SD 库。因此,您可以轻松地使用您的 SD 卡来联系 SPI 接口。

然后,您必须选择 CS 将连接到模块引脚的 Arduino 引脚。那是因为 CS 引脚不固定。另外,由于您使用的是硬件 SPI 库,因此无需说明引脚,因为它们是固定的。

接下来,您必须创建一个对象 myFile,它可以帮助您在 SD 卡上存储信息。

然后,前往 setup() 部分开始串行通信以在串行监视器上显示结果。

之后,您将需要 SD.begin() 函数来初始化您的卡。因此,如果您的卡初始化顺利通过,“if”语句将为真,并且“初始化完成”字符串出现在串行监视器上。否则会出现“else String”:“initialization failed”,程序结束。

然后,您会看到 SD.open() 函数打开了一个文件:“test.txt”。如果您没有看到此文件,则必须创建一个。因此,FILE_WRITE 函数将以读写模式打开。

文件打开后,串行监视器将显示“Writing to test.txt..”消息。此外,您将在 myFile.println() 函数中看到“测试 1、2、3”。之后,您需要应用 close() 函数来保存写入文件的数据。

第 2 部分

现在,您必须检查文件以确认写入操作是否成功。您可以通过将 SD.open() 函数用作“test.txt”来做到这一点。稍后,您可以使用 myFile.read() 函数,该函数将从文件中读取并将其显示在串行监视器上。

之后,使用“while”循环和 myFile.available() 函数读取文件字符。这是因为 read() 函数每次读取一个字符。然后,关闭文件。

不需要多次运行代码,因为这是一个演示草图。并且所有代码都在运行一次的setup()函数中。

注意事项

1. 文件名不区分大小写。所以,WriteLog.Txt 和 writelog.txt 和 WRITELOG.TXT 是一回事。

2. 可以在目录中打开你的文件。

3.可以用println()和print()函数写变量、字符串等。

4. Read() 函数没有读取完整的数字或行。相反,它一次返回一个字符。

5. 文件名要简短,因为 SD 卡库不支持“长文件名”。

常见问题解答

Arduino SD 卡的最大尺寸是多少?

SD卡最大为2GB。

Arduino SD 卡会损坏吗?

是的,这是可能的。它可能由于物理损坏、不当使用、制造缺陷和恶意软件而发生。

底线

Arduino SD 卡是一种实用的存储设备,可用于记录数据。只要您准确接线,就很容易设置。此外,您还可以使用此设备方便地读取和写入数据。

您需要帮助为您的项目获取最佳的 Arduino SD 卡吗?欢迎随时联系。


工业技术

  1. P-F 曲线:它是什么以及如何在维护中使用它
  2. C# 队列示例:什么是 C# 队列以及如何使用?
  3. 什么是 6G,它将有多快?
  4. 什么是泵气蚀以及如何避免它?
  5. 什么是等离子切割以及等离子切割的工作原理?
  6. 什么是焊接? - 类型和如何焊接
  7. 什么是钎焊以及如何钎焊金属?
  8. 什么是铜钎焊以及如何做?
  9. 什么是 MQTT,工业自动化公司如何使用它?
  10. 什么是精益数字化以及如何整合它?
  11. PIC18 微控制器:它是什么以及如何使用它
  12. 什么是参考指示符以及我们如何在装配中使用它?