电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>Arduino的DIY SD卡模块

Arduino的DIY SD卡模块

2022-07-04 | zip | 0.03 MB | 次下载 | 2积分

资料介绍

PCB图如下:
pYYBAGKy-lSAXqdaAABUfd9nfzI009.png
poYBAGKy-laAdSjCAAAuWvQf3qI233.png
pYYBAGKy-liAR64GAACBM1RXc9c791.png

成分

Y16271K00000T9R
Vishay电阻器(Vishay Precision Group 的部门)
× 3
106CKR063M
伊利诺伊电容器
× 3
AMS1117-5 × 1
74LVC1G74DC,125
安世半导体
× 1
SD卡槽 × 1
16针母头 × 2

描述

ArduinoDIY SD卡模块

微型 SD 卡适配器模块

poYBAGKy-meAGG-qAABwJk58iRM074.png

pYYBAGKy-mmAfJ3SAABOvF_Dwoc698.png

pYYBAGKy-muABjV6AADj1HOjFDE027.jpg

微型 SD 卡适配器模块

Micro SD 卡适配器模块引脚分配

SD 卡或 Micro SD 卡广泛用于各种应用,例如数据记录、数据可视化等等。微型 SD 卡适配器模块使我们更容易轻松访问这些 SD 卡。Micro SD 卡适配器模块是一个易于使用的模块,具有 SPI 接口和板载 3.3V 稳压器,可为 SD 卡提供适当的电源

 

Micro SD 卡适配器模块的特点和规格

本节介绍了 Micro SD 卡适配器模块的一些特性和规格。

工作电压:4.5V - 5.5V DC

电流要求:0.2-200 mA

3.3 V 板载稳压器

支持FAT文件系统

支持高达 2GB 的微型 SD

支持高达 32GB 的 Micro SDHC

Micro SD 卡转接模块的管脚配置

该模块包含 6 个用于电源和与控制器通信的引脚。

下表描述了模块上每个管脚的管脚类型和作用。

GND - 接地

VCC - 电压输入

MISO - 主输入从输出(SPI)

MOSI - 主输出从输入(SPI)

SCK - 串行时钟(SPI)

CS - 片选(SPI)

将 Micro SD 卡适配器模块连接到 MCU/MPU

Micro SD 卡适配器模块可以轻松连接到 MCU/MPU。由于模块通过SPI协议进行通信,我们需要将模块的MISO、MOSI、SCK和CS连接到MCU。

poYBAGKy-m6ANGXnAACZeVE5VAU752.png

该图像可以被视为参考,并且可以基于此进行连接。除了 SD 卡座,该模块还有一个 3.3V 稳压器,以及一个 74LVC125A 电平转换器 IC

Micro SD 卡适配器模块的替代品

MOD100717 Micro SD 卡模块,Mini Micro SD 读卡器模块

Micro SD卡适配器模块的应用

以下是Micro SD 卡适配器模块的一些应用。

数据记录器

音频视频存储和可视化

可扩展内存

Micro SD 卡适配器模块的 2D 模型

下面是 SD 卡适配器模块的 2D 模型及其尺寸(以毫米为单位)。此信息可用于创建模块的自定义封装,并可用于 PCB 设计和 CAD 建模。

poYBAGKy-nCASZFiAADiDPQc7_U367.jpg

任何标准 micro SD 卡的工作电压都是 3.3 V。所以我们不能直接将它连接到使用 5V 逻辑的电路。事实上,任何超过 3.6V 的电压都会永久损坏 micro SD 卡。这就是为什么; 该模块具有板载超低压差稳压器,可将电压从 3.3V – 6V 转换为 ~3.3V。

模块上还有一个 74LVC125A 芯片,可将接口逻辑从 3.3V-5V 转换为 3.3V。这称为逻辑电平转换。这意味着您可以使用该板与 Arduino 等 3.3V 和 5V 微控制器进行交互。

准备微型 SD 卡

在将 micro SD 卡插入模块并将其连接到 Arduino 之前,您必须正确格式化卡。对于我们将要讨论的 Arduino 库以及几乎所有其他 SD 库,卡必须格式化为 FAT16 或 FAT32。

如果您有一张新的 SD 卡,很可能它已经使用 FAT 文件系统进行了预格式化。但是,您可能对工厂格式化卡的方式有疑问,或者如果它是旧卡,则需要重新格式化。无论哪种方式,在使用前格式化卡总是个好主意,即使它是新的!

我们强烈建议您使用官方的 SD 卡格式化程序实用程序 - 由 SD 协会编写,它解决了格式化错误带来的许多问题!下载格式化程序并在您的计算机上运行它,只需选择正确的驱动器并单击格式化。

pYYBAGKy-nKAK_X3AAAwBRUAUTQ386.png

接线 - 将 Micro SD 卡模块连接到 Arduino

