Explication de code Arduino

DJBRAV Messages postés 78 Statut Membre -  
DJBRAV Messages postés 78 Statut Membre -
Bonjour, j'ai un capteur de température i2c, le tmp102. Je l'ai branché sur mon arduino. J'ai besoin de ce code

#include <Wire.h>

int adressetmp102 = 0x48;

void setup(){
Serial.begin(9600);
Wire.begin();
}



float recuptemp(){
Wire.requestFrom(adressetmp102,2);

byte MSB = Wire.read();
byte LSB = Wire.read();

int tempdecal = ((MSB << 8) | LSB) >> 4;

float tempcelsius = tempdecal*0.0625;
return tempcelsius;
}

void loop(){

float tempcelsius = recuptemp();
Serial.print("La temperature actuelle est de :");
Serial.println(tempcelsius);
delay(200);
}

Quelqu'un pourrait m'expliquer le fonctionnement de ce programme, ou du moins une partie. Je lui en serai très reconnaissant.
Merci de vos réponses.
A voir également:

2 réponses

XDamienX007 Messages postés 4244 Date d'inscription   Statut Membre Dernière intervention   420
 
http://pastebin.com/2TUpyaTr

Voilà, un bon codeur idente son code, et l'upload sur pastebin si il est trop gros (en général, supérieur à 20 lignes)
0
Utilisateur anonyme
 
Salut,

Ce n'est pas compliqué mais ... Arduino, c'est pas du Java ?

Bref.

La fonction recuptemp() récupère la valeur de la broche sur laquelle est branché le capteur.
tempdecal correspond à une valeur entière quantitative de la température, et ensuite on la multiplie par 0.0625 (ça doit être spécifique au capteur).
recuptemp() est donc une fonction de CAN (Conversion Analogique-Numérique).

La fonction loop() est exécutée en boucle et permet d'afficher toutes les 200 millisecondes la température actuelle du capteur dans la liaison série (Réglée à 9600 bauds dans Setup)
0
XDamienX007 Messages postés 4244 Date d'inscription   Statut Membre Dernière intervention   420
 
J'ai vu sur internet que c'est un langage proche du C
0
Utilisateur anonyme
 
J'ai passé un exm au BAC SIN avec un projet fait sur Arduino, au début je pensais c'était du C aussi puis finalement, je sais pu où, j'ai appris que c'était du Java, mais les deux sont très proches c'est vrai (Si on oublie le multi-plateformes).
Mais ce n'est sûrement pas du C++ (C'est trop gros pour de l'embarqué), ou alors on peut choisir ... je me suis quand même permis de déplacer le sujet dans Java.

En tous cas, la documentation est très bien fournie (Si on a des bases en Anglais).
https://www.arduino.cc/reference/en/#.UxfCxYXivDc
0
XDamienX007 Messages postés 4244 Date d'inscription   Statut Membre Dernière intervention   420
 
Depuis le temps que je le cherchais ce lien >.< Merci :D

(Moi j'suis en bac SEN :p)
0
Utilisateur anonyme
 
0
XDamienX007 Messages postés 4244 Date d'inscription   Statut Membre Dernière intervention   420
 
C'était le mot "référence" que j'avais pas ;)
0