Scusa ma non ho postato tutto lo sketch completo .
Ti rispondo alle tue domande funziona tutto leggo quello che sta scritto sul sd, ad esempio ho messo la stessa password la leggo uguale sulla seriale ma non riesco a impostarla .
La mia domanda e come faccio a mettere una variabile di tipo char sul sd e impostarla ad ogni riavvio della scheda ?
Quello che vorrei realizzare un programma finito dove l'utente deve mettere le sue credenziali nel sd senza accedere al codice o usare IDE di Arduino.
Manca una informazione fondamentale, come sono scritte le credenziali nel file, su una riga con separatore, su più righe, in che ordine, hanno un'etichetta, etc
Posta un esempio del file
Scusa eh ... tu sai ricevere caratteri dalla seriale e metterli in una stringa classica del 'C'? Ecco, la stessa identica cosa fai con i caratteri che leggi da SD (anche se, in realtà, ci sono metodi più veloci, ma intanto comincia a fare così).
WinGamesyun:
Scusa ma con questo input seriale <Serial.write(myFile.read());>
mi stampa correttamente la password sto provando a convertila in stringa o carattere ma stampa caratteri strani .
Ecco, quindi significa che la myFile.read() ti restituisce un carattere per volta ...
Ora, ti ricordi quando devi leggere da seriale che ti da un carattere per volta? Come fai ?
sarà dalla prima elementare che io e mio fratello ci facciamo da "pacere" l'un con l'altro
oggi tocca a me fare da pacere per lui
basta fare una cosa del genere:
// DDD
// non significa come sui CD: registrato mixato e masterizzato in digitale
// Significa:
// Dal Dinamico Duo
#define BLYNK_PRINT Serial
#include <SD.h>
#include <SPI.h>
#include <WiFiNINA.h>
#include <BlynkSimpleWiFiNINA.h>
void setup()
{
char auth[25] = 0;
char ssid[15] = 0;
char pass[15] = 0;
Serial.begin(9600);
Serial.print("Initializing SD card...");
delay(1000);
if (!SD.begin(4))
{
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
File myFile;
if !(myFile = SD.open("pass.txt"))
{
Serial.println("error opening test.txt");
while (1);
}
else
{
Serial.println("pass.txt: ");
byte i = 0;
while (myFile.available() && i < 25)
{
char letto = myFile(read());
Serial.print(letto);
auth[i++] = letto;
}
myFile.close();
Serial.println();
}
Blynk.begin(auth, ssid, pass);
}
void loop()
{
Blynk.run();
}
naturalmente per ognuna delle tre stringhe
adesso, per calmare l'animo di Fabio, che è ancora un po' stizzito (e l'autore sa perché, io non vado oltre)
sarebbe bella cosa se l'autore desse prova di buona volontà e almeno capisse cosa ho fatto al suo programma per farlo stampare (prima) e per farlo andare bene (dopo)
che se non aggiungevo il commento DDD poi Fabio non me lo scrollavo più...