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

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

Profile IconElectric and Adderall, Ishmael Muhammad, Yuval kob and 3 more joined GarageLab (arduino, electronics, robotics, hacking)
Wednesday
Jesse Howards updated their profile
Jan 29
Profile Iconsuneet, Augustin Aziankou and Ayinde Adetunji joined GarageLab (arduino, electronics, robotics, hacking)
Jan 29
Augustin Aziankou updated their profile
Jan 28
Profile IconTom Evans, said, Ghenam houssam and 15 more joined GarageLab (arduino, electronics, robotics, hacking)
Jan 25
Kenny Sims is now a member of GarageLab (arduino, electronics, robotics, hacking)
Jan 11
Paulo Trindade is now a member of GarageLab (arduino, electronics, robotics, hacking)
Jan 7
Profile Iconyashwita suvarna, António Gonçalves, Thurman Gillespy and 6 more joined GarageLab (arduino, electronics, robotics, hacking)
Jan 4
Profile IconMehmet Emin Örs, Andrew Myers, Ruban Venkatesh and 1 more joined GarageLab (arduino, electronics, robotics, hacking)
Dec 28, 2015
stephen smith is now a member of GarageLab (arduino, electronics, robotics, hacking)
Dec 22, 2015
Profile Iconlantoniaina bruce, Manoel Pereira, Ben and 1 more joined GarageLab (arduino, electronics, robotics, hacking)
Dec 21, 2015
GarageLab replied to GarageLab's discussion Serious claims against BeagleBone's manufacturer CircuitCo
"Hello guys, New facts to the CircuitCo case. But until now, the didn't refund us or send the…"
Dec 21, 2015
michae coley left a comment for RITIU TRAIAN
"what project have you done?"
Dec 15, 2015
Profile Iconshalini amarnani, Philipp Schmid, Jesse Howards and 4 more joined GarageLab (arduino, electronics, robotics, hacking)
Dec 14, 2015
Profile IconAbador and Dara joined GarageLab (arduino, electronics, robotics, hacking)
Dec 9, 2015
GarageLab posted a blog post

Sodium Ions Rechargeable Battery Prototype

A joint of French science institutions just publish an article that claim they produced a…See More
Dec 7, 2015
Jay Rocket is now a member of GarageLab (arduino, electronics, robotics, hacking)
Dec 7, 2015
GarageLab posted a blog post

Eye Controlled wheelchair

Patrick Joyce has a disease called Amyotrophic Lateral Sclerosis (ALS), the same disease from…See More
Dec 4, 2015
Nathan Ronald O'Connell is now a member of GarageLab (arduino, electronics, robotics, hacking)
Dec 4, 2015
GarageLab posted a discussion

Claims against BeagleBone's manufacturer CircuitCo

Dear Members,We would like to inform you that, unfortunately, the manufacturer of BeagleBone…See More
Dec 4, 2015

© 2016   Created by Marcelo Rodrigues.   Powered by

Badges  |  Report an Issue  |  Terms of Service