Ghost > 2nd Prototype Code
Ghost
   
2nd Prototype Code
1 aruion board + 3 LEDs + 2 switches
int leftSwitchPin=2;
int rightSwitchPin=12;
int leftLEDPin=3;
int ghostLEDPin=5;
int rightLEDPin=10;

int leftVal = 0; // left variable for reading the pin status
int leftCounter = 0;
int leftCurrentState = 0;
int leftPreviousState = 0;

int rightVal = 0; // right variable for reading the pin status
int rightCounter = 0;
int rightCurrentState = 0;
int rightPreviousState = 0;


void setup() {
  pinMode(leftSwitchPin,INPUT);
  pinMode(rightSwitchPin,INPUT);
  pinMode(leftLEDPin, OUTPUT);
  pinMode(ghostLEDPin, OUTPUT);
  pinMode(rightLEDPin, OUTPUT);
  beginSerial(9600);
}

void loop(){

    //left side start
    leftVal = digitalRead(leftSwitchPin); // read input value
  if (leftVal == HIGH) { // check if the input is HIGH (button released)
    leftCurrentState = 1;
  } 
  else {
    leftCurrentState = 0;
  }
  if(leftCurrentState != leftPreviousState){
    if(leftCurrentState == 1){
      leftCounter = leftCounter + 1;
      Serial.print("leftCounter = ");
      Serial.println(leftCounter);
    }
  }
  leftPreviousState = leftCurrentState;
  
  switch(leftCounter){
   case 0:
   delay(30);
   // turn LED off
  digitalWrite(leftLEDPin,LOW);
  digitalWrite(ghostLEDPin,LOW);
  digitalWrite(rightLEDPin,LOW);

 break;
 case 1:
 delay(30);
   // turn LED on
  digitalWrite(leftLEDPin,HIGH);
  digitalWrite(ghostLEDPin,HIGH);
  digitalWrite(rightLEDPin,LOW);
 break;
 case 2:
 //delay(30);
 leftCounter = 0;
  }
  
// right side start
  
  rightVal = digitalRead(rightSwitchPin); // read input value
  if (rightVal == HIGH) { // check if the input is HIGH (button released)
    rightCurrentState = 1;
  } 
  else {
    rightCurrentState = 0;
  }
  if(rightCurrentState != rightPreviousState){
    if(rightCurrentState == 1){
      rightCounter = rightCounter + 1;
      Serial.print("rightCounter = ");
      Serial.println(rightCounter);
    }
  }
  rightPreviousState = rightCurrentState;
  
  
   
  switch(rightCounter){
   case 0:
 delay(30);
   // turn LED off
  digitalWrite(leftLEDPin,LOW);
  digitalWrite(ghostLEDPin,LOW);
  digitalWrite(rightLEDPin,LOW);

 break;
 case 1:
 delay(30);
   // turn LED on
  digitalWrite(leftLEDPin,LOW);
  digitalWrite(ghostLEDPin,HIGH);
  digitalWrite(rightLEDPin,HIGH);

 break;
 case 2:
 //delay(30);
 rightCounter = 0;
  }
  
 if (leftCounter == 1 && rightCounter == 1){
   digitalWrite(leftLEDPin,HIGH);
  digitalWrite(ghostLEDPin,HIGH);
  digitalWrite(rightLEDPin,HIGH);
  delay(30);
    digitalWrite(leftLEDPin,LOW);
  digitalWrite(ghostLEDPin,LOW);
  digitalWrite(rightLEDPin,LOW);
    delay(30);
 
 } 
 if((leftCounter+rightCounter)>2) {
   leftCounter=0;
   rightCounter=0;
 }
}

Do you want to contact us?
Ji Sun Lee, Emery Martin, Robert C. Moon