![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
control for robotic arm that can play chess using a granular gripper
Dependencies: Encoder mbed HIDScope Servo MODSERIAL
Fork of chessRobot by
main.cpp@30:a20f16bf8dda, 2015-10-06 (annotated)
- Committer:
- annesteenbeek
- Date:
- Tue Oct 06 21:06:20 2015 +0000
- Revision:
- 30:a20f16bf8dda
- Parent:
- 29:e4f3455aaa0b
- Child:
- 31:8fbee6c92753
divided functions with Tickers and working PID;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
annesteenbeek | 12:61759f94c07a | 1 | #include "mbed.h" |
annesteenbeek | 25:874675516927 | 2 | #include "EMG.h" |
annesteenbeek | 25:874675516927 | 3 | #include "HIDScope.h" |
annesteenbeek | 25:874675516927 | 4 | #include "PID.h" |
annesteenbeek | 25:874675516927 | 5 | #include "encoder.h" |
annesteenbeek | 13:4837b36b9a68 | 6 | #include "config.h" // settings and pin configurations |
annesteenbeek | 13:4837b36b9a68 | 7 | #include "actuators.h" |
annesteenbeek | 15:5fa388ba22cb | 8 | #include "buttons.h" |
annesteenbeek | 25:874675516927 | 9 | #include "debug.h" |
annesteenbeek | 6:b957d8809e7c | 10 | |
annesteenbeek | 12:61759f94c07a | 11 | |
annesteenbeek | 30:a20f16bf8dda | 12 | Ticker switches, debug, motor; |
annesteenbeek | 30:a20f16bf8dda | 13 | volatile bool switches_go=false, debug_go=false, motor_go=false; |
annesteenbeek | 0:525558a26464 | 14 | |
annesteenbeek | 30:a20f16bf8dda | 15 | void switches_activate(){switches_go=true;}; |
annesteenbeek | 30:a20f16bf8dda | 16 | void debug_activate(){debug_go=true;}; |
annesteenbeek | 30:a20f16bf8dda | 17 | void motor_activate(){motor_go=true;}; |
annesteenbeek | 29:e4f3455aaa0b | 18 | |
annesteenbeek | 5:73bfad06b775 | 19 | int main(){ |
annesteenbeek | 26:0a9e4147a31a | 20 | motorInit(); |
annesteenbeek | 29:e4f3455aaa0b | 21 | |
annesteenbeek | 30:a20f16bf8dda | 22 | switches.attach(&switches_activate, 0.19f); |
annesteenbeek | 30:a20f16bf8dda | 23 | debug.attach(&debug_activate, 0.21f); |
annesteenbeek | 30:a20f16bf8dda | 24 | motor.attach(&motor_activate, 0.2f); |
annesteenbeek | 0:525558a26464 | 25 | while (true) { |
annesteenbeek | 3:47c76be6d402 | 26 | // readEMG(); |
annesteenbeek | 3:47c76be6d402 | 27 | // servoControl(); |
annesteenbeek | 30:a20f16bf8dda | 28 | if(switches_go){ |
annesteenbeek | 30:a20f16bf8dda | 29 | switches_go=false; |
annesteenbeek | 30:a20f16bf8dda | 30 | checkSwitches(); |
annesteenbeek | 30:a20f16bf8dda | 31 | } |
annesteenbeek | 30:a20f16bf8dda | 32 | if(debug_go){ |
annesteenbeek | 30:a20f16bf8dda | 33 | debug_go=false; |
annesteenbeek | 30:a20f16bf8dda | 34 | debugProcess(); |
annesteenbeek | 30:a20f16bf8dda | 35 | } |
annesteenbeek | 30:a20f16bf8dda | 36 | if(motor_go){ |
annesteenbeek | 30:a20f16bf8dda | 37 | motor_go=false; |
annesteenbeek | 30:a20f16bf8dda | 38 | motorControl(); |
annesteenbeek | 30:a20f16bf8dda | 39 | } |
annesteenbeek | 0:525558a26464 | 40 | } |
annesteenbeek | 0:525558a26464 | 41 | } |