probléme de lecture d'un pin

j'essaie de comprendre quel est l'effet de la déclaration const byte des pins 4,6,8,10 ???? par rapport à la déclaration en variable,

Ces petits détails sans importance apparente sont importants avec une machine qui n'a que très peu de place mémoire.
Une variable est stockée dans la RAM qui n'est pas bien grande. En plus avec le compilateur avr-gcc un integer occupe 2 octets ce qui est du gâchis quand un microcontrôleur ne dispose pas de plus de 255 pins.

Le fait de déclarer en byte (soit 1 octet en français) fait déjà une première optimisation.
Ensuite si le compilateur sait que le contenu ne changera pas (mot clé "const") il se livrera de lui même a des optimisations comme ne pas utiliser la ram pour la variable qui ne varie pas mais la flash.
Un compilateur est quelque chose de plus complexe qu'un simple moteur qui transforme du code en langage machine, on parle beaucoup en ce moment d'intelligence artificielle cela en est un exemple.

Des fois on ne veux pas que le compilateur optimise, le mot clé qui interdit au compilateur de se livrer à des optimisations est "volatil".