Je ne comprends pas pourquoi tu parles des char, le programme traite des float ainsi qu'est définie ta variable voila.
Affiche déjà la valeur du compteur sur le terminal série de la nano. Si c'est correct tu peux ensuite te pencher sur le problème de transmission.
Il n'y a pas de synchronisation ni rien qui indique le début ou la fin du message. Donc l'émission et la réception peuvent être désynchronisées et la réception peut commencer en plein milieu du message ce qui donne n'importe quoi.
Utilise une transmission ascii avec terminateur comme dans le programme au dessus.
Pourquoi tu lis l'encodeur avec une nano? Ça peut très bien être fait par la uno.