首页

Arduino SD卡模块接口-连接指南和数据日志

在这个项目中,我将向您展示什么是SD卡模块,如何将MicroSD卡适配器与Arduino连接,以及如何将Arduino SD卡模块接口用于传感器数据的数据记录。

简介

在早期的几个项目中,我们已经将湿度、温度、RTC时钟等传感器与Arduino连接起来。我们在这些项目中所做的只是将传感器与Arduino连接起来,并在LCD或Arduino IDE的串行监视器上查看传感器的数据。

一旦你关闭Arduino,之前从传感器读取的所有数据都会丢失,现在你可以重新获取这些数据。

Arduino SD卡模块接口图

数据记录是根据时间或事件记录数据的过程。数据记录已经在一些应用程序中实现,如天气(温度)、农业(土壤湿度)、汽车(碰撞数据)、飞机(黑匣子)等。

在我们的例子中,如果我们想用Arduino记录传感器的数据,我们必须将SD卡与Arduino连接起来。为了做到这一点,你必须使用MicroSD卡适配器或SD卡模块,并了解Arduino SD卡模块接口。

输出视频

关于SD卡模块/适配器的简要说明

Micro SD卡是一种基于闪存的可移动存储设备。它是一种非易失性存储器,经常用于手机和其他消费电子设备。

Arduino SD卡模块接口Micro SD卡

在看SD卡适配器之前,您需要了解关于一个典型的Micro SD卡的两件事。

首先是工作电压。几乎所有的Micro SD卡工作电压范围为2.7V到3.6V(通常为3.3V)。第二,是通信接口。Micro - SD卡支持SPI通信。

相关文章:SPI通信基础知识

SD卡模块或Micro SD卡适配器是一种简单的板,方便连接Micro SD卡和Arduino等微控制器。下面是一个典型的SD卡模块的图像。

Arduino SD卡模块MicroSD卡适配器

由于Arduino的工作电压为5V,而Micro SD卡的工作电压为3.3V,一个典型的Micro SD卡适配器或SD卡模块基本上由两个重要组件组成。它们是3.3V稳压器IC和用于通信引脚的5V至3.3V电平转换IC。

SD卡模块引脚

谈到引脚,正如我所提到的,Micro SD卡只支持SPI通信,SD卡模块有用于SPI通信的引脚。所以,SD卡模块上的引脚如下所示。

  • VCC - 5 v
  • 接地,接地
  • MOSI -主输出从输入(输入)
  • MISO -主入从出(输出)
  • SCK - SPI时钟(输入)
  • CS -芯片选择(输入)

下图显示了SD卡模块的引脚和组件。

Arduino SD卡模块引脚

Arduino SD卡模块接口

现在我们已经了解了一点关于SD卡模块的内容,让我们继续将它与Arduino连接起来。首先要记住,Arduino和SD卡模块之间的通信是通过SPI接口进行的。

因此,您必须识别Arduino板上的SPI引脚。在Arduino UNO的情况下,SPI引脚如下:

  • 莫西人- 11
  • 味噌- 12
  • SCK - 13
  • CS或SS - 10分

如果你正在使用Arduino兆,然后在连接之前检查SPI引脚。

接下来是Arduino SD卡模块接口,我为这个项目设计了两个电路。在第一个电路中,我简单地将Arduino和SD卡模块连接起来,提取出SD卡的信息。这个电路可以看作是Arduino SD卡模块的连接指南。

在第二回路中,实际数据记录的魔力发生了。它是第一个电路的扩展,传感器连接到Arduino的模拟引脚,来自这些传感器的数据在一个事件上被捕获。

组件的要求

这里提到的组件是为两个电路组合的。

  • Arduino UNO
  • 微型SD卡
  • Micro SD卡适配器或SD卡模块
  • 按钮
  • 3 x 10KΩ电位器
  • 连接电线

Arduino SD卡模块连接指南

下图为Arduino SD卡模块接口电路图。

Arduino SD卡模块接口电路图

电路设计

将SD卡模块的MOSI、MISO、SCK和CS (SS)引脚连接到Arduino的数字I/O引脚11、12、13和10上。SD卡模块的VCC和GND引脚连接到Arduino的+5V和GND。

代码

您可以在Arduino IDE中找到代码:File - > Examples - > SD - > CardInfo。您还可以使用以下代码。

Arduino SD卡模块接口插入SD卡

工作

将Micro SD卡插入SD卡模块上提供的插槽,并进行必要的连接。将代码上传到Arduino并打开Serial Monitor。如果一切顺利,您可以在串行显示器上看到关于您的Micro SD卡的信息。

Arduino SD卡模块接口卡信息

所有的一切都由Arduino的SPI和SD库负责。你不需要下载这些库,因为它们是Arduino IDE自带的。

使用Arduino SD卡模块接口进行数据记录

下一个电路是关于使用Arduino和SD卡模块登录到Micro SD卡上的数据。下图显示三个电位器连接到Arduino的三个模拟引脚。

Arduino SD卡模块数据记录电路图

电路设计

Arduino和Micro SD卡适配器的接口与前面的电路相同。另外,使用三个电位器作为模拟传感器,分别连接到Arduino UNO的A0、A1、A2。

在Arduino的Pin 7上还连接了一个按钮,用来标记一个事件。

代码

工作

正如我前面提到的,数据日志记录要么在预定义的时间间隔内发生,要么在触发事件时发生。对于第一种情况,即,要根据时间记录数据,必须将RTC模块连接到Arduino,这样传感器的数据就可以在一定的时间间隔内更新到日志中。

因为这个项目是Arduino和Micro SD卡之间的简单接口,所以我没有使用RTC模块,而是使用了一个简单的Push Button。

当按下按钮时,Arduino从模拟引脚捕获传感器数据,并将其写入Micro SD卡上的文本文件。

Arduino SD卡模块接口数据记录

数据也显示在串行显示器上。要查看数据,只需将Micro - SD卡连接到计算机并打开文本文件。

重要提示:

  • 如果您的Micro SD没有被Arduino读取,请确保它是FAT格式的。SD库支持FAT16和FAT32格式。
  • SPI引脚MOSI, MISO和SCK是固定的,但CS或SS引脚可以修改。确保您选择了正确的pin。

3反应

  1. 这是一个有趣的项目。但就像我第一次看到它一样,我想知道为什么代码不只是在一个或多个日志参数更改时才写入,而是记录所有的值,而不是每个固定的时间段。

留下一个回复

您的电邮地址将不会公布。

Electronicshub图标
Baidu
map