heres the code
Dependencies: Motor Servo mbed
main.cpp@6:d58256361419, 2018-10-22 (annotated)
- Committer:
- JackTamas
- Date:
- Mon Oct 22 14:45:12 2018 +0000
- Revision:
- 6:d58256361419
- Parent:
- 4:3447c3fa5719
- Child:
- 7:8881672744fd
new
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JackTamas | 6:d58256361419 | 1 | #include "mbed.h" |
JackTamas | 0:e8eaa22280a2 | 2 | #include "stdio.h" |
JackTamas | 0:e8eaa22280a2 | 3 | #include "Motor.h" |
JackTamas | 0:e8eaa22280a2 | 4 | #include "Servo.h" |
JackTamas | 4:3447c3fa5719 | 5 | #include "time.h" |
JackTamas | 4:3447c3fa5719 | 6 | |
JackTamas | 6:d58256361419 | 7 | Motor knife(p26, p30, p29); |
JackTamas | 2:e43e3a2eb025 | 8 | Servo finish(p22); |
JackTamas | 2:e43e3a2eb025 | 9 | Servo start(p21); |
JackTamas | 6:d58256361419 | 10 | DigitalOut led[4]={LED1, LED2, LED3, LED4}; |
JackTamas | 4:3447c3fa5719 | 11 | int i, j; |
JackTamas | 6:d58256361419 | 12 | int x; |
JackTamas | 4:3447c3fa5719 | 13 | |
JackTamas | 6:d58256361419 | 14 | |
JackTamas | 0:e8eaa22280a2 | 15 | int main() { |
JackTamas | 3:4243b540714d | 16 | start.calibrate(0.0009, 90.0); |
JackTamas | 2:e43e3a2eb025 | 17 | finish.calibrate(0.0009, 90.0); |
JackTamas | 6:d58256361419 | 18 | |
JackTamas | 6:d58256361419 | 19 | start = 0.25; //lowers start gate |
JackTamas | 6:d58256361419 | 20 | wait (1.0); //gives time for crab to get down track |
JackTamas | 4:3447c3fa5719 | 21 | |
JackTamas | 0:e8eaa22280a2 | 22 | x = (rand()%9)+1; |
JackTamas | 6:d58256361419 | 23 | printf("%d", x); |
JackTamas | 4:3447c3fa5719 | 24 | |
JackTamas | 6:d58256361419 | 25 | start = 0.0; //set initial start gate position |
JackTamas | 6:d58256361419 | 26 | |
JackTamas | 6:d58256361419 | 27 | |
JackTamas | 6:d58256361419 | 28 | if (x >= 7) { |
JackTamas | 2:e43e3a2eb025 | 29 | finish = 1.0; //gate has a 70% chance to go one way |
JackTamas | 6:d58256361419 | 30 | for (i=0; i<5; i++) { |
JackTamas | 6:d58256361419 | 31 | led[i] = 1; |
JackTamas | 6:d58256361419 | 32 | wait (0.15); |
JackTamas | 6:d58256361419 | 33 | led[i]=0; |
JackTamas | 3:4243b540714d | 34 | } |
JackTamas | 6:d58256361419 | 35 | } |
JackTamas | 4:3447c3fa5719 | 36 | else { //30% chance the gate will go the other way |
JackTamas | 6:d58256361419 | 37 | finish = 0.0; |
JackTamas | 6:d58256361419 | 38 | knife.speed (0.5); |
JackTamas | 6:d58256361419 | 39 | wait (.5); |
JackTamas | 6:d58256361419 | 40 | knife.speed (-0.5); |
JackTamas | 6:d58256361419 | 41 | wait (.5); |
JackTamas | 6:d58256361419 | 42 | knife.speed(0); |
JackTamas | 6:d58256361419 | 43 | } |
JackTamas | 4:3447c3fa5719 | 44 | |
JackTamas | 6:d58256361419 | 45 | finish = 0.5; //set finish gate to halfway point |
JackTamas | 6:d58256361419 | 46 | |
JackTamas | 6:d58256361419 | 47 | |
JackTamas | 0:e8eaa22280a2 | 48 | } |