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:
Mon Sep 28 13:54:34 2015 +0000
Revision:
0:525558a26464
Child:
1:80f098c05d4b
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
annesteenbeek 0:525558a26464 1 // functions for controlling the motors
annesteenbeek 0:525558a26464 2
annesteenbeek 0:525558a26464 3 void motorInit(){
annesteenbeek 0:525558a26464 4
annesteenbeek 0:525558a26464 5 }
annesteenbeek 0:525558a26464 6
annesteenbeek 0:525558a26464 7
annesteenbeek 0:525558a26464 8 void motorControl(){
annesteenbeek 0:525558a26464 9 if(motorEnable == HIGH){ // only run motors if switch is enabled
annesteenbeek 0:525558a26464 10 // get encoder positions
annesteenbeek 0:525558a26464 11 // check if motor's are within rotational boundarys
annesteenbeek 0:525558a26464 12 // calculate encoder speeds
annesteenbeek 0:525558a26464 13 // translate to x/y speed
annesteenbeek 0:525558a26464 14 // compute new PID parameters using setpoint speeds and x/y speeds
annesteenbeek 0:525558a26464 15 // write new values to motor's
annesteenbeek 0:525558a26464 16
annesteenbeek 0:525558a26464 17 }else{
annesteenbeek 0:525558a26464 18 // write 0 to motors
annesteenbeek 0:525558a26464 19 }
annesteenbeek 0:525558a26464 20 }
annesteenbeek 0:525558a26464 21
annesteenbeek 0:525558a26464 22 void servoControl(){
annesteenbeek 0:525558a26464 23 // use potMeter Value to set servo angle
annesteenbeek 0:525558a26464 24 // (optionaly calculate xy position to keep balloon in position)
annesteenbeek 0:525558a26464 25 // calculate z position using angle
annesteenbeek 0:525558a26464 26 // calculate x y translation of endpoint
annesteenbeek 0:525558a26464 27 // find new x and y speed.
annesteenbeek 0:525558a26464 28
annesteenbeek 0:525558a26464 29 }
annesteenbeek 0:525558a26464 30
annesteenbeek 0:525558a26464 31 void pumpControl(){
annesteenbeek 0:525558a26464 32 if (pumpButton == HIGH){
annesteenbeek 0:525558a26464 33 // write pumpPin High
annesteenbeek 0:525558a26464 34 }else{
annesteenbeek 0:525558a26464 35 // write pumpPin Low
annesteenbeek 0:525558a26464 36 }
annesteenbeek 0:525558a26464 37 }