L'objectif de ce montage est de mesurer simultanément deux températures avec des capteurs DS18B20.
Par exemple, en sciences physiques, on pourra visualiser “en direct” la courbe de solidification (ou de fusion) de l'eau en même temps que celle de l'eau salée.
En ajoutant un troisième capteur, on pourrait aussi superposer celle du cyclohexane.
Nous verrons aussi comment faire communiquer la carte Arduino avec Regressi pour exploiter les données acquises.
Pour une utilisation au lycée, le montage et le code sont donnés. Pour les plus réticents à utiliser un microcontrôleur, vous pouvez passer directement à la partie Acquisition des températures avec Regressi sur cette page.
Le capteur de température DS18B20 permet de mesurer avec une assez bonne précision des températures allant de -55°C à +125°C.
C'est un capteur numérique de température .
Ce capteur communique avec l’Arduino grâce à un bus 1-Wire ou (OneWire).
Sur un bus 1-Wire, il est possible de connecter plusieurs capteurs de température.
Pour éviter tout risque de conflit, chaque capteur dispose d'une adresse unique attribuée lors de sa fabrication.
Exemple : l'adresse de notre capteur est 0x28, 0x44, 0x62, 0x79, 0x97, 0x05, 0x03, 0x51
Pour déterminer l'adresse d'un capteur 1-Wire, on peut utiliser le scanner sur le site du carnetdumaker.net avec le montage ci-dessous.
Sur ce schéma le capteur est représenté en format transistor mais au lycée nous l'utiliserons au format sonde étanche.
Au lycée, il ne sera pas nécessaire de faire le montage, il est prêt à l'emploi sur un shield.
Le code permet d'afficher sur l'écran LCD les deux températures mesurer à l'aide des sondes DS18B20 et de les envoyer sur la liaison série pour être lus par Regressi.
Pour simplifier le code, nous utiliserons plusieurs bibliothèques :
Ces bibliothèques ne sont pas incluses de base dans le logiciel Arduino, il faudra les installer au préalable. (voir à la fin)
Le code Arduino pour deux capteurs DS18B20 (non Grove) sur un même bus 1-Wire :
Le code Arduino pour trois capteurs DS18B20 Grove :
En plus de l'écran LCD, les températures mesurées peuvent être affichées sur le moniteur série ou sur le traceur série.
Il est possible d'acquérir les mesures de température directement dans Regressi avec une version récente (4.5.7).
Par exemple, pour installer la bibliothèque DallasTemperature.h :