Ceci est un module lecteur de carte microSD 3,3V qui permet à un microcontrôleur de communiquer avec une carte microSD via le bus SPI. Il utilise CS (chip select) avec MOSI, MISO et CLK, et partage GND ainsi qu'une alimentation 3,3V avec le système.
| Broche | Signal | Description |
|---|---|---|
3V3 |
power | 3.3V power input for the microSD card reader; use only 3.3V logic/power. |
CS |
chip-select | SPI chip-select input for the microSD card; active low. |
MOSI |
MOSI | SPI data from host MCU to microSD card. |
CLK |
SCK | SPI clock input from the host MCU to the microSD card. |
MISO |
MISO | SPI data output from microSD card to host MCU. |
GND |
ground | Ground reference for power and SPI signals. |
| De | Vers | Fil |
|---|---|---|
board:5V |
x1:3V3 |
red |
board:GND |
x1:GND |
black |
board:D10 |
x1:CS |
green |
board:D11 |
x1:MOSI |
blue |
board:D13 |
x1:CLK |
yellow |
board:D12 |
x1:MISO |
purple |
Cet exemple a été écrit et vérifié à la compilation pour le arduino-uno. Codey Online l'adapte pour vous à toute autre carte prise en charge.
#include <SPI.h>
#include <SD.h>
const int SD_CS_PIN = 10;
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
Serial.println("Micro-SD Card Reader 3.3V example");
Serial.println("Initializing SD card...");
pinMode(SD_CS_PIN, OUTPUT);
digitalWrite(SD_CS_PIN, HIGH);
if (!SD.begin(SD_CS_PIN)) {
Serial.println("SD card initialization failed!");
Serial.println("Check wiring, card format, and that the module is powered correctly.");
while (true) {
delay(1000);
}
}
Serial.println("SD card initialized successfully.");
File root = SD.open("/");
if (root) {
Serial.println("Files on the card:");
printDirectory(root, 0);
root.close();
} else {
Serial.println("Could not open root directory.");
}
}
void loop() {
// Simple periodic status message so you can see the sketch is running.
Serial.println("SD card ready.");
delay(2000);
}
void printDirectory(File dir, int numTabs) {
while (true) {
File entry = dir.openNextFile();
if (!entry) {
break;
}
for (int i = 0; i < numTabs; i++) {
Serial.print('\t');
}
Serial.print(entry.name());
if (entry.isDirectory()) {
Serial.println("/");
printDirectory(entry, numTabs + 1);
} else {
Serial.print("\t");
Serial.println(entry.size(), DEC);
}
entry.close();
}
}
Décrivez ce que vous voulez créer. Codey Online écrit le code, dessine le schéma de câblage, le compile et flashe votre carte directement depuis le navigateur.
Commencez gratuitement