Created
July 25, 2017 17:41
-
-
Save phoenixperry/f0fe2fbbfe8ff0e96c722269dbc99fc8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define N_SENSORS 6 | |
#define BLINK_INTERVAL 500 | |
//#define HWSERIAL Serial1 | |
#define SWSERIAL Serial | |
int btnP0 = A0; | |
int btnP1 = A1; | |
int btnP2 = A2; | |
int btnP3 = A3; | |
int btnP4 = A4; | |
int btnP5 = A5; | |
int ledP0 = 2; | |
int ledP1 = 3; | |
int ledP2 = 4; | |
int ledP3 = 5; | |
int ledP4 = 6; | |
int ledP5 = 7; | |
int btns[6] = {btnP0,btnP1, btnP2, btnP3, btnP4, btnP5}; | |
int leds[6] = {ledP0, ledP1, ledP2, ledP3, ledP4, ledP5}; | |
// blinking or not | |
int ledStates[6] = {0, 0, 0, 0, 0, 0}; | |
int ledCounter[6] = {0, 0, 0, 0, 0, 0}; | |
void setup() { | |
// HWSERIAL.begin(9600); | |
SWSERIAL.begin(9600); | |
for (int i=0; i < N_SENSORS; i++) { | |
pinMode(leds[i], OUTPUT); | |
pinMode(btns[i],INPUT_PULLUP); | |
} | |
} | |
//function to read LEDS | |
int readBtns(int num){ | |
int val = digitalRead(num); | |
return val; | |
} | |
//void blinkLEDs() { | |
// for (int k=0; k<N_SENSORS; k++) { | |
// ledCounter[k]++; | |
// if (ledStates[k] == 1) { | |
// if (ledCounter[k] < BLINK_INTERVAL) { | |
// digitalWrite(leds[k], LOW); | |
// delay(1); | |
// } | |
// if (ledCounter[k] > BLINK_INTERVAL && ledCounter[k] < (BLINK_INTERVAL * 2)) { | |
// digitalWrite(leds[k], HIGH); | |
// delay(1); | |
// } | |
// } else { | |
// digitalWrite(leds[k], LOW); | |
// } | |
// if (ledCounter[k] > (BLINK_INTERVAL * 2)) { | |
// ledCounter[k] = 0; | |
// } | |
// } | |
//} | |
void loop() { | |
// read sensor data and react | |
for(int i=0; i < N_SENSORS; i++){ | |
int btnVal =readBtns(btns[i]); | |
if(btnVal == 1){ | |
if (ledStates[i] == 0) { | |
ledStates[i] = 1; | |
//HWSERIAL.print(i); | |
SWSERIAL.print(i); | |
//HWSERIAL.println(":ON"); | |
SWSERIAL.println("ON"); | |
analogWrite(ledStates[i], 255); | |
} | |
} else { | |
if (ledStates[i] == 1) { | |
ledStates[i] = 0; | |
//HWSERIAL.print(i); | |
SWSERIAL.print(i); | |
//HWSERIAL.println(":OFF"); | |
SWSERIAL.println(":OFF"); | |
analogWrite(ledStates[i], 0); | |
} | |
} | |
} | |
//blinkLEDs(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment