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

Committer:
nasiromar
Date:
Wed Apr 27 05:31:20 2022 +0000
Revision:
0:660af2d0e42d
Lame Game Lab 6

Who changed what in which revision?

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