![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Temperature controlled fan with hysteresis cooling
TMP36.h@0:f3f670fbc25d, 2016-12-08 (annotated)
- Committer:
- bryanbates
- Date:
- Thu Dec 08 19:58:11 2016 +0000
- Revision:
- 0:f3f670fbc25d
Final Project for 4180
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bryanbates | 0:f3f670fbc25d | 1 | #include "mbed.h" |
bryanbates | 0:f3f670fbc25d | 2 | |
bryanbates | 0:f3f670fbc25d | 3 | //Setup a new class for TMP36 sensor |
bryanbates | 0:f3f670fbc25d | 4 | class TMP36 |
bryanbates | 0:f3f670fbc25d | 5 | { |
bryanbates | 0:f3f670fbc25d | 6 | public: |
bryanbates | 0:f3f670fbc25d | 7 | TMP36(PinName pin); |
bryanbates | 0:f3f670fbc25d | 8 | TMP36(); |
bryanbates | 0:f3f670fbc25d | 9 | operator float (); |
bryanbates | 0:f3f670fbc25d | 10 | float read(); |
bryanbates | 0:f3f670fbc25d | 11 | private: |
bryanbates | 0:f3f670fbc25d | 12 | //class sets up the AnalogIn pin |
bryanbates | 0:f3f670fbc25d | 13 | AnalogIn _pin; |
bryanbates | 0:f3f670fbc25d | 14 | }; |
bryanbates | 0:f3f670fbc25d | 15 | |
bryanbates | 0:f3f670fbc25d | 16 | TMP36::TMP36(PinName pin) : _pin(pin) |
bryanbates | 0:f3f670fbc25d | 17 | { |
bryanbates | 0:f3f670fbc25d | 18 | // _pin(pin) means pass pin to the AnalogIn constructor |
bryanbates | 0:f3f670fbc25d | 19 | } |
bryanbates | 0:f3f670fbc25d | 20 | |
bryanbates | 0:f3f670fbc25d | 21 | float TMP36::read() |
bryanbates | 0:f3f670fbc25d | 22 | { |
bryanbates | 0:f3f670fbc25d | 23 | //convert sensor reading to temperature in degrees C |
bryanbates | 0:f3f670fbc25d | 24 | return ((_pin.read()*3.3)-0.500)*100.0; |
bryanbates | 0:f3f670fbc25d | 25 | } |
bryanbates | 0:f3f670fbc25d | 26 | //overload of float conversion (avoids needing to type .read() in equations) |
bryanbates | 0:f3f670fbc25d | 27 | TMP36::operator float () |
bryanbates | 0:f3f670fbc25d | 28 | { |
bryanbates | 0:f3f670fbc25d | 29 | //convert sensor reading to temperature in degrees C |
bryanbates | 0:f3f670fbc25d | 30 | return ((_pin.read()*3.3)-0.500)*100.0; |
bryanbates | 0:f3f670fbc25d | 31 | } |