Creative Code

14_FND 본문

Arduino(C,C++)

14_FND

빛하루 2023. 8. 14. 15:58
const int fnd_data[7] = {2,3,4,5,6,7,8};
const unsigned int num[10][7] = {{1,1,1,1,1,1,0},
    {0,1,1,0,0,0,0},
    {1,1,0,1,1,0,1},
    {1,1,1,1,0,0,1},
    {0,1,1,0,0,1,1},
    {1,0,1,1,0,1,1},
    {1,0,1,1,1,1,1},
    {1,1,1,0,0,0,0},
    {1,1,1,1,1,1,1},
    {1,1,1,1,0,1,1}};


void displayinit(int *pin) {
   for (int i = 0; i<7; i++) {
    pinMode(*(pin+i),OUTPUT);
  }
}
void display_set(int *pin) {
  for (int i = 0; i<7; i++) {
    digitalWrite(pin[i],HIGH);
  }
}
void display_clear(int *pin) {
  for (int i = 0; i<7; i++) {
    digitalWrite(pin[i],LOW);
  }
}
void display_number(int n) {
  for (int i = 0; i<7; i++) {
    digitalWrite(fnd_data[i],num[n][i]);
  }
}

void setup() {
  displayinit(fnd_data);
  display_clear(fnd_data);
  Serial.begin(115200);

}
void loop() {
  if (Serial.available()) {
    char number = Serial.read();
    if (number >= '0' && number<= '9') {
      display_number(number-48);
    }
  }
}

'Arduino(C,C++)' 카테고리의 다른 글

15_ArrayFND  (0) 2023.08.14
13_PCINT_ultrasonic(timer1함수를 이용한 거리측정)  (0) 2023.08.14
12_timer1_piezo  (0) 2023.08.14
11_timer1_led  (0) 2023.08.14
10_ultrasonic(초음파 거리재기)  (0) 2023.08.11