Je pensais que tu voulais des rectangles avec les coins arrondis, si ce sont des angles droits autant utiliser drawRect :
display.drawRect(0, 0, 34, 48, 1); // cadre de gauche
display.drawRect(36, 0, 48, 48, 1); //cadre de droite
Je pensais que tu voulais des rectangles avec les coins arrondis, si ce sont des angles droits autant utiliser drawRect :
display.drawRect(0, 0, 34, 48, 1); // cadre de gauche
display.drawRect(36, 0, 48, 48, 1); //cadre de droite
Peut-être parce que tu n'effaces pas l'écran entre deux images successives ?
Là tu as deux options :
Pour effacer une partie de l'écran, il y a fillRect :
display.fillRect(37, 1, 46, 46, 0);
Si le fillRect ne fonctionne pas, il reste la solution de le faire "à la main" avec des boucles :
for (int i = 0; i < 47; i++)
for (int j = 0; j < 47; j++)
display.drawPixel(i + 37, j + 1, 0);
Ca met 0 dans le buffer de l'écran à l'intérieur du rectangle de droite. Ca devrait effacer l'image. Tu mets ça avant chaque appel de drawBitmap de l'animation des oiseaux.
Il faut comprendre un truc : l'Arduino va très très vite. Comme tu affiches dans la loop avec des temps de pause de 0.2 secondes, la loop se termine au bout d'une seconde et recommence. Donc l'affichage se fait très régulièrement et en superposé.
Tu peux tester avec ton code actuel (sans les effacements de la loop) en affichant un chiffre différent à chaque fois :
void loop()
{
static int i = 0;
// Afficahe texte statique poru le moement puis variable mesurée
Serial.begin(9600);
display.setTextSize(1);
display.setCursor(6,6);
display.print(i);
// Affichage animation OISEAU
display.drawBitmap(38, 2, epd_bitmap_OISEAU01, 44, 44, 1);
display.display();
delay(200);
display.drawBitmap(38, 2, epd_bitmap_OISEAU02, 44, 44, 1);
display.display();
delay(200);
display.drawBitmap(38, 2, epd_bitmap_OISEAU03, 45, 44, 1);
display.display();
delay(200);
display.drawBitmap(38, 2, epd_bitmap_OISEAU04, 44, 44, 1);
display.display();
delay(200);
i = i + 1;
}
Là j'affiche un nombre qui part de 0 et augmente à chaque exécution de la loop. Que vois-tu ?
Ensuite, ajoute les clearDisplay : qu'est-ce qui change ?
MERCI @lesept voilà la commande parfaite que j'espérais !
J'ai ajusté cette commande pour éviter d'effacer les angles du cadre de droite et c'est parfait !
L'objectif de ce post est donc atteint ! Merci beaucoup @lesept
Voici le résultat :

Je poursuis mon projet très enthousiaste grâce au forum.arduino.cc
En guise de remerciement voici une image du hardware version prototype :
Bravo ! Bonne continuation.
Lorsqu'il sera terminé, tu pourras faire un message dans la section des projets terminés.
Si tu as des questions ou que tu veux optimiser ton code, continue ici !
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.