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

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

Harry Matthie posted a discussion

Garagino JP1

Does anyone know what the JP1 is for on the Garagino?  I found out that the x1 and x2 pins are for…See More
3 hours ago
GarageLab posted blog posts
10 hours ago
Profile IconManikandan and k joined GarageLab (arduino, electronics, robotics, hacking)
12 hours ago
GarageLab posted a blog post
Friday
Donnie Rose replied to Donnie Rose's discussion Building an auto-boat to keep ducks out of the pool!
"Correction, sorry.  RC receiver is not used with this set up.   Battery & motor hooks…"
Thursday
Donnie Rose posted a discussion
Thursday
Profile IconDonnie Rose and Ransona Company joined GarageLab (arduino, electronics, robotics, hacking)
Thursday
GarageLab posted a blog post
Thursday
Jim Kelley commented on GarageLab's blog post HemaVision Smart Thermal Imager Actually Tells You What that Cool (or Hot) Image Means
"This could be a valuable tool for diagnosing temperature and humidity problems in locations where…"
Thursday
Anthony Parker updated their profile
Apr 14
David Braithwaite added a discussion to the group Raspberry Pi
Apr 14
David Braithwaite joined David's group
Thumbnail

Raspberry Pi

This is a place to discuss all things Raspberry Pi.See More
Apr 14
GarageLab posted a blog post

Artificial bee brain used for vision system of a drone

The Green Brain Project is located in Sheffield, England, and it has one key focus: to simulate a…See More
Apr 14
Profile Iconabraham chemweno, Hetcher, Dan Calef and 1 more joined GarageLab (arduino, electronics, robotics, hacking)
Apr 14
Robbie McCreath commented on GarageLab's blog post Tutorial: Stepper Motor + Easy Driver + Arduino
"Hi there, ive been woking on this tutorial and it is exactly what i need, with use of the serial…"
Apr 13
daniel gabriel left a comment for daniel gabriel
"stop this, i know what is next to, you scammer"
Apr 10
GarageLab posted a blog post

HemaVision Smart Thermal Imager Actually Tells You What that Cool (or Hot) Image Means

HemaImaging it’s working on the HemaVision, a standalone thermal imager that will be able to give…See More
Apr 9
Profile Iconfidel, Mauro Pompetti, FRANK KWABENA and 1 more joined GarageLab (arduino, electronics, robotics, hacking)
Apr 9
Anuradha Ranasinghe is now a member of GarageLab (arduino, electronics, robotics, hacking)
Apr 8
GarageLab posted blog posts
Apr 8

© 2015   Created by Marcelo Rodrigues.

Badges  |  Report an Issue  |  Terms of Service