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-22
- Revision:
- 6:6c61186c8739
- Parent:
- 4:5bf99eb2d740
File content as of revision 6:6c61186c8739:
#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 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; 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 FXOS8700CQ accel; int minScale; int maxScale; bool screenOrientation; }; #endif /* _THERMALDISPLAYER_H_ */