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

Dependencies:   Encoder mbed HIDScope Servo MODSERIAL

Fork of chessRobot by a steenbeek

Revision:
40:0d88aa25a57d
Parent:
39:41635b1b11de
Child:
41:d5c3055a7bc7
--- a/buttons.cpp	Thu Oct 08 00:39:57 2015 +0200
+++ b/buttons.cpp	Thu Oct 08 00:53:33 2015 +0200
@@ -17,8 +17,8 @@
 
 AnalogIn button1(button1Pin);
 AnalogIn button2(button2Pin);
-float prevState1 = 1;
-float prevState2 = 1;
+float button1Pressed = false;
+float button2Pressed = false;
 int actuatorState = 0;
 
 float pot1Val = 0;
@@ -31,17 +31,25 @@
 	//	 button 1 to enable/disable actuators
 	// 	 button 2 to switch between states
 
-	if(button1.read() == 0 && prevState1 != 0){
-		motorsEnable = !motorsEnable;
+	if(button1.read() == 0){
+		if (button1Pressed != true){
+			motorsEnable = !motorsEnable;
+			button1Pressed = true;
+		}
+	}else{
+		button1Pressed = false;
 	}
-	if(button2.read() == 0 && prevState2 != 0){
-		actuatorState++;
-		if(actuatorState==3){
-			actuatorState = 0;
+	if(button2.read() == 0){
+		if(button2Pressed != true){
+			actuatorState++;
+			if(actuatorState==3){
+				actuatorState = 0;
+			}
+		button2Pressed = true;
 		}
+	}else{
+		button2Pressed = false;
 	}
-	prevState1 = button1.read();
-	prevState2 = button2.read();
 
     pot1Val = pot1.read();
     pot2Val = pot2.read();