Sécuriser le programme si la carte SD Crame

Bonsoir,

J’utilise sur un shield ethernet une carte MicroSD uniquement pour du data logging mais c'est secondaire le programme gère mon chauffage de maison.

Je ne sais pas pourquoi en cours de sketch l'arduino ne "trouvait" plus la carte SD ou du moins le fichier sur la carte SD

La LED sur le pin 13 s'allume si impossible d'ouvrir le fichier

myFile = SD.open("Donnees.txt", FILE_WRITE);

if (myFile){
  
//---Écris ce qu'il faut---

myFile.close();
}

else {digitalWrite(13, HIGH);} 
}

C'est ennuyeux mais je peux me passer des données récoltées sur la carte SD.

Le problème c'est que cela a bloqué quelque chose (surement la carte ethernet) et plus d'affichage de la page web généré par l'arduino. Le watchdog ne reboot pas donc le sketch devait tourner quand même.

Avec un simple reboot le programme redémarre mais n'initialise par la librairie sd toujours ma led du pin 13:

void setup()
{

//----plein d'autre chose :-)---

if (!SD.begin(4)) {// Si Carte SD ne s'initialise pas
  Carte_SD_OK=false;
  digitalWrite(13, HIGH); //allume led 13
}   
else {
  Carte_SD_OK=true;
  if (!SD.exists("Donnees.txt")){ // Si donnees.txt n'existe pas sur la carte SD creer un nouveau fichier
      Nouveau_Fichier_Sur_CarteSD();
  } 
}

Cette fois le programme tourne mais par contre la page web s'affiche [u]très[/u] lentement et le navigateur n'affiche pas entièrement la page et parfois pas d'affichage (Le délai d'attente est dépassé)

En retirant plusieurs fois la carte SD + reboot manuel l'arduino à retrouvé la carte (led pin 13 éteinte) et l'affichage des pages web et repartis.

j'ai fait des tests en retirant la carte SD pour simuler une erreur et j'ai les même résultats.

Je ne sais pas pourquoi sans la carte SD l'affichage web déconne mais j'aimerais au moins que le watchdog reboot car le programme m’envoie un mail pour me prévenir du redémarrage.

Merci d'avance

le shied ethernet utilise les pins 10 à 13 il me semble (SPI). donc le fait que tu la “verrouilles” la 13 sur high peut sans doute mettre le bazard.
Mets voir une led sur la broche 2 pour tester.

j'ai oublié de précisé que j'utilise une MEGA 2560 donc normalement le SPI est sur les broches 50,51 et 52.

J'ai quand même suivit ton conseil et complètement supprimer l'utilisation de la broche 13 dans le programme ( 10, 11, 50, 51 et 52 ne le sont pas non plus)

Malheureusement toujours le même résultat, pas de micro SD = problème pages web