Salut à tous,
Pour mon projet (toujours le même) utilisant un TLC5940, j'affiche des lettres grâce à une fonction écrite par moi-même (voir ce post).
J'ai donc créé des tableaux de bytes pour définir chaque lettre, avec pour nom de la variable la lettre elle-même.
Exemple:
extern byte A[15] = {1,1,1,1,1,1,0,1,0,0,1,1,1,1,1};
Pour simplifier l'affichage d'une phrase, je cherche à écrire une fonction avec un String en paramètre.
Exemple (le code ne fonctionne pas pour l'instant):
void lirePhraseLettresFixes(String Hphrase, int HPLEIN)
{
int longueur = Hphrase.length();
byte Hlettre;
for (int Hi = 0; Hi < longueur; longueur++)
{
Hlettre = Hphrase.charAt(Hi);
lireLettre(Hlettre,HPLEIN);
delay(500);
}
}
Mon problème est de transformer chaque caractère du String en nom de variable, pour pouvoir faire appel à la fonction de lecture de lettre dont je reposte le code:
void lireLettre(byte Hlettre[], int HPLEIN)
{
Tlc.clear();
Tlc.update();
int Hi;
for (Hi = 0; Hi < 15; Hi++)
{
if (Hlettre[Hi] == 1)
{
Tlc.set(Hi,HPLEIN);
Tlc.update();
delay(1);
}
else
{
Tlc.set(Hi,0);
Tlc.update();
delay(1);
}
}
}
Si quelqu'un a une idée, une suggestion, des reproches à faire à mon code (qu'il soit mal écrit et/ou pas commenté), je suis preneur
Une bonne soirée à tous.