Temperature controlled fan with hysteresis cooling

Dependencies:   Motor mbed

Committer:
bryanbates
Date:
Thu Dec 08 19:58:11 2016 +0000
Revision:
0:f3f670fbc25d
Final Project for 4180

Who changed what in which revision?

UserRevisionLine numberNew 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 }