Bug aléatoire, une piste ?

Bonjour,

Pour le bug "aléatoire" à mon avis tu as trop de chose en RAM (chaine de caractères + variables + librairie).
Utilise Arduino Playground - AvailableMemory pour voir ce qu'il te reste de RAM disponible.
A mon avis tu va être surpris par le résultat.

Quelques conseils d'optimisation :

  • les variables du style t1, t2, t3 ... -> tableau t[3] (par exemple)
  • les chaines de char constantes "blabla" -> F("blabla")
  • les lignes de code redondante (ex: la série de pinMode()) -> boucles (for, while, ...)
  • les valeurs constantes -> const + nom en majuscule
  • adapter les types de variables, int (-32767, +32767) pour stocker un n° de broche (0, 13) c'est un peu beaucoup, byte (0, 255) suffit
  • les fonctions appelaient depuis un seul endroit dans le code -> inline
  • ...