Working Dating game for Natural History Museum. Using Arduino, Relays KL and Raspberry pi. however needs cleanup. Change names of Relays CapKeys get rid of capRST - not being needed anymore

Dependencies:   SLCD mbed

Fork of CapKey_46_v2_sensors by Stanley Cohen

Revision:
1:232e3f430f69
Parent:
0:8a169bac9011
Child:
2:4535af993186
--- a/cdg_main.cpp	Mon Oct 20 21:02:24 2014 +0000
+++ b/cdg_main.cpp	Wed Oct 29 22:13:25 2014 +0000
@@ -4,37 +4,40 @@
 //Dating Game Capkey controller 07/16/2013 sc
 // Modified for mbet KL46Z 10/07/2014
 // Four inputs and Four relays
+// Changed to simulate capkeys with the KL on board buttons
 #define PROGNAME "DG Cap Key v1.1\r\n"
 #define KEYHIT "KEY1"
 #define SERIAL_SPEED 9600
 #define HIGH 1
 #define LOW 0
-#define RESET_DELAY 1500
+#define RESET_DELAY 1200
 #define RELAY_ON HIGH
 #define RELAY_OFF LOW
 #define LED_ON LOW
 #define LED_OFF HIGH
 #define DEBOUNCE 50
-#define NUMREL 4
+#define NUMREL 2 // really just the number of outputs
 #define LCDDELAY 0.200
 #define COUNTERLIMIT 300
 
 // constants won't change. They're used here to 
-// set pin numbers:
-//const int buttonPin = PUSH2;
+
 
 
-DigitalOut Relays[NUMREL] = {D10,D11,D12,D13}; // corresponds to touches 1,2,3,4
-DigitalIn capKeys[NUMREL] = {D2,D4,D6,D8};
-DigitalOut capRST[NUMREL] = {D3,D5,D7,D9};
 /*
-DigitalOut Relays[NUMREL] = {D10}; // corresponds to touches 1,2,3,4
-DigitalIn capKeys[NUMREL] = {D2};
-DigitalOut capRST[NUMREL] = {D3,};
+DigitalOut Relays[NUMREL] = {D10,D11,D12,D13}; // corresponds to touches 1,2,3,4
+DigitalIn capKeys[NUMREL] = {PTC3,D4,D6,D8};
+DigitalOut capRST[NUMREL] = {D3,D5,D7,D9};
 */
+// make two channel both buttons for testing
+DigitalOut Relays[NUMREL] = {D10,D11}; 
+DigitalIn capKeys[NUMREL] = {PTC3, PTC12}; // on board buttons
+DigitalOut capRST[NUMREL] = {D3,D5};
+DigitalOut LEDs[NUMREL] = {LED_GREEN, LED_RED};
+/*
 DigitalOut RLed(LED_RED);
 DigitalOut GLed(LED_GREEN);
-
+*/
 Timer millis;
 Serial pc(USBTX, USBRX);
 SLCD slcd; //define LCD display
@@ -69,6 +72,7 @@
   for (i=0; i<NUMREL; i++){ 
           Relays[i].write(RELAY_OFF);
           capRST[i].write(HIGH);
+          LEDs[i].write(LED_OFF);
   }  
 
  while (true) {
@@ -78,23 +82,24 @@
    LCDCounter = LCDCounter % COUNTERLIMIT;
    sprintf (lcdData,"%3d",LCDCounter);
    LCDMess(lcdData, LCDDELAY);
-   RLed.write(ledState);
-   GLed.write(ledState);
+   //RLed.write(ledState);
+   //GLed.write(ledState);
    //End dramatic effect
    
    
   // read the state of the pushbutton value:
   if(OKtoRead) {
     for (i=0; i<NUMREL;i++){
-      buttonVal = capKeys[i].read();
+      buttonVal = ! capKeys[i].read();
       wait_ms(DEBOUNCE);
-       buttonVal2 = capKeys[i].read();
+       buttonVal2 = ! capKeys[i].read();
        buttonVal = buttonVal && buttonVal2;
         if (buttonVal){    
           LCDMess(KEYHIT, LCDDELAY);
           Relays[i].write(RELAY_ON);    
           capRST[i].write(LOW); //reset the cap key
-          pc.printf("i=%d Relays[i] = %d\n\r", i, Relays[i]);
+          LEDs[i].write(LED_ON);
+          pc.printf("Relay = %d \n\r", i);
           millis.reset();
           relayTimeout = RESET_DELAY;
           OKtoRead = false;
@@ -102,14 +107,15 @@
         }
       }
     }//end OKtoRead
-   
+
     if (millis.read_ms() > relayTimeout) {
       OKtoRead = true;
       for (i=0; i<NUMREL; i++){ 
          Relays[i].write(RELAY_OFF);
-         capRST[i].write(HIGH);
-         
+         capRST[i].write(HIGH); 
+         LEDs[i].write(LED_OFF);       
        }  
      }
+
    }// end forever while
 } // end main
\ No newline at end of file