velleman Whadda WPI304 SD Card Interface User Manual
- June 8, 2024
- Velleman
Table of Contents
SD card logging module for Arduino®
WPI304
USER MANUAL
Introduction
To all residents of the European Union
Important environmental information about this product
This symbol on the device or the package indicates that disposal of the device
after its lifecycle could harm the environment. Do not dispose of the unit (or
batteries) as unsorted municipal waste; it should be taken to a specialized
company for recycling. This device should be returned to your distributor or
to a local recycling service. Respect the local environmental rules.
If in doubt, contact your local waste disposal authorities.
Thank you for choosing Whadda! Please read the manual thoroughly before
bringing this device into service. If the device was damaged in transit, do
not install or use it and contact your dealer.
Safety Instructions
Read and understand this manual and all safety signs before using this
appliance.
For indoor use only.
- This device can be used by children aged from 8 years and above, and persons with reduced physical, sensory or mental capabilities or lack of experience and knowledge if they have been given supervision or instruction concerning the use of the device in a safe way and understand the hazards involved. Children shall not play with the device.
Cleaning and user maintenance shall not be made by children without supervision.
General Guidelines
- Refer to the Velleman® Service and Quality Warranty on the last pages of this manual.
- All modifications of the device are forbidden for safety reasons. Damage caused by user modifications to the device is not covered by the warranty.
- Only use the device for its intended purpose. Using the device in an unauthorized way will void the warranty.
- Damage caused by disregard of certain guidelines in this manual is not covered by the warranty and the dealer will not accept responsibility for any ensuing defects or problems.
- Nor Velleman Group nv nor its dealers can be held responsible for any damage (extraordinary, incidental or indirect) – of any nature (financial, physical…) arising from the possession, use or failure of this product.
- Keep this manual for future reference.
What is Arduino®
Arduino® is an open-source prototyping platform based on easy-to-use hardware and software. Arduino® boards are able to read inputs – light-on sensor, a finger on a button or a Twitter message – and turn it into an output – activating of a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so, you use the Arduino programming language (based on Wiring) and the Arduino® software IDE (based on Processing). Additional shields/modules/components are required for reading a twitter message or publishing online. Surf to www.arduino.cc for more information.
Product Overview
This shield will prove useful for data logging with your Arduino®. Can be
easily assembled and customized for any data logging project.
The SD card interface works with FAT16 and FAT32 formatted cards. Real-time
clock (RTC) keeps the time going even when the Arduino® is unplugged.
Prototyping area for soldering connectors, circuitry or sensors.
Specifications
- voltage: 3.3-5 V
- protocol: SPI
- dimensions: 52 x 30 x 12 mm
- weight: 8 g
- required library: SD.h
Connection
Connection to Arduino® Uno
Arduino® | WPI304 |
---|---|
10 | CS |
11 | MOSI |
12 | MISO |
13 | SCK |
GND | GND |
+5V | 5 V |
Connection to Arduino® Mega
Arduino® | WPI304 |
---|---|
50 | MISO |
51 | MOSI |
52 | SCK |
53 | CS |
GND | GND |
+5V | 5 V |
Example
/
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.
created 28 Mar 2011
by Limor Fried
modified 9 Apr 2012
by Tom Igoe
modified 4 Sept 2020
by Midas Gossye (Velleman)
/
// 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
// Velleman VMA304/WPSH304 & Adafruit SD shields and modules: pin 10
// Sparkfun SD shield: pin 8
// MKRZero SD: SDCARD_SS_PIN
const int chipSelect = 10;
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?”);
while (1);
} else {
Serial.println(“Wiring is correct and a card is present.”);
}
// print the type of card
Serial.println();
Serial.print(“Card 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”);
while (1);
}
Serial.print(“Clusters: “);
Serial.println(volume.clusterCount());
Serial.print(“Blocks x Cluster: “);
Serial.println(volume.blocksPerCluster());
Serial.print(“Total Blocks: “);
Serial.println(volume.blocksPerCluster() volume.clusterCount());
Serial.println();
// print the type and size of the first FAT-type volume
uint32_t volumesize;
Serial.print(“Volume type is: FAT”);
Serial.println(volume.fatType(), DEC);
volumesize = volume.blocksPerCluster(); // clusters are collections of blocks
volumesize *= volume.clusterCount(); // we’ll have a lot of clusters
volumesize /= 2; // SD card blocks are always 512 bytes (2 blocks are 1KB)
Serial.print(“Volume size (Kb): “);
Serial.println(volumesize);
Serial.print(“Volume size (Mb): “);
volumesize /= 1024;
Serial.println(volumesize);
Serial.print(“Volume size (Gb): “);
Serial.println((float)volumesize / 1024.0);
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) {
}
whadda.com Modifications and typographical errors
reserved – © Velleman Group nv. WPI304_v01
Velleman Group nv, Legen Heirweg 33 – 9890 Gavere.
References
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>