Arduino Uno SD卡模块 (三)创建文件并写入

本文介绍了一个使用Arduino Uno和SD卡模块进行文件读写的实验。通过简单的接线和程序编写,可以在SD卡上创建并写入文本文件。文章包含了所需材料、接线指导及程序代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


实验效果

本次要实现的是在SD卡上新建一个文本文件并写入一些数据,例如:凌顺实验室      偷笑


最后的效果如下:




在程序刚上传好运行的时候,卡还没有放进去SD模块里。所以显示初始化失败。

接着,把SD卡放进SD模块的插卡口,按一下重启键,

就会出现初始化成功,并写入完成。


问题与注意

如果不断的按重启键,会不断的在LSLAB.txt 的文本文件里不断的新添加数据


BOM表

Arduiino Uno *1

SD卡模块  *1

SD卡   *1

调线若干



接线

Arduino Uno   <----->   Sd Card 模块

       GND          <----->           GND

        5V            <----->             +5

       CS            <----->            Pin 4

      MOSI         <----->           Pin 11

        SCK        <----->            Pin 13

      MISO         <----->           Pin 12

详细请参照 文章  Arduino Uno SD卡模块 (一)获取SDcard的信息 


开源程序

这个实验还是需要下载库

下载地址: https://github.com/greiman/SdFat

具体如何操作,再次说一下,下载解压到Arduino IDE的安装路径里的库文件夹libraries    


库里提供了很多SD卡模块示例程序,可以多多参考


//加载SPI库和SD库
#include <SPI.h>
#include <SD.h>

//声明文件对象
File myFile;

void setup() 
{
    Serial.begin(9600); //设置波特率
    while (!Serial) 
    {
    ; // wait for serial port to connect. Needed for native USB port only
      //等待串行端口连接。 仅适用于本机USB端口
    }
    
    Serial.print("Initializing SD card...");//正在初始化

    //如果为非则初始化失败
    if (!SD.begin(4)) {
      Serial.println("initialization failed!");
      return;
    }
    Serial.println("initialization done.");//初始化结束

    //打开文件
    myFile = SD.open("LSLAB.txt", FILE_WRITE);//打开文件LSLAB.txt,若无则自动创建,但必须加入FILE_WRITE函数
    
    if (myFile) {//如果文件能正确打开,则做一下动作
      Serial.print("Writing to...");//串口显示正在写入中。。。
      myFile.println("凌顺实验室");//写入数据
      myFile.close();//关闭文件
      Serial.println("done.");
    } else {
      // if the file didn't open, print an error:
      Serial.println("error opening test.txt");
    }
}

void loop() {
  

}


程序实现思路讲解

1.

//加载SPI库和SD库
#include <SPI.h>
#include <SD.h>


2.
//声明文件对象
File myFile;

3
//打开文件
myFile = SD.open("LSLAB.txt", FILE_WRITE);//打开文件LSLAB.txt,若无则自动创建,但必须加入FILE_WRITE函数

4.
myFile.println("凌顺实验室");//写入数据

5.
myFile.close();//关闭文件
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值