Skip to main content

Using the SD library to retrieve information over a serial port

This example shows how to read information about a SD card. The example reports volume type, free space and other information using the SD library, sending it over the serial port. Please click here for more information on the SD library.


Step 1: What You Need?

1 x Arduino Board ( Arduino UNO used in this tutorial) 
1 x Arduino Ethernet Shield (or other board with an SD slot)
1 x Formatted SD card

Don't have components? Don't worry. Just click the component's name. 


Step 2: Build Your Circuit.




The Arduino board has to be connected to the Ethernet Shield and also has a USB cable connected to the computer.


Step 3: Upload The Code.

1. Select the Arduino board type: Select Tools >> Board >> Select your correct Arduino board used.


2. Find the port number by accessing device manager on Windows. See the section Port (COM&LPT) and look for an open port named "Arduino Uno (COMxx)". If you are using a different board, you will find a name accordingly. What matters is the xx in COMxx part. In my case, it's COM3. So my port number is 3.


Select the right port: Tools >> Port >> Select the port number.



3. You can find this code in the example of Arduino IDE.
Select File >> Examples >> SD >> CardInfo

Click press the "upload" button (see the button with right arrow mark).


The code below is configured for use with an Ethernet shield, which has an onboard SD slot. In the setup(), call SD.begin(), naming pin 4 as the CS pin. This pin varies depending on the make of shield or board you are using.

The code uses some undocumented utility libraries to report information about the SD card. This information includes formatting (FAT16 or FAT32) and file structure, as well as the amount of free space and space used on the card.






/*
SD card test This example shows how use the utility libraries on which the'
SD library is based in order to get info about your SD card.
Very useful for testing a card when you're not sure whether its working or not. The circuit:
* SD card attached to SPI bus as follows:
** MOSI - pin 11 on Arduino Uno/Duemilanove/Diecimila
** MISO - pin 12 on Arduino Uno/Duemilanove/Diecimila
** CLK - pin 13 on Arduino Uno/Duemilanove/Diecimila
** CS - depends on your SD card shield or module.
Pin 4 used here for consistency with other Arduino examples created 28 Mar 2011
by Limor Fried
modified 9 Apr 2012
by Tom Igoe
*/
// include the SD library:
#include <SPI.h>
#include <SD.h> // set up variables using the SD utility library functions:
Sd2Card card;
SdVolume volume;
SdFile root; // change this to match your SD shield or module;
// Arduino Ethernet shield: pin 4
// Adafruit SD shields and modules: pin 10
// Sparkfun SD shield: pin 8
const int chipSelect = 4; 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("\nInitializing SD card..."); // we'll use the initialization code from the utility libraries
// since we're just testing if the card is working!
if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("* is a card inserted?");
Serial.println("* is your wiring correct?");
Serial.println("* did you change the chipSelect pin to match your shield or module?");
return;
} else {
Serial.println("Wiring is correct and a card is present.");
} // print the type of card
Serial.print("\nCard type: ");
switch (card.type()) {
case SD_CARD_TYPE_SD1:
Serial.println("SD1");
break;
case SD_CARD_TYPE_SD2:
Serial.println("SD2");
break;
case SD_CARD_TYPE_SDHC:
Serial.println("SDHC");
break;
default:
Serial.println("Unknown");
} // Now we will try to open the 'volume'/'partition' - it should be FAT16 or FAT32
if (!volume.init(card)) {
Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
return;
} // print the type and size of the first FAT-type volume
uint32_t volumesize;
Serial.print("\nVolume type is FAT");
Serial.println(volume.fatType(), DEC);
Serial.println(); volumesize = volume.blocksPerCluster(); // clusters are collections of blocks
volumesize *= volume.clusterCount(); // we'll have a lot of clusters
volumesize *= 512; // SD card blocks are always 512 bytes
Serial.print("Volume size (bytes): ");
Serial.println(volumesize);
Serial.print("Volume size (Kbytes): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.print("Volume size (Mbytes): ");
volumesize /= 1024;
Serial.println(volumesize); Serial.println("\nFiles found on the card (name, date and size in bytes): ");
root.openRoot(volume); // list all files in the card with date and size
root.ls(LS_R | LS_DATE | LS_SIZE);
} void loop(void) { }

Download:



Sources:https://www.arduino.cc/en/Tutorial/CardInfo   
http://news.chivindo.com/686/using-the-sd-library-to-retrieve-information-over-a-serial-port.html

Comments

Popular posts from this blog

BT-BASIC commands used

8.10     Some of the most frequently used BT-BASIC commands used are: msi                               Changes default working directory. Mass storage is            Same as “msi” cat                               Catalogs (list)the node names in the specified directory.             get                               Brings the contents of a file into the system workspace.        ...

