Experiment with K20D50M Temperature sensor BD1020HFV Temperature sensor. Signal routed from J13 to PTC0
Fork of mbed_blinky by
main.cpp@7:7032b113e13b, 2014-10-22 (annotated)
- Committer:
- scohennm
- Date:
- Wed Oct 22 01:30:06 2014 +0000
- Revision:
- 7:7032b113e13b
- Parent:
- 4:81cea7a352b0
Experiment with K20D50M Temperature sensor BD1020HFV Temperature sensor. Sitnal routed from J13 to PTC0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dan | 0:7dec7e9ac085 | 1 | #include "mbed.h" |
dan | 0:7dec7e9ac085 | 2 | |
scohennm | 7:7032b113e13b | 3 | #define LEDOFF 1 |
scohennm | 7:7032b113e13b | 4 | #define LEDON 0 |
scohennm | 7:7032b113e13b | 5 | #define DATATIME 0.4 |
scohennm | 7:7032b113e13b | 6 | // temp contants |
scohennm | 7:7032b113e13b | 7 | #define REFVOLTS 1.29 |
scohennm | 7:7032b113e13b | 8 | #define REFTEMP 30.0 |
scohennm | 7:7032b113e13b | 9 | #define VDD 3.3 |
scohennm | 7:7032b113e13b | 10 | #define TEMPSLOPE -0.0081 |
scohennm | 7:7032b113e13b | 11 | // Conversion to F |
scohennm | 7:7032b113e13b | 12 | #define CZERO 32.0 |
scohennm | 7:7032b113e13b | 13 | #define CFSLOPE 1.8 |
scohennm | 7:7032b113e13b | 14 | |
scohennm | 7:7032b113e13b | 15 | |
scohennm | 7:7032b113e13b | 16 | Serial pc(USBTX, USBRX); |
scohennm | 7:7032b113e13b | 17 | DigitalOut myRled(LED_RED); |
scohennm | 7:7032b113e13b | 18 | DigitalOut myGled(LED_GREEN); |
scohennm | 7:7032b113e13b | 19 | DigitalOut myBled(LED_BLUE); |
scohennm | 7:7032b113e13b | 20 | |
scohennm | 7:7032b113e13b | 21 | AnalogIn tempSensor(PTC0); // jumper on board J13 left pin to PTC0 J10-2 |
dan | 0:7dec7e9ac085 | 22 | |
dan | 0:7dec7e9ac085 | 23 | int main() { |
scohennm | 7:7032b113e13b | 24 | float rawVolts; |
scohennm | 7:7032b113e13b | 25 | float rawTemp; |
scohennm | 7:7032b113e13b | 26 | float actTemp; //actual temperature |
scohennm | 7:7032b113e13b | 27 | float FTemp; |
scohennm | 7:7032b113e13b | 28 | int LEDState = LEDON; |
scohennm | 7:7032b113e13b | 29 | |
scohennm | 7:7032b113e13b | 30 | myBled.write(LEDOFF); |
scohennm | 7:7032b113e13b | 31 | myGled.write(LEDOFF); |
scohennm | 7:7032b113e13b | 32 | while(true) { |
scohennm | 7:7032b113e13b | 33 | |
scohennm | 7:7032b113e13b | 34 | rawTemp = tempSensor.read();//actually percentatd of Vdd volts |
scohennm | 7:7032b113e13b | 35 | rawVolts = VDD * rawTemp; |
scohennm | 7:7032b113e13b | 36 | actTemp = REFTEMP + (rawVolts - REFVOLTS)/TEMPSLOPE; |
scohennm | 7:7032b113e13b | 37 | FTemp = CZERO + actTemp*CFSLOPE; |
scohennm | 7:7032b113e13b | 38 | pc.printf("RawTemp = %f Actual Ctemp = %5.2f Ftemp = %5.2f\r\n", rawTemp, actTemp, FTemp); |
scohennm | 7:7032b113e13b | 39 | |
scohennm | 7:7032b113e13b | 40 | myRled.write(LEDState); |
scohennm | 7:7032b113e13b | 41 | LEDState = !LEDState; |
scohennm | 7:7032b113e13b | 42 | wait(DATATIME); |
scohennm | 7:7032b113e13b | 43 | |
stevep | 4:81cea7a352b0 | 44 | } |
dan | 0:7dec7e9ac085 | 45 | } |