#include <mechButton.h>
int current_Num;
mechButton aBtn(3); // Handles debouncing the button and can do a callback when changed.
void setup() {
// put your setup code here, to run once:
pinMode(2, OUTPUT);
// number output A~G
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(13, OUTPUT);
aBtn.setCallback(btnChg);
current_Num = 0;
callNum(current_Num);
}
// This is called when the button changes state. And don't worry,
// it's already been debounced.
void btnChg(void) {
if (!aBtn.getState()) { // Button bee clicked on..
current_Num++; // Bump up value;
if (current_Num>9) { // Went over?
current_Num = 0; // Circle around.
} //
callNum(current_Num); // Show the new number.
}
}
void loop() { idle(); } // Runs the magic.
void callNum(int num) {
clear();
switch(num) {
case 0:
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
break;
case 1:
digitalWrite(5, LOW);
digitalWrite(6, LOW);
break;
case 2:
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(10, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
case 3:
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(10, LOW);
break;
case 4:
digitalWrite(10, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(9, LOW);
break;
case 5:
digitalWrite(4, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
break;
case 6:
digitalWrite(4, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
digitalWrite(6, LOW);
digitalWrite(10, LOW);
break;
case 7:
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
break;
case 8:
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
break;
case 9:
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
break;
}
}
void clear(){
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
}
A ~ G