The first code

Dependencies:   mbed Motor

main.cpp

Committer:
m172886
Date:
2015-02-19
Revision:
6:922f762e7f92
Parent:
5:47d6ae63a1a3
Child:
7:987db6b7e1b8

File content as of revision 6:922f762e7f92:

#include "mbed.h"
#include "time.h"
#include "Motor.h"

AnalogIn ain(p19);
Serial pc(USBTX, USBRX);
Timer t;
Motor m(p25,p27,p28);

float height;

float Lower_distance = 10; // lower floor in inches.

float Upper_distance = 20; // upper floor in inches

float Desired_distance = Lower_distance;  // start low
float err;

int time_count;
int main()

{
    pc.baud(9600);
    pc.format(7,SerialBase::None,1);
    t.reset();  //reset timer to zero
    t.start();  //start timer data timestamp

    while(1) {
        time_count = 0;
        while(time_count<300) {



            height = 193.125176919012*(pow(ain.read(),3))-353.927724612106*(pow(ain.read(),2))+218.749286479109*(ain.read())-23.2532105680997;



            pc.printf("%f,",ain.read()); //this prints the voltage
            pc.printf("%f,",height);
            pc.printf("%f",t.read());
            pc.printf("\n\r");

            err = Desired_distance-height;
            if(err>0) {

                m.speed(0.7);
            } else if(err<0) {

                m.speed(-0.7);

            }

            time_count=time_count+1;





        }
        if(Desired_distance==Lower_distance) {
            Desired_distance = Upper_distance;
        }
        else if(Desired_distance==Upper_distance) {
            Desired_distance = Lower_distance;
        }


    }


}