SD Card
Código de Armazenamento de dados
O módulo SD Card do Arduíno é um dispositivo usado para habilitar a transferência de dados entre o cartão SD e o Arduíno.
Seu hardware é composto por 7 pinos diferentes dispostos em duas colunas iguais, sendo eles:
- GND (Ground) que deve ser conectado ao GND do Arduíno;
- 3.3;
- 5V (por onde será alimentado, logo deve ser conectado ao 5V do Arduíno);
- CS que deve ser conectado ao pino 10 do Arduíno;
- MOSI (Master Out Slave In) que deve ser conectado ao pino 11 do Arduíno;
- SCK (System Clock) que deve ser conectado ao pino 13 do Arduíno;
- MISO (Master In Slave Out) que deve ser conectado ao pino 12 do Arduíno;
A figura a seguir demonstra as conexões do módulo à placa:
O código-exemplo abaixo tem como fim a leitura e gravação de dados do cartão SD:
/*
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 (for MKRZero? SD: SDCARD_SS_PIN)
created Nov 2010
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
This example code is in the public domain.
*/
- include <SPI.h>
- 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 native USB port only } Serial.print("Initializing SD card..."); 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
}
Se tudo tiver sido feito corretamente, no Serial Monitor aparecerá a seguinte tela:
Em nossos testes obtivemos o resultado esperado ao alimentar o circuito com 3.3V e conectar o CS no pino 10.
Page last modified on March 20, 2019, at 06:46 PM