Leggere file random da sd card

Salve, ho iniziato da poco a programmare arduino e sono nuovo sul forum.
Quello che dovrei fare e caricare dei testi random da sd.
Ho 50 testi, 1.txt, 2.txt, 3.txt...
dovrei caricare random un testo, per poi stamparlo su una stampante POS.
Qualche idea?
Grazie

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

Cpn Arduino puoi usare un generatore di numeri pseudo random:

https://www.arduino.cc/en/Reference/Random

gpb01:
Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO … Grazie.

Guglielmo

Si, scusa, appena fatto!

cyberhs:
Cpn Arduino puoi usare un generatore di numeri pseudo random:

random() - Arduino Reference

non so come collegare il numero all'estensione del file, 1.txt, 2.txt, 3.txt...

Ad esempio, usando la classe String:

int randNumber = 0;
String NomeFile = "";
NomeFile.reserve(10);  // riserva 10 caratteri di spazio
...
setup() {
  randomSeed(analogRead(0));  // inizializza generatore random
}

loop() {
randNumber = random(1, 301);  // numero random tra 1 e 300
NomeFile += randNumber;
NomeFile += ".txt"

<routine per usare il file "xxx.txt">

NomeFile = "";  // svuota contenuto
}

Perfetto! è quello che cercavo.

A cosa serve?

NomeFile.reserve(10);

e cosa fanno?

NomeFile += randNumber;
NomeFile += ".txt"

Grazie

Esiste il reference dei comandi di Arduino: https://www.arduino.cc/en/Reference/HomePage
La classe String viene spiegata qui: https://www.arduino.cc/en/Reference/StringObject
Qui la reserve: https://www.arduino.cc/en/Reference/StringReserve

In alternativa si possono usare le stringhe classiche del C, per random, segui l’esempio di Cybers

char NomeFile[10];  // massima dimensione del nome  xxx.txt
...
randNumber = random(1, 301);  // numero random tra 1 e 300 esempio esce: 15
snprint(NomeFile,10,"%d.txt",randNumber);  // "stampa" dentro a NomeFile  es. 15.txt  %d=segnaposto nella frase
<routine per usare il file esempio "15.txt">

Il reserve riserva spazio per l’oggetto stringa, perché questo oggetto dopo alcuni loop potrebbe consumare spazio RAM.

Deve essere dimensionato per la più lunga stringa che, con concatenazioni, si può ottenere.

Gli altri due sono concatenazioni di stringhe, ma queste non te le spiego, perché devo studiare!