Affichage de la température dans le terminal

Pour afficher la température, il faut faire un calcul sur les deux octets notés : LSB et MSB. Dans le programme, ils correspondent à :

  • data[0] pour LSB

  • data[1] pour MSB

COMPLÉTER le programme avec les instructions suivantes :

Q12 / EFFECTUER les essais et CONCLURE.

Q13 / PROPOSER une méthode pour vérifier que la température influe bien sur l'information numérique lue sur le terminal.

ComplémentInterprétation du programme

un OU logique (|) est effectué entre :

  • le MSB, décalé (<<) de 8 rangs vers la gauche

  • le LSB

Le résultat est stocké dans raw, entier (codé sur 16 bits) qui représente le nombre de seizième de degré.

Pour obtenir la valeur de la température, il faut donc diviser raw par 16.0. Cette division (dont le résultat est stocké dans celsius) nécessite de convertir l'entier raw en nombre à virgule (float).

Exemple37.5°C

  • LSB = 0101 1000

  • MSB = 0000 0010

raw = 0000 0010 0101 1000

soit 512 + 64 + 16 +8 = 600 seizièmes de degré

600/16,0 =37.5