motortest error

Dependencies:   mbed

Committer:
changzhe8387
Date:
Sun Nov 30 05:51:54 2014 +0000
Revision:
0:d46350fb622c
motortest

Who changed what in which revision?

UserRevisionLine numberNew contents of line
changzhe8387 0:d46350fb622c 1 #include "mbed.h"
changzhe8387 0:d46350fb622c 2 Serial pc(USBTX, USBRX);
changzhe8387 0:d46350fb622c 3 AnalogIn tempPin1(p15);
changzhe8387 0:d46350fb622c 4 AnalogIn tempPin2(p16);
changzhe8387 0:d46350fb622c 5 PwmOut pwm(p21);
changzhe8387 0:d46350fb622c 6 #define start 500;
changzhe8387 0:d46350fb622c 7 #define end 2200;
changzhe8387 0:d46350fb622c 8 float tempTotal1;
changzhe8387 0:d46350fb622c 9 float tempTotal2;
changzhe8387 0:d46350fb622c 10 uint32_t tempDiv1;
changzhe8387 0:d46350fb622c 11 uint32_t tempDiv2;
changzhe8387 0:d46350fb622c 12 #define MAX_TEMP_AVG 10
changzhe8387 0:d46350fb622c 13 void sampleTemperature();
changzhe8387 0:d46350fb622c 14 void sampleTemperatures();
changzhe8387 0:d46350fb622c 15 void resetTemperatureSamples();
changzhe8387 0:d46350fb622c 16 void servo();
changzhe8387 0:d46350fb622c 17 float getAvgTemperature();
changzhe8387 0:d46350fb622c 18 void sampleTemperature()
changzhe8387 0:d46350fb622c 19 {
changzhe8387 0:d46350fb622c 20 tempTotal1 += tempPin1;
changzhe8387 0:d46350fb622c 21 tempDiv1++;
changzhe8387 0:d46350fb622c 22 tempTotal2 += tempPin2;
changzhe8387 0:d46350fb622c 23 tempDiv2++;
changzhe8387 0:d46350fb622c 24 }
changzhe8387 0:d46350fb622c 25 void sampleTemperatures()
changzhe8387 0:d46350fb622c 26 {
changzhe8387 0:d46350fb622c 27 for(int i=0;i<MAX_TEMP_AVG;i++) {
changzhe8387 0:d46350fb622c 28 sampleTemperature();
changzhe8387 0:d46350fb622c 29 wait(0.1);
changzhe8387 0:d46350fb622c 30 }
changzhe8387 0:d46350fb622c 31 }
changzhe8387 0:d46350fb622c 32 void resetTemperatureSamples()
changzhe8387 0:d46350fb622c 33 {
changzhe8387 0:d46350fb622c 34 tempTotal1 = 0.0;
changzhe8387 0:d46350fb622c 35 tempDiv1 = 0;
changzhe8387 0:d46350fb622c 36 tempTotal2 = 0.0;
changzhe8387 0:d46350fb622c 37 tempDiv2 = 0;
changzhe8387 0:d46350fb622c 38 }
changzhe8387 0:d46350fb622c 39 void servo()
changzhe8387 0:d46350fb622c 40 {
changzhe8387 0:d46350fb622c 41
changzhe8387 0:d46350fb622c 42
changzhe8387 0:d46350fb622c 43 }
changzhe8387 0:d46350fb622c 44 float getAvgTemperature1()
changzhe8387 0:d46350fb622c 45 {
changzhe8387 0:d46350fb622c 46 float tempAvg1 = (((tempTotal1)*3300/(float)tempDiv1)-400.0)/19.5;
changzhe8387 0:d46350fb622c 47 return tempAvg1;
changzhe8387 0:d46350fb622c 48 }
changzhe8387 0:d46350fb622c 49 float getAvgTemperature2()
changzhe8387 0:d46350fb622c 50 {
changzhe8387 0:d46350fb622c 51 float tempAvg2 = (((tempTotal2)*3300/(float)tempDiv2)-400.0)/19.5;
changzhe8387 0:d46350fb622c 52 return tempAvg2;
changzhe8387 0:d46350fb622c 53 }
changzhe8387 0:d46350fb622c 54
changzhe8387 0:d46350fb622c 55
changzhe8387 0:d46350fb622c 56 int main() {
changzhe8387 0:d46350fb622c 57 tempDiv1 = 0;
changzhe8387 0:d46350fb622c 58 tempDiv2 = 0;
changzhe8387 0:d46350fb622c 59 pc.printf("MBED ready..\r\n");
changzhe8387 0:d46350fb622c 60 sampleTemperatures();
changzhe8387 0:d46350fb622c 61 pc.printf("Temp1: %.2f Temp2: %.2f \r\n",getAvgTemperature1(),getAvgTemperature2());
changzhe8387 0:d46350fb622c 62 while(1){
changzhe8387 0:d46350fb622c 63 sampleTemperature();
changzhe8387 0:d46350fb622c 64 }
changzhe8387 0:d46350fb622c 65
changzhe8387 0:d46350fb622c 66 float j = (getAvgTemperature1()/getAvgTemperature2()) ;
changzhe8387 0:d46350fb622c 67 if(j>0){
changzhe8387 0:d46350fb622c 68 for(int p = start; p < end; p += 20)
changzhe8387 0:d46350fb622c 69 pwm.pulsewidth_us(p);
changzhe8387 0:d46350fb622c 70 wait_ms(40);
changzhe8387 0:d46350fb622c 71
changzhe8387 0:d46350fb622c 72 else{
changzhe8387 0:d46350fb622c 73 for(int p = end; p >=start; p -= 20)
changzhe8387 0:d46350fb622c 74 pwm.pulsewidth_us(p);
changzhe8387 0:d46350fb622c 75 wait_ms(40);
changzhe8387 0:d46350fb622c 76
changzhe8387 0:d46350fb622c 77 }
changzhe8387 0:d46350fb622c 78 }
changzhe8387 0:d46350fb622c 79 }