一板网电子技术论坛

风筝
发表于: 2022-4-7 09:36:15 | 显示全部楼层

在本篇文章中,我们将学习使用SD卡模块和Arduino开发板实现读写数据,并制作数据记录器。我们可以使用SD卡模块将所需的存储卡添加到Arduino项目中,以存储数据、媒体文件等。


Micro SD读卡器模块也称为Micro SD适配器。该模块是一个简单的解决方案,用于在标准SD卡之间传输数据。因此,本文涵盖了SD卡信息的读取以及在SD卡中读取和写入数据的方法。同样,使用Arduino和SD卡制作数据记录器非常简单。 DHT11传感器用于测量相对湿度和温度,SD卡用于以txt格式每1秒保存一次湿度和温度值。


所需的组件

●    Arduino UNO开发板

●    Micro SD卡适配器模块

●    16 GB容量的SD卡

●    USB读卡器

●    DHT11温湿度传感器

●    连接跳线


SD卡模块/适配器

SD卡模块对于需要数据记录的项目特别有用。实际上有两种与micro SD卡连接的方式 - SPI 模式和SDIO模式。本文采用的是SPI模式进行连接,因为与非常复杂的SDIO模式相比,使用更容易。

SD卡模块

SD卡模块


micro SD卡的工作电压是3.3 V。因此,我们不能直接将SD卡与5V连接。该模块板载一个超低压差稳压器,可将电压从3.3V – 6V 转换为3.3V。模块上还有一个逻辑电平转换器74LVC125A,可将接口逻辑从3.3V-5V 转换为3.3V。


Micro SD卡模块引脚排列

SD卡模块上共有六个引脚(GND、VCC、MISO、MOSI、SCK、CS)。

SD卡引脚排列

SD卡引脚排列


1.   GND:接地引脚

2.    VCC:+5V电源

3.    MISO:SPI输出

4.    MOSI:SPI输入

5.    SCK:接受数据同步的时钟脉冲

6.    CS:片选信号引脚


Micro SD卡准备操作

在将micro SD卡插入模块之前,需要对其进行格式化卡。将SD卡格式化为FAT16或FAT32。


要格式化SD卡,请将其插入计算机。转到我的电脑并右键单击SD卡。弹出一个新窗口。选择FAT32作为格式化选项。然后按开始初始化格式化过程。

sd-com.jpg


现在SD卡已正确格式化,您可以在SD卡模块中使用该SD卡。


SD卡模块与Arduino开发板的硬件连接

现在让我们将SD卡模块连接到Arduino开发板,以读写数据或制作数据记录器。由于SD卡模块使用的是SPI通信协议,因此我们需要将其连接到Arduino开发板的SPI引脚。

硬件连接

硬件连接


按照上面的电路图将SD卡模块连接到Arduino。在Arduino UNO开发板中,SPI 引脚是13 (SCK)、12 (MISO) 和11 (MOSI)。

SD-Card-Module-Arduino-Connection.jpg


读取和写入数据

让我们了解如何使用Arduino开发板将数据读写到SD卡中。SD库提供了有用的函数,可轻松写入和读取SD卡。


下载以下草图代码并将其上传到Arduino开发板。 read.rar (714 Bytes, 下载次数: 2)


上传代码后,如果一切正常,串口监视器上将显示以下内容。

Read-Write-Data.jpg


这表示读写成功。如果要查看SD卡上的文件,可以在电脑上打开SD卡文件,查看txt格式的数据。


代码说明

要从SD卡写入和读取,首先需要包含SPI和SD库。

  1. #include <SPI.h>
  2. #include <SD.h>
复制代码

接下来,使用片选 (CS) 引脚10处初始化SD卡模块。

  1. SD.begin(10);
复制代码

为了在SD卡中打开一个新文件,我们创建一个文件对象,指向数据文件。

  1. dataFile = SD.open("data.txt", FILE_WRITE);
复制代码

使用以下代码将数据写入当前打开的文件。

  1. dataFile.write(data);
复制代码

我们还可以使用 print() 或 println() 函数将数据打印到文件中。

  1. dataFile.print(data);
  2. dataFile.println(data);
复制代码

使用以下代码,我们可以读取保存在文件中的数据。

  1. dataFile.read();
复制代码

每次只能在一个文件中写入,所以我们需要先关闭文件,然后再继续下一个文件。

  1. SD.close("data.txt");
复制代码

使用SD卡模块和DHT11传感器的Arduino数据记录器

使用Arduino开发板和SD卡模块制作数据记录器非常简单。本文介绍了如何使用DHT11传感器制作简易温湿度数据记录器。


DHT11传感器用于检测相对湿度和温度,SD卡用于每1秒保存一次湿度和温度值。温度和湿度的值保存在SD卡上的TXT文件中。

SD-Card-Arduino-Data-Logger.jpg


按照上图所示将DHT11传感器连接到Arduino开发板中。所有组件连接完成后,效果如下:

SD-Card-Arduino-Data-Logger-1.jpg


下载以下代码并将其上传到Arduino开发板。编译该代码时需要DHT11库 dht11 sd.rar (803 Bytes, 下载次数: 3)


上传代码后,打开串口监视器,您将看到以下信息,显示温度和湿度数据。

Data-Logger-file.jpg


使用读卡器在Windows 打开SD卡。 然后打开数据记录器的txt文件。您将在文本文件中看到温度和湿度数据。


以上这就是您如何使用带有Arduino开发板和SD卡模块实现读取写入数据,以及制作数据记录器。如果有任何疑问,请随时在本帖下面回复。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 659 | 回复: 1364



手机版|

GMT+8, 2022-7-7 09:37 , Processed in 0.034091 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.4

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表