Description: using LM35 sensor to calculate the temperature

Dependencies:   mbed

Committer:
Victordang
Date:
Mon Apr 02 05:44:11 2018 +0000
Revision:
0:237dc73ab9ff
update LM35

Who changed what in which revision?

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