2036 mbed lab4

Dependencies:   4DGL-uLCD-SE PinDetect

Committer:
lhanks02
Date:
Mon Mar 28 18:44:30 2022 +0000
Revision:
0:bbda88bee65a
lab4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lhanks02 0:bbda88bee65a 1 #include "mbed.h"
lhanks02 0:bbda88bee65a 2
lhanks02 0:bbda88bee65a 3 //Setup a new class for TMP36 sensor
lhanks02 0:bbda88bee65a 4 class TMP36
lhanks02 0:bbda88bee65a 5 {
lhanks02 0:bbda88bee65a 6 public:
lhanks02 0:bbda88bee65a 7 TMP36(PinName pin);
lhanks02 0:bbda88bee65a 8 TMP36();
lhanks02 0:bbda88bee65a 9 operator float ();
lhanks02 0:bbda88bee65a 10 float read();
lhanks02 0:bbda88bee65a 11 private:
lhanks02 0:bbda88bee65a 12 //class sets up the AnalogIn pin
lhanks02 0:bbda88bee65a 13 AnalogIn _pin;
lhanks02 0:bbda88bee65a 14 };
lhanks02 0:bbda88bee65a 15
lhanks02 0:bbda88bee65a 16 TMP36::TMP36(PinName pin) : _pin(pin)
lhanks02 0:bbda88bee65a 17 {
lhanks02 0:bbda88bee65a 18 // _pin(pin) means pass pin to the AnalogIn constructor
lhanks02 0:bbda88bee65a 19 }
lhanks02 0:bbda88bee65a 20
lhanks02 0:bbda88bee65a 21 float TMP36::read()
lhanks02 0:bbda88bee65a 22 {
lhanks02 0:bbda88bee65a 23 //convert sensor reading to temperature in degrees C
lhanks02 0:bbda88bee65a 24 return ((_pin.read()*3.3)-0.500)*100.0;
lhanks02 0:bbda88bee65a 25 }
lhanks02 0:bbda88bee65a 26 //overload of float conversion (avoids needing to type .read() in equations)
lhanks02 0:bbda88bee65a 27 TMP36::operator float ()
lhanks02 0:bbda88bee65a 28 {
lhanks02 0:bbda88bee65a 29 //convert sensor reading to temperature in degrees C
lhanks02 0:bbda88bee65a 30 return ((_pin.read()*3.3)-0.500)*100.0;
lhanks02 0:bbda88bee65a 31 }