MAX7219, passer de 8x8 à 16x16

Je l'avis bien tenté, mais ce cher "compilateur" m'a aussitôt retourné une nouvelle alerte qui ne le dérangeait pas jusque là:
a function-definition is not allowed here before '{' token
en surlignant:

void loop() {

en fin de programme:

} 
//=============================FIN DU TABLEAU ET REDÉMARRAGE DU REMPLISSAGE============================

void loop() { 
 chenille();

}

Tu dois avoir un problème avec les accolades. Dans l'IDE tapes CTRL T, il te fera une mise en forme du code qui aide à mieux visualiser les blocs. Peut-être que l'un d'eux n'a pas d'accolade fermante ou qu'il y en a une en trop.

Si tu ne trouves pas, poste ton code, on t'aidera.

Merci lesept,
On m'avait caché ce Ctrl+T, c'est super, j'ai trouvé l'accolade manquante, ça re-fonctionne.
Je vais passer aux autres suggestions...
A+

Bon!
Bonjour à Tous, me revoilà...
Je pense que je ne vais pas tarder à "disjoncter".
Je me casse les dents sur mon problème d'avance "pas à pas" sur ordre extérieur de mon programme.
J'vous explique: j'ai besoin d'un temps (égal ou supérieur à 2 minutes) entre l'allumage de chaque LED, ces temporisations étant trop longues et imprécises avec l'horloge interne de l'Arduino (UNO ou NANO) j'envisage de donner les ordres d'avancement au moyen d'une consigne extérieur (haut, bas ou sur changement d'état), sans ordre, le programme ne bougerait pas.
En cherchant de tous cotés (avec des aller-retours constants sur les traducteurs, car la plupart des infos sont en VO non sous titrée), j'ai essayé les interruptions (#include <Sleep_n0m1.h>),
et plein d'autres trucs dont les trad. ne m'ont pas aidées à y comprendre d'avantage, bien au contraire, j'ai l'impression d'en savoir
moins qu'avant.
Je pensait que le concept Arduino était accessible à une intelligence moyenne, mais
force est de constater, que, pour l'essentiel, on trouve des "sachants" qui s'adressent
à d'autres sachants. Certainement une question d'époque, je suis de cette génération
où l'on pouvait apprendre "sur le tas", en n'ayant qu'un simple "CEP" en poche, juste avec de l'envie et du travail.
J'ai appris comme ça, et j'ai formé beaucoup de gens sur ces principes...

j'ai besoin d'un temps (égal ou supérieur à 2 minutes) entre l'allumage de chaque LED, ces temporisations étant trop longues et imprécises avec l'horloge interne de l'Arduino (UNO ou NANO)

sincèrement même avec un ceramic resonator (entre 100 et 500 ppm - soit plus de 0,05%) pour faire les 16MHz, millis() reste tout à fait utilisable pour ces durées à moins que vous vouliez une précision en microsecondes ou nanosecondes...

la structure du code est en gros celle ci

unsigned long lastTick ;
unsigned long dureeAttente = 120000ul; // 2 minutes en ms

void setup() {
  ...
  lastTick = millis();
}

void loop() {
  if (millis() - lastTick >= dureeAttente) {
    // 2 minutes se sont écoulées, faire quelque chose

    lastTick += dureeAttente;
  }

  // ici vous pouvez faire autre chose si c'est pas trop long
  ...
}

Si vous exprimiez le cahier des charges de manière un peu plus précise on pourra peut être vous aider...

Il existe des modules appelés en VO : Real Time Clock ou RTC qui ont une bien meilleure précision qu'un Arduino pour mesurer le temps.
On doit même pouvoir trouver des tutoriels en français. Ici on conseille le modèle DS3231, qui est plus précis que le DS1307, mais les l'idée en n pêche est identique. Et il existe des bibliothèques pour les commander.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.