Perhitungan & Cara Merubah Kumparan Blender Dari 220 V Menjadi 12 V

          Seperti yang telah dijelaskan pada buku “menggulung motor listrik arus bolak-balik, servis peralatan listrik rumah tangga kelompok penggerak dan perbaikan peralatan listrik pertukangan”, bahwa motor penggerak yang digunakan pada perlatan listrik rumah tangga dan pertukangan seperti blender, mixer, bor tembak, gerinda dsb menggunakan jenis motor universal. Motor universal adalah jenis motor listrik yang dapat disuplai dengan sumber listrik arus bolak-balik (AC) dan arus searah (DC). Jadi peralatan-peralatan listrik rumah tangga dan pertukangan tersebut yang biasanya kita suplai dengan sumber listrik AC dari PLN atau Genset sebesar 220 V sebenarnya dapat juga kita suplai dengan sumber listrik DC yang tentunya tegangan juga harus sama yakni 220 V.           Yang menjadi permasalahan bagaimana kalau peralatan listrik rumah tangga atau pertukangan tersebut, sebagai contoh misalkan blender yang ingin digunakan atau dioper...

BT-BASIC command line

8.8       At the BT-BASIC command line type the command  msi  and the directory path, then press the “ENTER” key on the keyboard.  Example:                   msi ‘/hp3070/boards/aspect/main’ 8.9       At the BT-BASIC command line type the command  get ‘testplan’ and press the   ENTER” key on the keyboard.  You should now see the body of the testplan file displayed in the work space of the BT-BASIC window. 8.10     Some of the most frequently used BT-BASIC commands used are:

Autodesk SketchBook Pro 2021 Full Version

BAGAS31 – Sesuai dengan namanya, Autodesk SketchBook Pro 2021 Full Version ini merupakan software digital sketching atau drawing terbaik yang bisa kamu gunakan. Pada versi terbaru kali ini, ada beberapa penambahan fitur yang sangat efektif. Dengan fitur baru tersebut, diharapkan mampu meningkatkan proses sketching maupun drawing kamu. Autodesk SketchBook sendiri sudah bisa kamu dapatkan secara gratis melalui website resminya. Namun untuk kamu yang mau download versi Autodesk Sketchbook Pro, maka bisa langsung download melalui link yang sudah saya sediakan di bawah ini. Download Autodesk SketchBook Pro 2021 Full Version Screenshot: System Requirements: Windows 10 2.5 – 2.9 GHz of Intel or AMD CPU 4 GB of Memory 256 MB Graphics card with OpenGL 2.0 support We recommend that you use a pressure-sensitive tablet and pen for basic features Download: Autodesk SketchBook Pro 2021 Full Version [ FileUp ][ Uptobox ][ UsersDrive ] Jamu Only [ File...

Testhead

4.3         Testhead The testhead is that portion of the tester that supports the PIN, ASRU and Controller cards.   The testhead is divided into two BANKS and each BANK is divided into two MODULES, see figure 2 below.  Bank 1 contains modules 0 and 1, bank 2 contains modules 2 and 3.  The test fixtures are placed on the banks of the tester and locked down for board testing.  The testhead cards interface to the test fixture through the spring loaded pogo pin “nails” at the top edge on each of these card types. 4.4       Support Bay The support bay is a stand-alone cabinet that houses the power supplies for the Unit Under Test.  This bay also houses the test station power distribution unit and test station controller on earlier models. 4.5       Emergency Shutdown Switch The emergency shutdown switch is the large red button located at the lower left corne...

Kelebihan dan Kekurangan Saluran Listrik Jenis Saluran Udara dan Saluran Bawah Tanah

Berdasarkan pemasangannya,   saluran distribusi dibagi menjadi dua kategori, yaitu : saluran udara (overhead line) merupakan sistem penyaluran tenaga listrik melalui kawat penghantar yang ditompang pada tiang listrik. Sedangkan saluran bawah tanah (underground cable) merupakan sistem penyaluran tenaga listrik melalui kabel-kabel yang ditanamkan di dalam tanah. 1.    Saluran Bawah Tanah (Underground Lines) Saluran distribusi yang menyalurkan energi listrik melalui kabel yang ditanam didalam tanah. Kategori saluran distribusi seperti ini adalah yang favorite untuk pemasangan di dalam kota, karena berada didalam tanah, maka tidak mengganggu keindahan kota dan juga tidak mudah terjadi gangguan akibat kondisi cuaca atau kondisi alam. Namun juga memilik kekurangan, yaitu mahalnya biaya investasi dan sulitnya menentukan titik gangguan dan perbaikannya. Kedua cara penyaluran memiliki keuntungan dan kerugian masing-masing. Keuntungan yang dapat diperoleh dari suatu jaringan bawah...