Avaliação do Usuário

Estrela ativaEstrela ativaEstrela ativaEstrela ativaEstrela ativa
 

 

 

Talvez esse seja um dos módulos mais fáceis de usar com o Arduino de tão divulgado e explorado.

 

Data logger de todos os tipos possíveis e imagináveis podem ser feitos com ele, fora alguns outros projetos mais incomuns onde a leitura ou a escrita de arquivos estejam envolvidos.

 

Para esse projeto você vai precisar, obviamente, de um módulo para cartões SD, de um cartão SD e de um Arduino. O módulo SD que usarei pode ser encontrado na Tato Equipamentos Eletrônicos.

 

 

 

 

A ligação entre o módulo e o Arduino é simples, mas complica porque a barra de pinos fica ao contrário quando usamos uma protoboard. Mas nada que algumas anotações em um papel não resolva.

 

Bom ligue:

 

O pino GND do módulo a um GND do Arduino;

O pino 3,3V do módulo ao pino 3,3V do Arduino;

O pino CS do módulo ao pino digital 4 do Arduino;

O pino MOSI do módulo ao pino digital 11 do Arduino;

O pino SCK do módulo ao pino digital 13 do Arduino;

O pino MISO do módulo ao pino digital 12 do Arduino;

 

 

 

 

Agora abra o seu ambiente Arduino e abra o exemplo ReadWrite já pronto para a biblioteca do módulo:

 

 

 

 

O código será:

 

{code}

/*

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

modified 9 Apr 2012

by Tom Igoe

 

This example code is in the public domain.

 

*/

 

#include <SD.h>

 

File myFile;

 

void setup()

{

// Open serial communications and wait for port to open:

Serial.begin(9600);

while (!Serial) {

; // wait for serial port to connect. Needed for Leonardo only

}

 

 

Serial.print("Initializing SD card...");

// On the Ethernet Shield, CS is pin 4. It's set as an output by default.

// Note that even if it's not used as the CS pin, the hardware SS pin

// (10 on most Arduino boards, 53 on the Mega) must be left as an output

// or the SD library functions will not work.

pinMode(10, OUTPUT);

 

if (!SD.begin(4)) {

Serial.println("initialization failed!");

return;

}

Serial.println("initialization done.");

 

// open the file. note that only one file can be open at a time,

// so you have to close this one before opening another.

myFile = SD.open("test.txt", FILE_WRITE);

 

// if the file opened okay, write to it:

if (myFile) {

Serial.print("Writing to test.txt...");

myFile.println("testing 1, 2, 3.");

// close the file:

myFile.close();

Serial.println("done.");

} else {

// if the file didn't open, print an error:

Serial.println("error opening test.txt");

}

 

// re-open the file for reading:

myFile = SD.open("test.txt");

if (myFile) {

Serial.println("test.txt:");

 

// read from the file until there's nothing else in it:

while (myFile.available()) {

Serial.write(myFile.read());

}

// close the file:

myFile.close();

} else {

// if the file didn't open, print an error:

Serial.println("error opening test.txt");

}

}

 

void loop()

{

// nothing happens after setup

}

{/code}

 

Esse código traz um excelente exemplo de como gravar e ler arquivos no cartão, sendo que irá criar um arquivo no cartão SD, basta executá-lo e olhar o funcionamento no Serial Monitor:

 

 

 

 

Depois de pronto você pode colocar o cartão em seu computador e usar um editor de textos qualquer para verificar o conteúdo do arquivo: