const int analogInPin = A0;
const int segments[] = {11, 12, 5, 6, 7, 10, 9};
const int digitPatterns[][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 1, 0, 1, 1} // 9
};
void displayDigit(uint8_t clickcount) {
for (int i = 0; i < 7; ++i) {
digitalWrite(segments[i], digitPatterns[clickcount][i]);
}
}
void setup() {
Serial.begin(9600);
for (int i = 0; i < 7; ++i) {
pinMode(segments[i], OUTPUT);
}
pinMode(analogInPin, INPUT_PULLUP);
}
int clickcount = 0;
void loop() {
if (digitalRead(analogInPin) == LOW) {
delay(50);
if (digitalRead(analogInPin) == LOW) {
return;
}
Serial.println("click");
Serial.println(++clickcount);
}
displayDigit(clickcount);
if(clickcount == 10)
clickcount = 0;
}