Ciao a tutti. Alla fine per risolvere, spero temporaneamente, ho dovuto inserire un relè che mi taglia il "filo" del MISO della Card Reader.
Ho provato mille soluzioni ma senza risultato, probabilmente modulino difettoso... Ne acquisterò un altro appena avrò altro materiale da acquistare. Nel frattempo ho implementato anche un modulino HC-05 e spero, in seguito di riuscire a fare una App Android da usare per leggere i dati registrati sulla SD oltre che con il programmino fatto con Visual Studio Comunity ( anche se a dir la verità ora ho spostato solo le seriali e quindi lo interrogo solo tramite bluetooth.. ) Per ora il collegamento bluetooth risulta funzionante e riesco ad "interrogare" Arduino e fargli inviare le registrazioni anche sulla seriale bluetooth, devo "solo" trovare il modo di fargli creare un file *.CSV con Android, ma questo non è oggetto di questo forum.. ![]()
Ma accetto suggerimenti.... ![]()
Per mantenere tutte e due le seriali devo scrivere doppio codice? nel senso riscrivere le stesse istruzioni di codice per entrambi li seriali?
// leggi il file su SD con comando su seriale su interrogazione da programma fatto con Visual Studio
while (Serial.available()) {
char c = (char)Serial.read();
if ((c < 48) || (c > 57)) {
return;
}
if (c == 48) {// il numero 0 equivale a 48 in ascii
delay(100);
digitalWrite(chipSelectSD, LOW); // abilito la comunicazione SPI per la SD
myFile = SD.open("datalog.txt");
while (myFile.available())
{
Serial.write(myFile.read()); // invio su seriale i dati registrati/letti sulla SD
}
myFile.close();
digitalWrite(chipSelectSD, HIGH); // disabilito la comunicazione SPI per la SD
return;
}
// altre possibili interrogazioni fatta da programma creato su visual Studio
if (c == 57) {// il numero 9 equivale a 57 in ascii
delay(100);
digitalWrite(chipSelectSD, LOW); // abilito la comunicazione SPI per la SD
SD.remove ("datalog.txt"); // cancello il file scrito su SD
digitalWrite(chipSelectSD, HIGH); // disabilito la comunicazione SPI per la SD
delay(50);
software_reboot(); // riavvio arduino per ricreare le Inteestazioni
}
Praticamente raddoppiare le istruzioni dopo il while (Serial.available()) etc etc facendone un altro con (Serial1.available()).....
Allego anche schema fatto con Fritzing... spero di non aver fatto errori e troppe ragnatele ma i fili erano già parecchi.. ![]()
