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: 39976

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

Yoey Thamas posted a blog post

Make your Kitchen a Smarter Place to Work in

The first and foremost thing that you should always keep in mind is that give priority to the…See More
1 hour ago
gaurav rana is now a member of GarageLab (arduino, electronics, robotics, hacking)
2 hours ago
Jim Kelley joined Marcelo Rodrigues's group
Thumbnail

Arduino

Group for the Arduino communitySee More
yesterday
Jim Kelley posted a discussion

Help with selecting sensors

I am new to Arduino but am a quick study and can get up to speed fast. I can see some tremendous…See More
yesterday
GarageLab posted a blog post

These 3D-Printed Ants Could Be The Factory Workers Of The Future

These 3D-printed ants scuttle around much like the real thing. But loaded with sensors and wireless…See More
yesterday
Profile IconAdele Smurthwaite, Neil Cheng, John Hardie and 1 more joined GarageLab (arduino, electronics, robotics, hacking)
yesterday
GarageLab posted blog posts
Friday
Profile IconOleg and Scott Runner joined GarageLab (arduino, electronics, robotics, hacking)
Thursday
GarageLab left a comment for RMullen
"Hi RMullen! I'd like to let you know that FRANK KWABENA is no longer a member of…"
Wednesday
daniel gabriel updated their profile
Wednesday
daniel gabriel left a comment for daniel gabriel
"Good Day Mr. Wabena, i dont see any interesting on my profile but i really appreciated that you…"
Mar 25
RMullen replied to Lauren Elizabeth's discussion Scammed...?
"Yes there is another one sending out the same message now.  This is the message I got: FRANK…"
Mar 25
Rick Lin is now a member of GarageLab (arduino, electronics, robotics, hacking)
Mar 25
GarageLab posted a blog post
Mar 24
Profile IconCalvin M and harsha joined GarageLab (arduino, electronics, robotics, hacking)
Mar 24
GarageLab posted a blog post

These Colorful Liquid Droplets Chase Each Other Like Living Organisms

Scientists at Stanford University were at first perplexed by the strange behavior they observed…See More
Mar 23
GarageLab posted blog posts
Mar 20
Profile IconJody Bowie, Kevin Kvarda, Tony Stoklosa and 2 more joined GarageLab (arduino, electronics, robotics, hacking)
Mar 19
Sergey commented on GarageLab's blog post Tutorial: How to use the Monster Moto Shield
"Good day. Can you help me? I took this sketch, but it doesn't working( "
Mar 19
Profile IconDonald Soji Adedokun, Ankur Deo and Hannu Miettinen joined GarageLab (arduino, electronics, robotics, hacking)
Mar 18

© 2015   Created by Marcelo Rodrigues.

Badges  |  Report an Issue  |  Terms of Service