From 62e5e2e50b712c8df5876cdc8c6d7a8f065dc8dd Mon Sep 17 00:00:00 2001 From: Frank DeMarco Date: Wed, 27 Jun 2018 21:28:08 -0400 Subject: [PATCH] ino --- serial/serial.ino | 87 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 serial/serial.ino diff --git a/serial/serial.ino b/serial/serial.ino new file mode 100644 index 0000000..b52b395 --- /dev/null +++ b/serial/serial.ino @@ -0,0 +1,87 @@ +// Generally, you should use "unsigned long" for variables that hold time +// The value will quickly become too large for an int to store +unsigned long previousMillis = 0; // will store last time LED was updated + +// constants won't change: +const long interval = 500; // interval at which to blink (milliseconds) + +int pushButton1 = 2; +int pushButton2 = 3; +int pushButton3 = 4; +int pushButton4 = 5; + +int buttons[4] = {pushButton1, pushButton2, pushButton3, pushButton4}; + + +void setup() { + // set the digital pin as output: + Serial.begin(9600); + pinMode(pushButton1, OUTPUT); + digitalWrite(pushButton1, LOW); + pinMode(pushButton2, INPUT_PULLUP); + pinMode(pushButton3, INPUT_PULLUP); + pinMode(pushButton4, INPUT_PULLUP); +} + +void loop() { + unsigned long currentMillis = millis(); + bool received_input = false; + for (int ii = 0; ii < 4; ii++) + { + for (int jj = 0; jj < 4; jj++) + { + if (jj == ii) + { + pinMode(buttons[jj], OUTPUT); + digitalWrite(buttons[jj], LOW); + } + else + { + pinMode(buttons[jj], INPUT_PULLUP); + } + } + for (int jj = ii; jj < 4; jj++) + { + if (!(ii == jj) && !digitalRead(buttons[jj])) + { + for (int kk = 3; kk >= 0; kk--) + { + if (kk == ii || kk == jj) + { + Serial.print(1); + } + else + { + Serial.print(0); + } + } + Serial.print("\n"); + received_input = true; + break; + } + } + if (received_input) + { + break; + } + } + + if (currentMillis - previousMillis >= interval) + { + previousMillis = currentMillis; +//if(digitalRead(pushButton1)==0){ +//} + +//if(digitalRead(pushButton2)==0){ +// Serial.println("1-2"); +//} +//if(digitalRead(pushButton3)==0){ +// Serial.println("1-3"); +//} +//if(digitalRead(pushButton4)==0){ +// Serial.println("1-4"); +//} + } + + +}