This program is an advanced "IoT" thermometer using LM75B component library. It displays the current value to the Serial host in Celcius or Fahrenheit (possible to change using a switch). It also stores an historic and displays it to the user using the LCD screen. Moreover, you can change the orientation of the screen by turning the device, just like a smartphone.

Dependencies:   C12832 FXOS8700CQ LM75B mbed

Revision:
4:5bf99eb2d740
Parent:
2:5d0c209e5c61
Child:
6:6c61186c8739
--- a/ThermalDisplayer.h	Wed Feb 10 01:41:39 2016 +0000
+++ b/ThermalDisplayer.h	Wed Feb 10 16:48:55 2016 +0000
@@ -11,9 +11,11 @@
     ThermalDisplayer();
     void addTemp(const float&);
     void display();
-    void adjustScale();
+    void adjustScale(Serial&);
 private:
     static const int MAX_SIZE = 64;
+    static const int DISPLAY_X = 127;
+    static const int DISPLAY_Y = 31;
     static const int MIN_MIN_SCALE = 0;
     static const int MAX_MIN_SCALE = 20;
     static const int MIN_MAX_SCALE = 30;
@@ -21,8 +23,10 @@
     std::list<float> temperatures;
     C12832 *lcd;                        // LCD screen
     AnalogIn pot;                       // Potentiometer POT2 to adjust the graphic's scale
+    FXOS8700CQ accel;
     int minScale;
     int maxScale;
+    bool screenOrientation;
 };