mercoledì 23 maggio 2012

Arduino Ethernet e scheda SD

Nelle schede Arduino Ethernet e' compreso un lettore di micro Sd card che puo' essere impiegato come datalogger
Un esempio semplice e' riportato nel seguente sketch
-------------------------
#include <SD.h>

const int chipSelect = 4;

void setup()
{
  Serial.begin(9600);
  Serial.print("Initializing SD card...");
  pinMode(10, OUTPUT);
 
  // see if the card is present and can be initialized:
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    return;
  }
  Serial.println("card initialized.");
}

void loop()
{
  String dataString = "Luca";

  File dataFile = SD.open("datalog.txt", FILE_WRITE);

  if (dataFile) {
    dataFile.println(dataString);
    dataFile.close();
  } 
  // if the file isn't open, pop up an error:
  else {
    Serial.println("error opening datalog.txt");
  }
}



-------------------------
il programmino funziona bene nel senso che crea (se non e' gia' presente) il file datalog.txt ed inserisce una stringa per ogni ciclo.
Aprendo da computer il file si ha pero' una situazione di questo tipo

-------------------

Luca
Luca
Luca
Luca
LucaLuca
Luca
Luca
Luca
-------------------
ovvero, senza una logica ben precisa, viene perso un ritorno a capo