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

ThermalDisplayer.h

Committer:
co838_gtvl2
Date:
2016-02-10
Revision:
2:5d0c209e5c61
Parent:
1:06713d1b69cf
Child:
4:5bf99eb2d740

File content as of revision 2:5d0c209e5c61:

#ifndef _THERMALDISPLAYER_H_
# define _THERMALDISPLAYER_H_

# include "main.h"
# include <list>
# include <iterator>

class ThermalDisplayer
{
public:
    ThermalDisplayer();
    void addTemp(const float&);
    void display();
    void adjustScale();
private:
    static const int MAX_SIZE = 64;
    static const int MIN_MIN_SCALE = 0;
    static const int MAX_MIN_SCALE = 20;
    static const int MIN_MAX_SCALE = 30;
    static const int MAX_MAX_SCALE = 50;
    std::list<float> temperatures;
    C12832 *lcd;                        // LCD screen
    AnalogIn pot;                       // Potentiometer POT2 to adjust the graphic's scale
    int minScale;
    int maxScale;
};


#endif /* _THERMALDISPLAYER_H_ */