안녕하세요 전자공이 입니다.
본문에서 다룰 내용은 아두이노를 이용해 7 세그먼트를 제어해 보려고 합니다.

-준비물-
아두이노
브레드보드
점퍼선
330옴 고정 저항 8개
-회로를 구성하기 전에 7 segment 세팅-
7 세그먼트는 2가지 종류로 나뉩니다.

하나는 캐소드 방식 다른 하나는 애노드 방식을 가지고 있습니다.
둘 다 육안상으로 구별하기란 매우 어렵습니다. 그래서 멀티 미터기를 이용하여 내가 가지도 있는 세븐 세그먼트가
캐소드 방식인지 애노드 방식인지 구별하고 사용을 해야 됩니다.
구별 없이 잘못 사용했을 때 세븐 세그먼트에 불이 안 들어오는 것은 기본이며 심한 경우는 소자가 타버려 아깝게 버려야 되는 경우도 생기니 사전에 구별하도록 습관을 꼭 들이면 좋겠습니다.
-세그먼트 구별 방법-
아래 사진과 같은 멀티 미터기를 이용해 다음 과같이 측정을 해봅시다.

단자가 단락되면 확인을 시켜주는 체커 기능이 있습니다. 이 위치에 커서를 두고 측정을 합니다.

위의 사진 처럼 소리가 나면 애노드 타입으로 두 단자 모두 VCC를 인가해주어야 됩니다.

위처럼 아무 소리도 안 나면 캐소드 타입으로 VCC와 GND를 인가해주어야 됩니다.
-회로 구성-
----------------------------------------------------------------------------------------
아두이노------------------<>------------------저항 1,2,3,4,5,6,7,8
pin2------------------<>------------------저항 1 단자
pin3------------------<>------------------저항 2 단자
pin4------------------<>------------------저항 3 단자
pin5------------------<>------------------저항 4 단자
pin6------------------<>------------------저항 5 단자
pin7------------------<>------------------저항 6 단자
pin8------------------<>------------------저항 7 단자
pin9------------------<>------------------저항 8 단자
저항 1,2,3,4,5,6,7,8------------------<>------------------세븐 세그먼트
저항 1 단자------------------<>------------------세그먼트 1번 단자
저항 2 단자------------------<>------------------세그먼트 2번 단자
저항 3 단자------------------<>------------------세그먼트 3번 단자
저항 4 단자------------------<>------------------세그먼트 4번 단자
저항 5 단자------------------<>------------------세그먼트 5번 단자
저항 6 단자------------------<>------------------세그먼트 6번 단자
저항 7 단자------------------<>------------------세그먼트 7번 단자
저항 8 단자------------------<>------------------세그먼트 8번 단자
에노드 타입 케소드 타입에 따라 VCC극을 두단 자에 연결해야 되는지
VCC극 과 GND를 연결해야 되는지 반드시 확인하고 연결하기 바랍니다.
세븐 세그먼트------------------<>------------------아두이노
VCC핀------------------<>------------------VCC
GND핀------------------<>------------------GND
----------------------------------------------------------------------------------------
-코드 구성-
----------------------------------------------------------------------------------------
} void setup(){
pinMode(2,OUTPUT); // 2번 핀을 OUTPUT으로 사용하겠다고 선언
pinMode(3,OUTPUT); // 3번 핀을 OUTPUT으로 사용하겠다고 선언
pinMode(4,OUTPUT); // 4번 핀을 OUTPUT으로 사용하겠다고 선언
pinMode(5,OUTPUT); // 5번 핀을 OUTPUT으로 사용하겠다고 선언
pinMode(6,OUTPUT); // 6번 핀을 OUTPUT으로 사용하겠다고 선언
pinMode(7,OUTPUT); // 7번 핀을 OUTPUT으로 사용하겠다고 선언
pinMode(8,OUTPUT); // 번 핀을 OUTPUT으로 사용하겠다고 선언
pinMode(9,OUTPUT); // 9번 핀을 OUTPUT으로 사용하겠다고 선언
}
void loop(){
digitalWrite(2,HIGH); // 2번 핀을 HIGH으로 사용하겠다고 선언
digitalWrite(3, HIGH); // 3번 핀을 HIGH으로 사용하겠다고 선언
digitalWrite(4, HIGH); // 4번 핀을 HIGH으로 사용하겠다고 선언
digitalWrite(5, HIGH); // 5번 핀을 HIGH으로 사용하겠다고 선언
digitalWrite(6, HIGH); // 6번 핀을 HIGH으로 사용하겠다고 선언
digitalWrite(7, HIGH); // 7번 핀을 HIGH으로 사용하겠다고 선언
digitalWrite(8, HIGH); // 8번 핀을 HIGH으로 사용하겠다고 선언
digitalWrite(9, HIGH); // 9번 핀을 HIGH으로 사용하겠다고 선언
delay(1000); // 딜레이 (1000) ms 적용
digitalWrite(2, LOW); // 2번 핀을 LOW으로 사용하겠다고 선언
digitalWrite(3, LOW); // 3번 핀을 LOW으로 사용하겠다고 선언
digitalWrite(4, LOW); // 4번 핀을 LOW으로 사용하겠다고 선언
digitalWrite(5, LOW); // 5번 핀을 LOW으로 사용하겠다고 선언
digitalWrite(6, LOW); // 6번 핀을 LOW으로 사용하겠다고 선언
digitalWrite(7, LOW); // 7번 핀을 LOW으로 사용하겠다고 선언
digitalWrite(8, LOW); // 8번 핀을 LOW으로 사용하겠다고 선언
digitalWrite(9, LOW); // 9번 핀을 LOW으로 사용하겠다고 선언
delay(1000); // 딜레이 (1000) ms 적용
}
----------------------------------------------------------------------------------------
회로 구성을 마치고 위의 코드를 아두이노에 업로드하면 세그먼트의 모든 LED가 1초 단위로 꺼졌다 켜졌다를 반복합니다.
숫자 또는 A, B, C, D, E, F를 세븐 세그먼트로 표시하고 싶다면
현 코드 안에서 HIGH 부분을 LOW로 바꾸어 표시하여 표시하도록 연습해 봅시다.
하나 씩 바꾸어 확인해보면 어렵지 않게 표시할 수 있습니다.
이렇게 세븐 세그먼트로 표시를 해보았으니 다음 글에서는 0~9, A~F까지 세븐 세그먼트를 이용해 차례대로 표시되는
코드에 대해 알아보겠습니다.
-아두이노 세븐 세그먼트 표시 끝-
'코딩 > 아두이노' 카테고리의 다른 글
아두이노 시리얼 통신으로 LED를 제어 해보자 (0) | 2019.11.05 |
---|---|
아두이노 시리얼 모니터로 "Hello world" 출력 해보자 (0) | 2019.11.04 |
아두이노 피에조 부저를 울려보자 (0) | 2019.11.03 |
아두이노 스위치로 LED 제어 하기 (간단 버전) (0) | 2019.11.02 |
아두이노 LED 제어 (깜박이기)를 해보자 (0) | 2019.11.02 |
댓글