Description: using LM35 sensor to calculate the temperature
Dependencies: mbed
main.cpp@0:237dc73ab9ff, 2018-04-02 (annotated)
- Committer:
- Victordang
- Date:
- Mon Apr 02 05:44:11 2018 +0000
- Revision:
- 0:237dc73ab9ff
update LM35
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Victordang | 0:237dc73ab9ff | 1 | #include "mbed.h" |
Victordang | 0:237dc73ab9ff | 2 | #include "string" |
Victordang | 0:237dc73ab9ff | 3 | PwmOut motor(p21); |
Victordang | 0:237dc73ab9ff | 4 | Serial pc(USBTX, USBRX); //enable serial port which links to USB |
Victordang | 0:237dc73ab9ff | 5 | AnalogIn sensor(p15); //LM35 sensor |
Victordang | 0:237dc73ab9ff | 6 | int main() { |
Victordang | 0:237dc73ab9ff | 7 | int i,N=400; |
Victordang | 0:237dc73ab9ff | 8 | float tempC, avg,a[N]; pc.printf("\r\nLM35 Temperature Program"); |
Victordang | 0:237dc73ab9ff | 9 | pc.printf("\r\n******************\r\n"); |
Victordang | 0:237dc73ab9ff | 10 | wait(1); // wait 1 second for device stable status |
Victordang | 0:237dc73ab9ff | 11 | while (1) { |
Victordang | 0:237dc73ab9ff | 12 | avg = 0; |
Victordang | 0:237dc73ab9ff | 13 | for(i=0;i<N;i++) { |
Victordang | 0:237dc73ab9ff | 14 | a[i]=sensor.read(); |
Victordang | 0:237dc73ab9ff | 15 | wait(.01); |
Victordang | 0:237dc73ab9ff | 16 | } |
Victordang | 0:237dc73ab9ff | 17 | for(i=0;i<N;i++) { |
Victordang | 0:237dc73ab9ff | 18 | avg=avg+(a[i]/10*1000); //divide to 10mV |
Victordang | 0:237dc73ab9ff | 19 | } |
Victordang | 0:237dc73ab9ff | 20 | tempC = (avg/N*10); |
Victordang | 0:237dc73ab9ff | 21 | pc.printf("\n\rTemperature is %4.1f C, avg = %4.5f \r\n",tempC, avg/N); |
Victordang | 0:237dc73ab9ff | 22 | wait(1); |
Victordang | 0:237dc73ab9ff | 23 | } |
Victordang | 0:237dc73ab9ff | 24 | } |