Stocker dans une variable ce qui est affiché sur le Moniteur serie ?

Tu utilises 'rf95' : c'est du LoRa ?
Moi je ne connais pas LoRa, dans ce cas, je ne peux pas t'aider.

Si d'autres le peuvent, il faut que tu donnes tous les détails, on ne peut pas les deviner !!!

La solution la plus simple à mon avis, puisque ton message sera une suite de 1 et de 0, serait de construire un chiffre en binaire qui assemble ces 1 et ces 0 et d'envoyer ce nombre en une fois. Le récepteur n'aurait plus qu'à décoder les 1 et les 0 pour connaitre l'ensemble du message.

Si c'est le cas, tu peux te renseigner sur le commande "<<" qui permet de décaler un ensemble de bits vers la gauche (en binaire ça correspond à une multiplication par 2).
Tu peux l'utiliser pour créer ton message binaire. Supposons que tu veuilles envoyer 5 valeurs, dans l'ordre 0 1 1 0 1. Ça te donnerait le message 01101 soit 13 en décimal.
On le stocke dans la variable M (comme message), qui est initialisée à 0.

  • 1ère étape : M = M + 0 (la première valeur)
  • 2ème étape : M = (M<<1)+1 -- ça donne M = 1
  • 3ème étape : M = (M<<1)+1 -- ça donne M = 3
  • 4ème étape : M = (M<<1)+0 -- ça donne M = 6
  • 5ème étape : M = (M<<1)+1 -- ça donne M = 13

Tu envoies le chiffre 13 et tu le décodes de la façon inverse, par exemple avec l'opérateur % (modulo).

Note que ton message peut monter jusqu'à la valeur 2^11-1 (c'est 10 fois le chiffre 1) soit 2047, ça rentre dans un int mais pas dans un byte (pour la déclaration de la variable M).