Shahan Najam
/
FinalLab
Final project 4180 (incomplete)
main.cpp@0:6893dd9a88b3, 2011-12-14 (annotated)
- Committer:
- Shahan
- Date:
- Wed Dec 14 04:58:43 2011 +0000
- Revision:
- 0:6893dd9a88b3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Shahan | 0:6893dd9a88b3 | 1 | #include "mbed.h" |
Shahan | 0:6893dd9a88b3 | 2 | #include "Motor.h" |
Shahan | 0:6893dd9a88b3 | 3 | #include "movement.h" |
Shahan | 0:6893dd9a88b3 | 4 | |
Shahan | 0:6893dd9a88b3 | 5 | Serial pc(USBTX,USBRX); |
Shahan | 0:6893dd9a88b3 | 6 | |
Shahan | 0:6893dd9a88b3 | 7 | DigitalOut myled(LED1); |
Shahan | 0:6893dd9a88b3 | 8 | |
Shahan | 0:6893dd9a88b3 | 9 | AnalogIn rightsensorval(p15); |
Shahan | 0:6893dd9a88b3 | 10 | AnalogIn leftsensorval(p16); |
Shahan | 0:6893dd9a88b3 | 11 | |
Shahan | 0:6893dd9a88b3 | 12 | DigitalOut rightsensorcontrol(p5); |
Shahan | 0:6893dd9a88b3 | 13 | DigitalOut leftsensorcontrol(p6); |
Shahan | 0:6893dd9a88b3 | 14 | |
Shahan | 0:6893dd9a88b3 | 15 | Motor motor_right(p21,p7,p8); |
Shahan | 0:6893dd9a88b3 | 16 | Motor motor_left(p22,p9,p10); |
Shahan | 0:6893dd9a88b3 | 17 | |
Shahan | 0:6893dd9a88b3 | 18 | |
Shahan | 0:6893dd9a88b3 | 19 | volatile int rightspokecount = 0; |
Shahan | 0:6893dd9a88b3 | 20 | volatile int leftspokecount = 0; |
Shahan | 0:6893dd9a88b3 | 21 | |
Shahan | 0:6893dd9a88b3 | 22 | volatile int rightspokecountrequired = 0; |
Shahan | 0:6893dd9a88b3 | 23 | volatile int leftspokecountrequired = 0; |
Shahan | 0:6893dd9a88b3 | 24 | |
Shahan | 0:6893dd9a88b3 | 25 | volatile float rightmotorspeed = 1; |
Shahan | 0:6893dd9a88b3 | 26 | volatile float leftmotorspeed = 1; |
Shahan | 0:6893dd9a88b3 | 27 | |
Shahan | 0:6893dd9a88b3 | 28 | Ticker charge_period; |
Shahan | 0:6893dd9a88b3 | 29 | Ticker discharge_period; |
Shahan | 0:6893dd9a88b3 | 30 | |
Shahan | 0:6893dd9a88b3 | 31 | int main() { |
Shahan | 0:6893dd9a88b3 | 32 | |
Shahan | 0:6893dd9a88b3 | 33 | QTIsensor_init(); |
Shahan | 0:6893dd9a88b3 | 34 | charge_period.attach(&QTIsensor_charge,0.02); |
Shahan | 0:6893dd9a88b3 | 35 | wait_ms(0.5); |
Shahan | 0:6893dd9a88b3 | 36 | discharge_period.attach(&QTIsensor_discharge,0.02); |
Shahan | 0:6893dd9a88b3 | 37 | while(1) { |
Shahan | 0:6893dd9a88b3 | 38 | //calibratemotors(); |
Shahan | 0:6893dd9a88b3 | 39 | myled = 1; |
Shahan | 0:6893dd9a88b3 | 40 | wait(0.4); |
Shahan | 0:6893dd9a88b3 | 41 | move(2); |
Shahan | 0:6893dd9a88b3 | 42 | //motors_stop(); |
Shahan | 0:6893dd9a88b3 | 43 | while((rightspokecount < rightspokecountrequired) || (leftspokecount < leftspokecountrequired)){ |
Shahan | 0:6893dd9a88b3 | 44 | pc.printf("right = %d, left =%d\n\r",rightspokecount,leftspokecount); |
Shahan | 0:6893dd9a88b3 | 45 | float right = rightsensorval; |
Shahan | 0:6893dd9a88b3 | 46 | float left = leftsensorval; |
Shahan | 0:6893dd9a88b3 | 47 | pc.printf("rightval = %f, leftval =%f\n\r",right,left); |
Shahan | 0:6893dd9a88b3 | 48 | wait(0.2); |
Shahan | 0:6893dd9a88b3 | 49 | } |
Shahan | 0:6893dd9a88b3 | 50 | motors_stop(); |
Shahan | 0:6893dd9a88b3 | 51 | wait(1); |
Shahan | 0:6893dd9a88b3 | 52 | move(-2); |
Shahan | 0:6893dd9a88b3 | 53 | while((rightspokecount < rightspokecountrequired) || (leftspokecount < leftspokecountrequired)){ |
Shahan | 0:6893dd9a88b3 | 54 | pc.printf("right = %d, left =%d\n\r",rightspokecount,leftspokecount); |
Shahan | 0:6893dd9a88b3 | 55 | float right = rightsensorval; |
Shahan | 0:6893dd9a88b3 | 56 | float left = leftsensorval; |
Shahan | 0:6893dd9a88b3 | 57 | pc.printf("rightval = %f, leftval =%f\n\r",right,left); |
Shahan | 0:6893dd9a88b3 | 58 | wait(0.2); |
Shahan | 0:6893dd9a88b3 | 59 | } |
Shahan | 0:6893dd9a88b3 | 60 | motors_stop(); |
Shahan | 0:6893dd9a88b3 | 61 | //motor_reset = 1; |
Shahan | 0:6893dd9a88b3 | 62 | //goforward(right,left,0.5); |
Shahan | 0:6893dd9a88b3 | 63 | //wait(1.5); |
Shahan | 0:6893dd9a88b3 | 64 | |
Shahan | 0:6893dd9a88b3 | 65 | myled = 0; |
Shahan | 0:6893dd9a88b3 | 66 | wait(0.4); |
Shahan | 0:6893dd9a88b3 | 67 | //gobackward(right,left,0.5); |
Shahan | 0:6893dd9a88b3 | 68 | //wait(1.5); |
Shahan | 0:6893dd9a88b3 | 69 | } |
Shahan | 0:6893dd9a88b3 | 70 | } |
Shahan | 0:6893dd9a88b3 | 71 | |
Shahan | 0:6893dd9a88b3 | 72 | |
Shahan | 0:6893dd9a88b3 | 73 |