SPI is used because the chip that makes and SD or microSD card talks to an SPI interface, not I2C. For I2C you'd need some circuitry external to the card to translate the I2C format from the uC into SPI format for the card - reading the I2C address, responding with ACK bits, creating a chip select signal, etc. I2C works at 400 KHz, SPI to SD card works at 4 MHz, maybe 8 (depends on the card), so you'd see a huge performance hit too.
Ok. Thanks. I had just used a shield and it has ...... D'oh! an E-EPROM.
Sorry.
Ok, I'll get the SPI one.
Another question:
Searching ebay I have seen them/some.
But looking at the pictures they have 6 wires from a shield to the card.
And there are Arduino E, N, H listed.
What's that mean? I'm still new to the terms.
And they (the ones at which I have looked) are plugged actually into a SHIELD rather than an Arduino directly.
But I guess that is just academic. I'm guessing they can plug directly into the Arduino.
What's that mean? I'm still new to the terms.
And they (the ones at which I have looked) are plugged actually into a SHIELD rather than an Arduino directly.
But I guess that is just academic. I'm guessing they can plug directly into the Arduino.
All SD cards work at 3.3V (or less if requested) so may be damaged in a 5V arduino without taking care.
The usual pins on a module will normally be (in no particular order) CLK, MOSI, MISO, CS, VCC, GND.
Some will maybe have 2x VCC pins - one for 5V and the other for 3.3V so they can work on either 3.3V or 5V Arduinos. The 5V ones would normally include level shifters to drop CLK, CS & MOSI down to 3.3V to prevent damage to SD cards.
CLK = Clock (SCK)
MOSI = Master Out, Slave In
MISO = Master In, Slave Out
CS = Chip select (also called SS)
And there are some that are just a breakout board for the connector, you have to supply the regulator and signal level shifting logic yourself if using it in a 5V system.