mercredi 13 avril 2016

Processing + Arduino + DS18B20

Bonjour

Je cherchais un moyen d'avoir une interface graphique en temps réel sur mon PC pour voir notamment la température de mes modules .
Je me suis penché sur la suite Processing qui me rappelle beaucoup OpenCv dans son utilisation .

Je vous propose donc une sorte de datalogger qui récupère les données transmises par RS via un arduino . Dans cette première version, je vais juste récupérer la température d'un DS18B20 et le temps écoulé en minute et afficher le tout sous la forme d'une courbe ;) !

Côté Arduino, il y a la gestion du DS18B20 , d'un module RTC type DS1307 , un LCD en I2C .
J'affiche sur ce dernier la température actuelle , le minimum et le maximum enregistré (alternativement ... gain de place) et l'heure .

Voici le code de l'Arduino (Uno) commenté :






Affichage sur le LCD:





Côté Processing , on récupère les données du port série , on dessine les repères et on trace les courbes .
Le code :




Une vidéo vite fait ;



Processing DS18B20 Arduino from NoNo1426 on Vimeo.

1 commentaire:

  1. Bonjour,
    Beau projet je debute sous arduino. J'ai rectifié les librairies car elles ne sont plus à jour sauf erreur de ma part :
    "#include
    #include // lib pour le LCD
    #include
    #include // lib pour les DS18B20
    #include "RTClib.h" // lib pour le RTC
    #include
    #include
    #include "

    La variable POSITIVE pose une erreur mais pas en minuscule positive par contre après j'ai ces erreurs là et j avoue ne pas comprendre si je peux avoir un coup de main :)
    Merci beaucoup.

    Arduino : 1.6.5 (Windows 8.1), Carte : "Arduino Uno"

    In file included from sketch_jan18a.ino:7:0:
    F:\Arduino\arduino-1.6.5-r2\libraries\DateTime/DateTime.h:17:17: error: conflicting declaration 'typedef uint8_t boolean'
    typedef uint8_t boolean;
    ^
    In file included from F:\Arduino\arduino-1.6.5-r2\libraries\OneWire-master/OneWire.h:11:0,
    from sketch_jan18a.ino:4:
    F:\Arduino\arduino-1.6.5-r2\hardware\arduino\avr\cores\arduino/Arduino.h:117:14: error: 'boolean' has a previous declaration as 'typedef bool boolean'
    typedef bool boolean;
    ^
    sketch_jan18a:14: error: 'positive' was not declared in this scope
    sketch_jan18a.ino: In function 'void setup()':
    sketch_jan18a:47: error: no matching function for call to 'LiquidCrystal_I2C::begin(int, int)'
    sketch_jan18a.ino:47:17: note: candidate is:
    In file included from sketch_jan18a.ino:3:0:
    F:\Arduino\arduino-1.6.5-r2\libraries\Arduino-LiquidCrystal-I2C-library-master/LiquidCrystal_I2C.h:76:7: note: void LiquidCrystal_I2C::begin()
    void begin();
    ^
    F:\Arduino\arduino-1.6.5-r2\libraries\Arduino-LiquidCrystal-I2C-library-master/LiquidCrystal_I2C.h:76:7: note: candidate expects 0 arguments, 2 provided
    sketch_jan18a:54: error: expected ';' before 'TOP'
    sketch_jan18a:56: error: 'TOP' was not declared in this scope
    sketch_jan18a.ino: In function 'void loop()':
    sketch_jan18a:67: error: expected ';' before 'now'
    sketch_jan18a:71: error: 'now' was not declared in this scope
    'positive' was not declared in this scope

    Ce rapport contiendrait plus d'informations si l'option
    "Montrer les informations de sortie pendant la compilation"
    était activée dans Fichier > Préférences.

    RépondreSupprimer