Bonjour à tous
Je suis en classe STI2D , et mon projet est coefficient 12 . Et le but de mon projet est de concevoir un panneau qui permet d'afficher les événements pour les personnes atteints d'Alzeimer . Je dois faire la partie ou je dois entrer des évenements dans le moniteur série , les stocker dans une carte SD et ensuite , grace à une horloge RTC, les ressortir .
la j'ai fait la partie avec un switch case, et suite une autre partie ou la carte Arduino ouvre un fichier dans une carte SD et m'affiche son contenu
seulement j'aimerais fusionner les deux codes afin que cela me fasse un truc assez propre . Je e sais pas si je vais y réussir , alors un petit coup de pouce ci possible ? 
voici mon premier programme :
char val;
void setup() {
Serial.begin(9600);
Serial.println("bonjour ");
}
void loop() {
val = Serial.read();
switch (val) {
case 'A':
Serial.println("vous avez cliqué sur A");
break;
case 'B':
Serial.println("Vous avez cliqué sur B");
break;
default:
// if nothing else matches, do the default
// default is optional
break;
}
}
Et voici mon second code :
File myFile;
void setup() {
Serial.begin(9600);
while (!Serial) {
}
if (!SD.begin(4)) {
Serial.println("Impossible de charger la carte SD");
return;
}
Serial.println("Chargement réussi");
myFile = SD.open("MEMORIA.csv", FILE_WRITE);
if (myFile) {
myFile.close();
} else {
Serial.println("Impossible d'ouvrir test.txt");
}
//Read file byte by byte
myFile = SD.open("MEMORIA.csv");
if (myFile) {
while (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
} else {
Serial.println("error opening test.txt");
}
//Read file line by line
myFile = SD.open("MEMORIA.csv");
if (myFile) {
while (myFile.available()) {
}
myFile.close();
} else {
Serial.println("error opening test.txt");
}
}
void loop() { }
Un petit coup de main ne serais pas de refus .
Merci d'avance
theamazing301:
void setup() {
Serial.begin(9600);
while (!Serial) {
}
if (!SD.begin(4)) {
Serial.println("Impossible de charger la carte SD");
return;
}
Serial.println("Chargement réussi");
myFile = SD.open("MEMORIA.csv", FILE_WRITE);
if (myFile) {
myFile.close();
} else {
Serial.println("Impossible d'ouvrir test.txt");
}
//Read file byte by byte
myFile = SD.open("MEMORIA.csv");
if (myFile) {
while (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
} else {
Serial.println("error opening test.txt");
}
//Read file line by line
myFile = SD.open("MEMORIA.csv");
if (myFile) {
while (myFile.available()) {
}
myFile.close();
} else {
Serial.println("error opening test.txt");
}
}
void loop() { }
c'est vraiment dans la fonction setup ou c'est dans le void que sa dois étre ??[/u]
bon sinon j'ai sa (je sais pas si sa va marcher (peux pas test) ou si c'est le mieux)
(si le tru est bien dans setup)
char val;
File myFile;
void setup() {
Serial.begin(9600);
Serial.println("bonjour ");
Serial.begin(9600);
while (!Serial) {
}
if (!SD.begin(4)) {
Serial.println("Impossible de charger la carte SD");
return;
}
Serial.println("Chargement réussi");
myFile = SD.open("MEMORIA.csv", FILE_WRITE);
if (myFile) {
myFile.close();
} else {
Serial.println("Impossible d'ouvrir test.txt");
}
//Read file byte by byte
myFile = SD.open("MEMORIA.csv");
if (myFile) {
while (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
} else {
Serial.println("error opening test.txt");
}
//Read file line by line
myFile = SD.open("MEMORIA.csv");
if (myFile) {
while (myFile.available()) {
}
myFile.close();
} else {
Serial.println("error opening test.txt");
}
}
}
void loop() {
val = Serial.read();
switch (val) {
case 'A':
Serial.println("vous avez cliqué sur A");
break;
case 'B':
Serial.println("Vous avez cliqué sur B");
break;
default:
// if nothing else matches, do the default
// default is optional
break;
}
}
si il est dans le loop
char val;
File myFile;
void setup() {
Serial.begin(9600);
Serial.println("bonjour ");
Serial.begin(9600);
}
void loop() {
fonction1();
fonction2(),
}
void fonction2(){
val = Serial.read();
switch (val) {
case 'A':
Serial.println("vous avez cliqué sur A");
break;
case 'B':
Serial.println("Vous avez cliqué sur B");
break;
default:
// if nothing else matches, do the default
// default is optional
break;
}
}
void fonction1(){
while (!Serial) {
}
if (!SD.begin(4)) {
Serial.println("Impossible de charger la carte SD");
return;
}
Serial.println("Chargement réussi");
myFile = SD.open("MEMORIA.csv", FILE_WRITE);
if (myFile) {
myFile.close();
} else {
Serial.println("Impossible d'ouvrir test.txt");
}
//Read file byte by byte
myFile = SD.open("MEMORIA.csv");
if (myFile) {
while (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
} else {
Serial.println("error opening test.txt");
}
//Read file line by line
myFile = SD.open("MEMORIA.csv");
if (myFile) {
while (myFile.available()) {
}
myFile.close();
} else {
Serial.println("error opening test.txt");
}
}
theamazing301:
Je e sais pas si je vais y réussir , alors un petit coup de pouce ci possible ? 
Tu prends le code des 2 setup() et tu les places dans le setup() du programme définitif.
Tu prends le code des 2 loop() et tu les places dans le loop() du programme définitif.
Il faut quand même faire ça intelligemment (du style ne pas dupliquer le code commun
)
A noter, dans le programme de gestion de la SD card. Tu vérifies que tu peux ouvrir le fichier.
Si tu trouves le fichier, tu l'ouvres et tu continues le programme
Si tu trouves pas le fichier, tu affiches un message et ..... tu l'ouvres et tu continues le programme (WTF????) Si tu n'as pas pu ouvrir le fichier il faut arrêter le programme.