Documentation by Andrew Samuels
Description
Getting the data logger working was one of the more formidable tasks. Three of the digital pin connections required pull down resistors to lower the voltages because the digital pins on the Arduino output 5V, but our data logger operates on 3.3V. The documentation for the SD-MMC breakout board can be difficult to decipher. It helps to read the comments on the SparkFun page for BOB-11403
Goals
We want our sensor data to write to the SD Card mounted on the SD-MMC breakout board
Results
It works. Watch the video below.
The code for the data logger is from GarageLab Tutorial How to use SD Card with Arduino
The code:
// 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#include //SoftwareSerial mySerial(10,11); #include SdFat sd; SdFile myFile; void setup() { Serial.begin(9600); while (!Serial) {} // wait for Leonardo Serial.println("Type any character to start"); while (Serial.read() <= 0) {} delay(400); // catch Due reset problem // 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.begin(chipSelect, SPI_HALF_SPEED)) 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 }
No comments:
Post a Comment