This is a simple tutorial on how to use a SD card with Arduino. On this tutorial, we used the Breakout Board for SD-MMC Cards from SparkFun.

First, get a SD Card, put in your computer and create a text file named "test.txt" in the card root.
Get your protoboard and connect the breakout board to your Arduino using the schematic above. The resistors will work as a voltage divider for adapt the voltage level from Arduino (5V) to the SD Card (3.3V).

Then, download the SD Fat library and extract to the libraries folder of your Arduino installation.

Open the Arduino IDE and go to File > Examples > SD Fat and open the ReadWriteSDFat example. In the source code, change the chipSelect value to 10 (highlighted in red). The source code should be:

// Ported to SdFat from the native Arduino SD library example by Bill Greiman

// On the Ethernet Shield, CS is pin 4. SdFat handles setting SS
const int chipSelect = 10;
/*
SD card read/write

This example shows how to read and write data to and from an SD card file
The circuit:
* SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4

created Nov 2010
by David A. Mellis
updated 2 Dec 2010
by Tom Igoe
modified by Bill Greiman 11 Apr 2011
This example code is in the public domain.

*/
#include <SdFat.h>
SdFat sd;
SdFile myFile;

void setup() {
Serial.begin(9600);

// Initialize SdFat or print a detailed error message and halt
// Use half speed like the native library.
// change to SPI_FULL_SPEED for more performance.
if (!sd.init(SPI_HALF_SPEED, chipSelect)) sd.initErrorHalt();

// open the file for write at end like the Native SD library
if (!myFile.open("test.txt", O_RDWR | O_CREAT | O_AT_END)) {
sd.errorHalt("opening test.txt for write failed");
}
// if the file opened okay, write to it:
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");

// close the file:
myFile.close();
Serial.println("done.");

// re-open the file for reading:
if (!myFile.open("test.txt", O_READ)) {
sd.errorHalt("opening test.txt for read failed");
}
Serial.println("test.txt:");

// read from the file until there's nothing else in it:
int data;
while ((data = myFile.read()) > 0) Serial.write(data);
// close the file:
myFile.close();
}

void loop() {
// nothing happens after setup
}

 

 

Now, upload the code to your Arduino board and after that open your Serial Monitor.

If everything went right, you will see a "writing to test.txt" and "testing 1,2,3" messages in the Serial Monitor window. So, get your SD card and check in your computer if there is something in the test.txt file.

 

 

References: 

http://code.google.com/p/sdfatlib/

http://arduino.cc/playground/  

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206874649

Views: 27081

Tags: arduino, sd, tutorial

Comment

You need to be a member of GarageLab (arduino, electronics, robotics, hacking) to add comments!

Join GarageLab (arduino, electronics, robotics, hacking)

Latest Activity

GarageLab posted a blog post

What Could You Do With 7 Fingers?

A strange thought yes, but MIT researchers think an extra two digits could really make a difference…See More
7 hours ago
Profile Icongan bensie, Philip Malmstedt and Rodney Leinberger joined GarageLab (arduino, electronics, robotics, hacking)
7 hours ago
GarageLab posted blog posts
yesterday
Profile Iconjolian ahmed, Abdalla, Raul Patterson and 2 more joined GarageLab (arduino, electronics, robotics, hacking)
yesterday
GarageLab posted blog posts
Thursday
GarageLab posted blog posts
Jul 15
Ilyass Renswoude joined Sergio Imperador's group
Thumbnail

Robotics

Let's share ideas about building robots.See More
Jul 14
Profile IconShein Wah, Liu Chin Ho and Suresh Babu joined GarageLab (arduino, electronics, robotics, hacking)
Jul 14
NELU NASTASOIU posted photos
Jul 11
NELU NASTASOIU updated their profile
Jul 11
GarageLab posted blog posts
Jul 11
Profile IconTezel Celebi and Lucas Silva joined GarageLab (arduino, electronics, robotics, hacking)
Jul 11
GarageLab posted a blog post

Lego robot plays freemium iPad games while creator sleeps

In 2011, Uli Kilian earned a Guinness World Record for solving 100 Rubik’s cubes during that year’s…See More
Jul 10
Profile IconYanik Chauvin and NELU NASTASOIU joined GarageLab (arduino, electronics, robotics, hacking)
Jul 8
Alexandre Araripe Cavalcante and Tharaka Madhusanka are now friends
Jul 8
Tharaka Madhusanka joined Jordan Weller's group
Thumbnail

Technology Concepts & Ideas

New devices and methods of constructing things, Old and recent inventions. Scientific theory.…See More
Jul 7
GarageLab posted blog posts
Jul 7
Profile Iconabdullah savas and Everth Gutierrez joined GarageLab (arduino, electronics, robotics, hacking)
Jul 7
Tharaka Madhusanka is now a member of GarageLab (arduino, electronics, robotics, hacking)
Jul 3
GarageLab posted blog posts
Jul 3

© 2014   Created by Marcelo Rodrigues.

Badges  |  Report an Issue  |  Terms of Service