Code snippet #1.txt

(1 KB) Pobierz
const int nixie_0 = 2;
const int nixie_1 = 3;
const int nixie_2   = 4;
const int nixie_3 = 5;  
const int nixie_4 = 6;
const int nixie_5   = 7;
const int nixie_6 = 8;
const int nixie_7 = 9;
const int nixie_8 =   10;
const int nixie_9 = 11;

const int row_1 = 0;
const int row_2 =   1;

const int time_on = 3;

void setup() {
  pinMode(nixie_0, OUTPUT);
   pinMode(nixie_1, OUTPUT);
  pinMode(nixie_2, OUTPUT);
  pinMode(nixie_3,   OUTPUT);
  pinMode(nixie_4, OUTPUT);
  pinMode(nixie_5, OUTPUT);
  pinMode(nixie_6,   OUTPUT);
  pinMode(nixie_7, OUTPUT);
  pinMode(nixie_8, OUTPUT);
  pinMode(nixie_9,   OUTPUT);
  pinMode(row_1, OUTPUT);
  pinMode(row_2, OUTPUT);
  //Serial.begin(9600);   //should NOT use seiral println, it will effect to output pin D0 & D1
}

void   loop() {
  for (int i=0; i<=59; i++){
    int j = i/10; //second number from   right
    int k = i%10; //first number from right

    for (int m=0; m<=50;   m++){ //this for loop is used for delay showing two numbers
      //-----------show   first number
      off_all();
      on_number(1,k+2); 
      delay(time_on);

       //-----------show second number
      off_all();
      on_number(0,j+2);
       delay(time_on);
    }
  }
}

void on_number(int row, int nixie){
   //void off_all();
  digitalWrite(row, HIGH);
  digitalWrite(nixie, HIGH);
}

void   off_all(){
  digitalWrite(nixie_0, LOW);
  digitalWrite(nixie_1, LOW);
   digitalWrite(nixie_2, LOW);
  digitalWrite(nixie_3, LOW);
  digitalWrite(nixie_4,   LOW);
  digitalWrite(nixie_5, LOW);
  digitalWrite(nixie_6, LOW);
  digitalWrite(nixie_7,   LOW);
  digitalWrite(nixie_8, LOW);
  digitalWrite(nixie_9, LOW);
  digitalWrite(row_1,   LOW);
  digitalWrite(row_2, LOW);
  delayMicroseconds(420);  //to prevent   "ghost" effect to other tube
}-------------------------------------------------------------------
Zgłoś jeśli naruszono regulamin