Go Down

Topic: Collegare scheda SD su Arduino MICRO (Read 253 times) previous topic - next topic

iCiuk

May 21, 2018, 01:03 am Last Edit: May 21, 2018, 01:03 am by iCiuk
Ciao a tutti

mi serve il vostro aiuto, vorrei usare una memoria SD per raccogliere dei dati di temperatura ed altro e allora mi sono dotato di una scheda come quella allegata comprata su amazon, ma non riesco ad inizializzarla, penso si dovuto a problemi di collegamenti tra arduino micro e la scheda stessa. Ho cercato sui forum ma non sono riuscito a avare un ragno dal buco....

Il mio HD è fatto da:

arduino micro
modulo lettore e scrittore - scheda Reader SPI

dopo vari tentativi, ho usato anche i piedini specifici per mosi, miso, sclk, ho trovato che su arduino micro si deve usare il connettore ICSP, il PIN CS non so dove collegarlo, non mi è chiaro. (si veda immagine attaccata)


detto questo ogni volta che lancio lo sketch seguente mi dice sempre "initialization failed!"
cosa sbaglio? grazie per qualsiasi suggerimento o indicazione che mi aiuti e mi risolva.

Code: [Select]
#include <SD.h>
#include <Wire.h>

//#define CS 8
const int CS = 13;

char buffer[40];
File myFile;
int C = 0;

void setup () {

pinMode(LED_BUILTIN, OUTPUT);

Serial.begin(9600);
delay(5000);

Serial.print("Initializing SD card...");
pinMode(CS, OUTPUT);
if (!SD.begin(CS)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
}

void loop () {
blink();
Serial.println(C);
C++;
}

void blink() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(200);
}


Grazie a tutti

Andrea

docdoc

il PIN CS non so dove collegarlo, non mi è chiaro
Ma se nel codice lo hai scritto:

   const int CS = 13;

Così dovrebbe essere il pin 13 (hai commentato il precedente valore, che puntava all'8).
Ma non ti consiglio il 13, lascia quello che avevi trovato (8), collega il CS a questo e prova.
Alex "docdoc" - ** se ti sono stato d'aiuto, un punto karma sarà gradito, clicca su "add" qui a sinistra, vicino al mio nome ;) **

iCiuk

ho provato, l'ho messo sull'8, sull'25 ma non va, dice sempre inizializzazione fallita
provo a rifare il tutto e cerco qualche esempio.... vi aggiorno

grazie comunque
andrea

brunello22

#3
May 22, 2018, 12:32 pm Last Edit: May 22, 2018, 12:33 pm by brunello22
Collegamento




Oppure


docdoc

Collegamento
Precisissimo come sempre brunello! :D

Certo, se l'OP dice solo che ha "provato sull'8" e "sul 25" (wtf?), e che "non va", senza confermare come ha fatto i collegamenti e come ha modificato lo sketch, più di quello che hai fatto tu per ora non si può fare... ;)
Alex "docdoc" - ** se ti sono stato d'aiuto, un punto karma sarà gradito, clicca su "add" qui a sinistra, vicino al mio nome ;) **

iCiuk

ciao, vero sono stato un po impreciso, ad ogni modo ho cambiato HD ed ora funziona, con il nuovo HD ho usato

MISO 11 arduino micro
MOSI 10 arduino micro
SCLK   9 arduino micro
SS     8 arduino micro

il codice è questo e mi esce per "initialization done."

Code: [Select]
if (!SD.begin()) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");



come dicevo in un altro post, secondo me mancava un pezzo di HD sulla scheda, non è la prima volta che cose cinesi funzionano in qualche maniera.

Recentemente ho comprato 4 video camere per 150 euro che promettevano di vedersi via WiFi ... diciamo che via wifi sono voltai i 15 euro ... e mi spiace perchè aliexpress sembrava più affidabile

cmq ora vedo la scheda, dopo provo a leggerla e scriverla, perchè non è mica finita qui.... ;D  ;D  ;D

grazie a tutti

andrea

Go Up