Merci Delias,
Je comprends déjà un peu mieux les références, ça avance petit à petit...
le division / est pour l'entier comme Vincent l'a expliqué donc 15/10 = 1 (dizaine)
le modulo % est le reste de la division 15/10 = 5 (10/10 + 5)
le | compare les binaires et lorsqu'une des "colonne" contient un 1, le résultat sera = 1
Exemple :
Value = 62 (pour -62dB)
tens = 62/10 = 6
ones = 62/10 = 2
Wire.write = (0xD0 | tens);
Wire.write = (0xE0 | ones);
0xD0 = 11010000 0xE0 = 11100000
Tens = 11010110 Ones = 11100010
-------------------------------------------------
0xD6 = 11010110 0xE2 = 11100010
Si c'est correct, c'est que j'ai enfin compris !!!
Maintenant pour le code sans utiliser le switch bien entendu, Value plutôt que de mettre 0, 1, 2,... jusque 39, il vaut mieux 79, 76, 74, 72,... jusque 0
Ouf, ça rends les choses plus claires dans ma p'tite tête !
Reste à déclarer et appeler les valeurs sans le switch, et ça je ne sais pas encore le faire car c'est encore une partie que je ne comprends pas...
au démarrage (void setup()), Value = 42 (équivalent à -42dB)
Comment dois-je dire au système que si je pousse sur Volume + Value = 40 ou sur Volume - Value = 44 (dans le void loop()) ?
En tout cas, super tes explications, c'est encore un grand pas pour moi !!!
Bonne soirée,
Aegnor
Partager