37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种

的。鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)

实验五十二:SPI接口Micro SD卡模块  TF卡读写卡器 (带电平转换芯片)

SN74LVC125A

具有三态输出的四路总线缓冲器

逻辑系列        LVC
每片芯片元件数目        4
最长传播延迟时间@最长CL        5.3 ns @ 2.7 V
最大高电平输出电流        -24mA
最大低电平输出电流        24mA
安装类型        表面贴装
封装类型        TSSOP
引脚数目        14
尺寸        5 x 4.4 x 1.15mm
高度        1.15mm
长度        5mm
最大工作电源电压        3.6 V
最高工作温度        +125 °C
最小工作电源电压        1.65 V
传输延迟测试条件        50pF
最低工作温度        -40 °C
宽度        4.4mm

该模块(MicroSD Card Adapter)是Micro SD卡读写模块,通过文件系统及SPI接口驱动程序,单片机系统即可完成MicroSD卡内的文件进行读写。Arduino用户可直接使用Arduino IDE自带的SD卡程序库即可完成卡的初始化和读写。

模块特点如下
1.支持Micro SD卡、Micro SDHC卡(高速卡)
2.板载电平转换电路,即接口电平可为5V或3.3V
3.供电电源为4.5V~5.5V,板载3.3V稳压电路
4.通信接口为标准SPI接口
5.4个M2螺丝定位孔,便于安装

模块电原理图

制接口:共 6 个引脚(GND、VCC、MISO、MOSI、SCK、CS),GND 为地,VCC 为供

电电源,MISO、MOSI、SCK 为 SPI 总线,CS 为片选信号脚;

3.3V 稳压电路:LDO 稳压输出的 3.3V 为电平转换芯片、Micro SD 卡供电;

电平转换电路:往 Micro SD 卡方向的信号转换成 3.3V,MicroSD 卡往控制接口方向的 MISO

信号也转换成了 3.3V,一般 AVR 单片机系统都能读取该信号;

Micro SD 卡座:是自弹式卡座,方便卡的插拔。

定位孔:4 个 M2 螺丝定位孔,孔径为 2.2mm,使模块便于安装定位,实现模块间组合。

实验器材:
1 个 Arduino 兼容主板 Catduino(不熟悉开源硬件的可以将其理解为 Atmega328P 单片机
开 发板)及一根 mini USB 线;
1 个 Micro SD 卡模块;
1 张三星的 2G 的 Micro SD 卡;
1 个 Arduino 接口扩展板 Base shield(内链接);
6 根母对母杜邦线,用于连接模块的控制接口和 Base Shield 上引出的 SPI 接口。

实验步骤:

1. 将 Base Shield 直接插到 Catduino 主板上,确保 Micro SD 卡已格式化为 FAT16 或 FAT32

格式,并将其插到 Micro SD 卡模块上。

2. 用 6 根母对母杜邦线将 Micro SD 卡模块与 Base Shield 的 SPI 接口连接起来,如下表所示

3. 用mini USB将Catduino连接起来,如果是首次使用该主板,其USB转串口驱动可从Arduino的IDE目录下的drivers找到USB Drivers。

4. Micro SD卡读写的相关程序可使用Arduino IDE自带的程序,目录是

..\Arduino-1.0\libraries\SD。重新打开Arduino IDE,点击工具栏的Open按钮,打开SD中的CardInfo例程,如下图所示,需要注意的是片选信号脚应改成实际连接到模块的片选脚,在本实验中选择D10。

选好串口、板子名称,点击烧录按钮,即可烧录。该例程展示的是如何读取 Micro SD 卡的信息,包括卡的类型、文件系统类型、存储容量,也列出卡中的文件名称。点击 Serial Monitor即可查看。

/*

【Arduino】168种传感器模块系列实验(52)

实验五十二:SPI接口Micro SD卡模块TF卡读写卡器 (带电平转换芯片)

Arduino 的 uno 引脚

CS-------------10

MOSI(DI)------11

MISO(DO)------12

CLK------------13

*/

#include <SPI.h>

#include <SD.h>

File myFile;

void setup() 

{

  Serial.begin(9600);

  while (!Serial)

  {

  ;

  }

  Serial.print("Initializing SD card...");

  if (!SD.begin(10)) {

    Serial.println("initialization failed!");

    return;

  }

  Serial.println("initialization done.");

  myFile = SD.open("123456.TXT");

  if (myFile) {

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

    Serial.println("↓↓↓↓");

    while (myFile.available())

    {

      Serial.write(myFile.read());

    }

    myFile.close();

  } else

  {

  Serial.println("error opening 123456.txt");

  }

}

void loop() {

}

  

【雕爷学编程】Arduino动手做(52)---MicroSD卡读写模块的更多相关文章

  1. 「雕爷学编程」Arduino动手做(24)——水位传感器模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  2. 【雕爷学编程】Arduino动手做(51)---触摸按键模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...

  3. 「雕爷学编程」Arduino动手做(9)——火焰传感器模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  4. 「雕爷学编程」Arduino动手做(10)——敲击传感器模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  5. 「雕爷学编程」Arduino动手做(15)——手指侦测心跳模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  6. 【雕爷学编程】Arduino动手做(16)---数字触摸传感器

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  7. 「雕爷学编程」Arduino动手做(14)——倾斜角度模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  8. 「雕爷学编程」Arduino动手做(13)——触摸开关模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  9. 「雕爷学编程」Arduino动手做(12)——霍尔磁力模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

随机推荐

  1. Javascript-异步详解

  2. Java ASM学习(2)

    1.编译后的方法区,其中存储的代码都是一些字节码指令 2.Java虚拟机执行模型: java代码是在一个线程内部执行,每个线程都有自己的执行栈,栈由帧组成,每个帧表示一个方法的调用,每调用一个方法,都 ...

  3. MySQL主从数据库配置与原理

    1.为什么要搭建主从数据库 (1)通过增加从库实现读写分离,提高系统负载能力 (2)将从库作为数据库备份库,实现数据热备份,为数据恢复提供机会 (3)根据业务将不同服务部署在不同机器同时又共享相同的数 ...

  4. Linux安全实验缓冲区溢出

    缓冲区溢出实验: 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关 ...

  5. Windows 挂起进程

    A thread can suspend and resume the execution of another thread. While a thread is suspended, it is ...

  6. latex-列表环境

    介绍 latex 主要有三种列表环境,进行罗列的实现, 无序列表 -- itemize 有序列表 -- enumerate 描述列表 -- description 本文进行了一一介绍和演示, 同时添加 ...

  7. js 之 箭头函数 (未学完)

    js之箭头函数表达式 箭头函数表达式的语法比函数表达式更短,并且没有自己的this,arguments,super或 new.target.这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不 ...

  8. 【Linux常见命令】find命令

    find - search for files in a directory hierarchy find命令用来在指定目录下查找文件. 任何位于参数之前的字符串都将被视为欲查找的目录名. 如果使用该 ...

  9. Clickhouse 时区转换

    Clickhouse 时区转换 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS). OLAP场景的关键特征 大多数是读请求 数据总是以相当大的批(> 1000 ...

  10. 杭电的题,输出格式卡的很严。HDU 1716 排列2

    题很简单,一开始写代码,是用整数的格式写的,怎么跑都不对,就以为算法错了,去看大佬们的算法STL全排列:next_permutation(); 又双叒叕写了好几遍,PE了将近次,直到跑了大佬代码发现, ...