Lab 6 for ECE 2036,a lame version of Galiga that needs to have the bullet fixed, but focuses on the concept of polymorphism
Dependencies: mbed 4DGL-uLCD-SE PinDetect
TMP36.h@0:660af2d0e42d, 2022-04-27 (annotated)
- Committer:
- nasiromar
- Date:
- Wed Apr 27 05:31:20 2022 +0000
- Revision:
- 0:660af2d0e42d
Lame Game Lab 6
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nasiromar | 0:660af2d0e42d | 1 | #include "mbed.h" |
nasiromar | 0:660af2d0e42d | 2 | |
nasiromar | 0:660af2d0e42d | 3 | //Setup a new class for TMP36 sensor |
nasiromar | 0:660af2d0e42d | 4 | class TMP36 |
nasiromar | 0:660af2d0e42d | 5 | { |
nasiromar | 0:660af2d0e42d | 6 | public: |
nasiromar | 0:660af2d0e42d | 7 | TMP36(PinName pin); |
nasiromar | 0:660af2d0e42d | 8 | TMP36(); |
nasiromar | 0:660af2d0e42d | 9 | operator float (); |
nasiromar | 0:660af2d0e42d | 10 | float read(); |
nasiromar | 0:660af2d0e42d | 11 | private: |
nasiromar | 0:660af2d0e42d | 12 | //class sets up the AnalogIn pin |
nasiromar | 0:660af2d0e42d | 13 | AnalogIn _pin; |
nasiromar | 0:660af2d0e42d | 14 | }; |
nasiromar | 0:660af2d0e42d | 15 | |
nasiromar | 0:660af2d0e42d | 16 | TMP36::TMP36(PinName pin) : _pin(pin) |
nasiromar | 0:660af2d0e42d | 17 | { |
nasiromar | 0:660af2d0e42d | 18 | // _pin(pin) means pass pin to the AnalogIn constructor |
nasiromar | 0:660af2d0e42d | 19 | } |
nasiromar | 0:660af2d0e42d | 20 | |
nasiromar | 0:660af2d0e42d | 21 | float TMP36::read() |
nasiromar | 0:660af2d0e42d | 22 | { |
nasiromar | 0:660af2d0e42d | 23 | //convert sensor reading to temperature in degrees C |
nasiromar | 0:660af2d0e42d | 24 | return ((_pin.read()*3.3)-0.500)*100.0; |
nasiromar | 0:660af2d0e42d | 25 | } |
nasiromar | 0:660af2d0e42d | 26 | //overload of float conversion (avoids needing to type .read() in equations) |
nasiromar | 0:660af2d0e42d | 27 | TMP36::operator float () |
nasiromar | 0:660af2d0e42d | 28 | { |
nasiromar | 0:660af2d0e42d | 29 | //convert sensor reading to temperature in degrees C |
nasiromar | 0:660af2d0e42d | 30 | return ((_pin.read()*3.3)-0.500)*100.0; |
nasiromar | 0:660af2d0e42d | 31 | } |