programme de W.Devinck, le compilateur renvoie cette erreur que je n'arrive pas à comprendre.
In file included from C:\Users\cofri\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino/WString.h:29:0,
from C:\Users\cofri\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino/Print.h:26,
from C:\Users\cofri\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino/Stream.h:26,
from C:\Users\cofri\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h:27,
from C:\LEA\DOCUMENTS\ARDUINO\wordclockmodif\Chronodot.cpp:9:
C:\LEA\DOCUMENTS\ARDUINO\wordclockmodif\Chronodot.cpp:26:31: error: variable 'daysInMonth' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
static uint8_t daysInMonth [] PROGMEM = { 31,28,31,30,31,30,31,31,30,31,30,31 };
^
exit status 1
Désolé je débute, merci pour l'info.
J'ai modifié en faisant copier coller mais est-ce la bonne méthode?
Je ne trouve pas ou se trouve le fichier quand je clique sur sauvegarder les erreurs.
Merci pour le suivi.
La variable doit être déclarée constante (donc non modifiable) pour pouvoir être mise dans la partie mémoire en lecture seule (mémoire programme)
Donc, il faut la déclarer
MERCI const et c'est ok.
J'ai un autre problème dans ce même programme: Mes quatre matrices sont de type FC16 et il n'y a pas de rotation. Dans un commentaire du projet sur Instructable W.DEVINCK répond à ce problème en disant que la rotation des matrices est effectué par "void set Led".
Le programme originel "GitHub: GitHub - wouterdevinck/wordclock"
Le commentaire:
I made your clock with a little change in lighting part. I made them by bright led. everything was fine till I upload the sketch and everything went wrong. clock was working strangely. when I reviewed your posts again I find that you turn your pcbs in making led grid in order to use one pcb layout, but i could not find anything in your sketch to change it to normal 4 led grids arrangement without turnings. any help would be appreciated alot.
Ah, OK c'est pour changer l'orientation des matrices.
Donc, suivant la rotation que tu veux faire, pour une matrice, il faut:
échanger rangée et colonne, pour faire tourner de 90°
faire 8 - colonne, pour faire une symétrie par rapport à l'axe vertical
faire 8 - rangée, pour faire une symétrie par rapport à l'axe horizontal
ou faire des combinaisons des trois
Si c'est l'ensemble qu'il faut tourner, il faut faire les transformations sur les paramètres d'entrée (row et col) de la fonction si c'est au niveau des matrices elle-mêmes il faut faire les transformations sur les paramètres de sortie (r et c)
JE N'Y ARRIVE PAS.
Qui peut transformer ce setLed pour mes matrices type FC16 sans rotation?
La bibliothèque MD_MAX72xx est elle plus adéquate?
Plus haut dans le programme bss=3 et bs=8.
void setLed(int row, int col, boolean on) {
int t = row >> bss;
int l = col >> bss;
int board = boards[t][l];
int r = row % bs;
int c = col % bs;
if(t == 0) {
if(l == 0) {
r = bs - 1 - r;
c = (c + 1) % bs;
} else {
int r1 = r;
r = c;
c = (r1 + 1) % bs;
}
} else {
if(l == 0) {
int r1 = r;
r = bs - 1 - c;
c = (bs - r1) % bs;
} else {
c = (bs - c) % bs;
}
}
lc. setLed (board, r, c, on);
}
C'est-à-dire, qu'est-ce que tu as fait depuis la fois précédente?
On a pas tes matrices, on ne sait même pas comment elles sont fichues, tu ne donnes aucunes information sur ton affichage, tu ne donnes pas le code. On ne sait pas ce que tu voudrais faire et ce que tu obtiens avec ton code.