Like in topic, I'm trying to drive Nixie tube using button (and K155ID1 driver). I want to make it display each of numbers consecutively and change it only when it detects that button was pushed. I don't know how to make state change detection so I'm stuck with infinte counting loop. Here's code.
int Counter = 0;
#define A 12
#define B 11
#define C 10
#define D 9
void setup() {
Serial.begin(9600);
pinMode(8, OUTPUT);
pinMode(D, OUTPUT);// D
pinMode(C, OUTPUT);// C
pinMode(B, OUTPUT);// B
pinMode(A, OUTPUT);// A
digitalWrite(8, LOW);
}
void loop() {
digitalWrite(8, HIGH);
Counter = Counter +1;
delay(1000);
Serial.print(Licznik);
//0
if (Counter == 0){
digitalWrite(D, LOW); //D
digitalWrite(C, LOW); //C
digitalWrite(B, LOW); //B
digitalWrite(A, LOW); //A
}
//1
if (Counter == 1){
digitalWrite(D, LOW); //D
digitalWrite(C, LOW); //C
digitalWrite(B, LOW); //B
digitalWrite(A, HIGH); //A
}
//2
if (Counter == 2){
digitalWrite(D, LOW); //D
digitalWrite(C, LOW); //C
digitalWrite(B, HIGH); //B
digitalWrite(A, LOW); //A
}
//3
if (Counter == 3){
digitalWrite(D, LOW); //D
digitalWrite(C, LOW); //C
digitalWrite(B, HIGH); //B
digitalWrite(A, HIGH); //A
}
//4
if (Counter == 4){
digitalWrite(D, LOW); //D
digitalWrite(C, HIGH); //C
digitalWrite(B, LOW); //B
digitalWrite(A, LOW); //A
}
//5
if (Counter == 5){
digitalWrite(D, LOW); //D
digitalWrite(C, HIGH); //C
digitalWrite(B, LOW); //B
digitalWrite(A, HIGH); //A
}
//6
if (Counter == 6){
digitalWrite(D, LOW); //D
digitalWrite(C, HIGH); //C
digitalWrite(B, HIGH); //B
digitalWrite(A, LOW); //A
}
//7
if (Counter == 7){
digitalWrite(D, LOW); //D
digitalWrite(C, HIGH); //C
digitalWrite(B, HIGH); //B
digitalWrite(A, HIGH); //A
}
//8
if (Counter == 8){
digitalWrite(D, HIGH); //D
digitalWrite(C, LOW); //C
digitalWrite(B, LOW); //B
digitalWrite(A, LOW); //A
}
//9
if (Counter == 9){
digitalWrite(D, HIGH); //D
digitalWrite(C, LOW); //C
digitalWrite(B, HIGH); //B
digitalWrite(A, LOW); //A
}
}
