Elevator
/
Elevator
The first code
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; } } }