본문으로 바로가기


< 4분48초 음성 정정 : 공통음극 입니다. >


7 세그먼트(7 segment) or FND(Flexible Numeric Display)


7 세그먼트는 세그먼트 방식의 숫자 표시 소자이며 FND라고도 불린다. 7개의 획으로 숫자나 알파벳을 표현할 수 있으며 7개의 획은 led로 구성되어 있어 불을 켜고 끄는 것으로 여러가지의 숫자나 문자를 표현할 수 있다.


7 세그먼트 사용법


<7 세그먼트 회로도>

7 세그먼트는 이렇게 dp까지 포함하여 7개의 획과 1개의 점으로 이루어져 있다. 


공통양극(Common Anode), 공통음극(Common Cathode)


7 세그먼트는 공통양극과 공통음극을 구분해서 사용해야 한다. 공통 양극일경우 공통핀(정 중앙 2개)을 vcc(5V)로 꽂는다. 공통 음극일 경우 공통핀(정 중앙 2개)을 GND(0V)에 꽂는다.

<공통 양극 : Common Anode>

공통 양극은 위의 회로도와 같이 공통핀이 +극에 연결되어 있다. 그러므로 불을켜고자 하는 획은 LOW로 만들어주어야 전압강하에 의하여 불이 켜지게 된다. 예를 들어 숫자 0을 만들고 싶으면 g획을 제외한 모든 불을 켜서 0모양을 만든다. (자세한 내용은 동영상 강의 참고)


<공통 음극 : Common Cathode>

공통 음극은 위의 회로도와 같이 공통핀이 -극에 연결되어 있다. 이 경우에는 불을 켜고자 하는 획을 HIGH상태로 만들어 불을 켠다. (자세한 내용은 동영상 강의 참조)


실습 내용


7 세그먼트에 원하는 숫자나 문자를 출력해 보자.


준비물


아두이노 보드, 브레드 보드 , 7 세그먼트 1개, 저항 330Ω 8개, 점퍼선 10개


회로도




 

소스 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
int fnd[] = {345678910};
//fnd[0] a
//fnd[1] b
//fnd[2] c
//fnd[3] d
//fnd[4] e
//fnd[5] f
//fnd[6] g
//fnd[7] .
void setup() {
  for(int i=0; i<8; i++)
    pinMode(fnd[i], OUTPUT);
  
  digitalWrite(fnd[0], 0);
  digitalWrite(fnd[1], 1);
  digitalWrite(fnd[2], 0);
  digitalWrite(fnd[3], 0);
  digitalWrite(fnd[4], 1);
  digitalWrite(fnd[5], 0);
  digitalWrite(fnd[6], 0);
  digitalWrite(fnd[7], 0);
}
 
void loop() {
 
}
 
cs

ex5_fnd.ino


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int fnd[] = {345678910};
 
int luv[6][8= { {11100011}, // L
                {00000011},    // O
                {10000011},    // V
                {01100001},    // E
                {10011001},    // y
                {10001110},    // J.
                };
void setup() {
  for(int i=0; i<8; i++)
    pinMode(fnd[i], OUTPUT);
}
 
void loop() {
  for(int i=0; i<6; i++)
  {
    for(int j=0; j<8; j++)
    {
      digitalWrite(fnd[j], luv[i][j]); //동영상 강의 
    }
    delay(1000);
  }
}
 
cs

ex5_fnd2.ino


결과 영상