Bonjour, je débute dans l'arduino et la programmation en général, et je travaille avec la libraire adafruit neopixels, je souhaiterais savoir si il est possible de simplifier ce code que j'ai fais mais que je pense n'est pas du tout optimisé. Il pilote deux afficheurs (sur 2 pins) 7 segments en ws2812b.
Merci d'avance !
void Unite(char chiffre) {
switch(chiffre)
{
case 0 :
AffUnite.setPixelColor(0, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(1, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(2, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(3, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(4, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(5, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(6, AffUnite.Color(0,0,0));
break;
case 1 :
AffUnite.setPixelColor(0, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(1, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(2, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(3, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(4, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(5, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(6, AffUnite.Color(0,0,0));
break;
case 2 :
AffUnite.setPixelColor(0, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(1, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(2, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(3, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(4, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(5, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(6, AffUnite.Color(r,g,b));
break;
case 3 :
AffUnite.setPixelColor(0, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(1, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(2, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(3, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(4, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(5, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(6, AffUnite.Color(r,g,b));
break;
case 4 :
AffUnite.setPixelColor(0, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(1, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(2, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(3, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(4, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(5, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(6, AffUnite.Color(r,g,b));
break;
case 5 :
AffUnite.setPixelColor(0, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(1, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(2, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(3, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(4, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(5, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(6, AffUnite.Color(r,g,b));
break;
case 6 :
AffUnite.setPixelColor(0, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(1, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(2, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(3, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(4, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(5, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(6, AffUnite.Color(r,g,b));
break;
case 7 :
AffUnite.setPixelColor(0, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(1, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(2, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(3, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(4, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(5, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(6, AffUnite.Color(0,0,0));
break;
case 8 :
AffUnite.setPixelColor(0, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(1, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(2, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(3, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(4, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(5, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(6, AffUnite.Color(r,g,b));
break;
case 9 :
AffUnite.setPixelColor(0, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(1, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(2, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(3, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(4, AffUnite.Color(0,0,0));
AffUnite.setPixelColor(5, AffUnite.Color(r,g,b));
AffUnite.setPixelColor(6, AffUnite.Color(r,g,b));
break;
}
}
void Dizaine(char chiffre)
{
switch(chiffre)
{
case 0 :
AffDizaine.setPixelColor(0, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(1, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(2, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(3, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(4, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(5, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(6, AffDizaine.Color(0,0,0));
break;
case 1 :
AffDizaine.setPixelColor(0, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(1, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(2, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(3, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(4, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(5, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(6, AffDizaine.Color(0,0,0));
break;
case 2 :
AffDizaine.setPixelColor(0, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(1, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(2, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(3, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(4, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(5, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(6, AffDizaine.Color(r,g,b));
break;
case 3 :
AffDizaine.setPixelColor(0, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(1, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(2, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(3, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(4, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(5, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(6, AffDizaine.Color(r,g,b));
break;
case 4 :
AffDizaine.setPixelColor(0, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(1, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(2, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(3, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(4, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(5, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(6, AffDizaine.Color(r,g,b));
break;
case 5 :
AffDizaine.setPixelColor(0, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(1, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(2, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(3, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(4, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(5, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(6, AffDizaine.Color(r,g,b));
break;
case 6 :
AffDizaine.setPixelColor(0, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(1, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(2, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(3, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(4, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(5, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(6, AffDizaine.Color(r,g,b));
break;
case 7 :
AffDizaine.setPixelColor(0, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(1, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(2, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(3, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(4, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(5, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(6, AffDizaine.Color(0,0,0));
break;
case 8 :
AffDizaine.setPixelColor(0, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(1, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(2, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(3, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(4, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(5, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(6, AffDizaine.Color(r,g,b));
break;
case 9 :
AffDizaine.setPixelColor(0, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(1, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(2, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(3, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(4, AffDizaine.Color(0,0,0));
AffDizaine.setPixelColor(5, AffDizaine.Color(r,g,b));
AffDizaine.setPixelColor(6, AffDizaine.Color(r,g,b));
break;
}
}

