control for robotic arm that can play chess using a granular gripper

Dependencies:   Encoder mbed HIDScope Servo MODSERIAL

Fork of chessRobot by a steenbeek

Committer:
annesteenbeek
Date:
Wed Oct 07 15:09:52 2015 +0200
Revision:
31:8fbee6c92753
Parent:
30:a20f16bf8dda
Child:
32:2006977785f5
restructured motor control and changed input/output limits

Who changed what in which revision?

UserRevisionLine numberNew contents of line
annesteenbeek 12:61759f94c07a 1 #include "mbed.h"
annesteenbeek 13:4837b36b9a68 2 #include "config.h" // settings and pin configurations
annesteenbeek 13:4837b36b9a68 3 #include "actuators.h"
annesteenbeek 15:5fa388ba22cb 4 #include "buttons.h"
annesteenbeek 25:874675516927 5 #include "debug.h"
annesteenbeek 6:b957d8809e7c 6
annesteenbeek 12:61759f94c07a 7
annesteenbeek 30:a20f16bf8dda 8 Ticker switches, debug, motor;
annesteenbeek 30:a20f16bf8dda 9 volatile bool switches_go=false, debug_go=false, motor_go=false;
annesteenbeek 0:525558a26464 10
annesteenbeek 30:a20f16bf8dda 11 void switches_activate(){switches_go=true;};
annesteenbeek 30:a20f16bf8dda 12 void debug_activate(){debug_go=true;};
annesteenbeek 30:a20f16bf8dda 13 void motor_activate(){motor_go=true;};
annesteenbeek 29:e4f3455aaa0b 14
annesteenbeek 5:73bfad06b775 15 int main(){
annesteenbeek 26:0a9e4147a31a 16 motorInit();
annesteenbeek 29:e4f3455aaa0b 17
annesteenbeek 30:a20f16bf8dda 18 switches.attach(&switches_activate, 0.19f);
annesteenbeek 30:a20f16bf8dda 19 debug.attach(&debug_activate, 0.21f);
annesteenbeek 30:a20f16bf8dda 20 motor.attach(&motor_activate, 0.2f);
annesteenbeek 0:525558a26464 21 while (true) {
annesteenbeek 3:47c76be6d402 22 // readEMG();
annesteenbeek 3:47c76be6d402 23 // servoControl();
annesteenbeek 30:a20f16bf8dda 24 if(switches_go){
annesteenbeek 30:a20f16bf8dda 25 switches_go=false;
annesteenbeek 30:a20f16bf8dda 26 checkSwitches();
annesteenbeek 30:a20f16bf8dda 27 }
annesteenbeek 30:a20f16bf8dda 28 if(debug_go){
annesteenbeek 30:a20f16bf8dda 29 debug_go=false;
annesteenbeek 30:a20f16bf8dda 30 debugProcess();
annesteenbeek 30:a20f16bf8dda 31 }
annesteenbeek 30:a20f16bf8dda 32 if(motor_go){
annesteenbeek 30:a20f16bf8dda 33 motor_go=false;
annesteenbeek 30:a20f16bf8dda 34 motorControl();
annesteenbeek 30:a20f16bf8dda 35 }
annesteenbeek 0:525558a26464 36 }
annesteenbeek 0:525558a26464 37 }