现在您的卡可以使用了,我们可以连接 micro SD 分线板!

首先,将微型 SD 卡模块插入面包板。将模块上的 VCC 引脚连接到 Arduino 上的 5V 和 GND 引脚接地。现在我们剩下的是用于 SPI 通信的引脚。

由于 micro SD 卡需要大量数据传输,因此当连接到微控制器上的硬件 SPI 引脚时,它们将提供最佳性能。硬件 SPI 引脚比使用另一组引脚对接口代码进行“bit-banging”快得多。

请注意,每个 Arduino 板都有不同的 SPI 引脚,应相应地连接。对于像 UNO/Nano 这样的 Arduino 板,这些引脚是数字 13 (SCK)、12 (MISO) 和 11 (MOSI)。您还需要第四个引脚用于“芯片/从选择”(SS)线。

通常这是引脚 10,但您实际上可以使用任何您喜欢的引脚。

如果您有 Mega,则针脚不同!您需要使用数字 50 (MISO)、51 (MOSI)、52 (SCK) 和 53 (SS)。请参阅下表以快速了解。

Arduino 代码 – 使用 CardInfo 测试 SD 卡模块

与 SD 卡通信是一项繁重的工作,但对我们来说幸运的是,Arduino IDE 已经包含一个非常好的库,称为 SD,它简化了对 SD 卡的读取和写入。您可以在示例子菜单中看到它。

接下来,选择 CardInfo 示例草图。

pYYBAGKy-nSAKebrAAA_DlV8QA8378.png

此草图不会将任何数据写入卡。它只是告诉您它是否成功识别了该卡,并显示有关它的一些信息。这在尝试确定是否支持 SD 卡时非常有用。在尝试任何新卡之前,我们建议您运行此草图一次!

转到草图的开头并确保chipSelect 线已正确初始化,在我们的例子中,我们使用数字引脚#10,因此将其更改为10!

poYBAGKy-naACPtGAAA1yJlEN7g764.png

好的,现在将 SD 卡插入模块并上传草图。

一旦你打开串行监视器,你可能会得到如下内容:

pYYBAGKy-niAGzCqAAArsGCOt2g718.png

你可能会觉得它乱码,但看看卡类型是 SDHC(SD 高容量),卷类型是 FAT32 以及卡的大小大约 4 GB 等很有用。

如果您有一张坏卡,克隆版本似乎更容易发生这种情况,您可能会看到:

poYBAGKy-nqAKKurAAArqyY0cGI983.png

卡大多有反应,但数据全是坏的。请参阅没有制造商 ID/OEM ID 并且产品 ID 为“N/A”。这表明该卡返回了一些 SD 错误。这基本上是一个糟糕的场景。如果你得到这样的东西,你可以尝试重新格式化它,或者如果它仍然剥落,你应该把卡扔掉。

最后,尝试取出 SD 卡并再次运行草图,您将得到以下内容,

pYYBAGKy-nyAUNuNAAAmBBX5iG8631.png

看,它甚至无法初始化 SD 卡。如果存在接线错误或卡永久损坏,也会发生这种情况。

如果接线正确但 SD 卡未正确格式化,您将得到如下信息:

poYBAGKy-n-AFFgbAAAlsIZdp0c062.png

arduino 的 sd 卡代码

#include

#include

归档我的文件;

// 更改它以匹配您的 SD 防护罩或模块;

常量 int 芯片选择 = 10;

无效设置()

{

// 打开串行通信并等待端口打开:

序列号.开始(9600);

而(!串行){

; // 等待串口连接。只需要莱昂纳多

}

Serial.print("正在初始化 SD 卡...");

如果(!SD.begin()){

Serial.println("初始化失败!");

返回;

}

Serial.println("初始化完成。");

// 打开文件。请注意,一次只能打开一个文件,

// 所以你必须在打开另一个之前关闭这个。

myFile = SD.open("test.txt", FILE_WRITE);

// 如果文件打开正常,写入它:

如果(我的文件){

Serial.print("正在写入 test.txt...");

myFile.println("测试 1, 2, 3.");

// 关闭文件:

我的文件.close();

Serial.println("完成。");

} 别的 {

// 如果文件没有打开,打印错误:

Serial.println("打开 test.txt 出错");

}

// 重新打开文件进行读取:

myFile = SD.open("test.txt");

如果(我的文件){

Serial.println("test.txt:");

// 从文件中读取,直到其中没有其他内容:

而(myFile.available()){

Serial.write(myFile.read());

}

// 关闭文件:

我的文件.close();

} 别的 {

// 如果文件没有打开,打印错误:

Serial.println("打开 test.txt 出错");

}

}

无效循环()

{

// 设置后没有任何反应

}

代码

Arduino SD 测试代码

sd_card.ino

 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费