-
아두이노 | 7-세그먼트 디스플레이Technology/Arduino 2024. 3. 1. 18:00
1. 7-세그먼트 디스플레이
7-세그먼트 디스플레이 7-세그먼트 디스플레이는 7개의 세그먼트(segment)와 1개의 소수점(Decimal Point, DP)로 구성된 전자 소자로, 숫자를 표현하기 위해 사용된다. 세그먼트와 DP는 모두 LED로 이루져 있으며, LED에 순방향 전류가 흐르면 해당 세그먼트와 DP가 빛나면서 숫자를 표현할 수 있다. 숫자를 표현하기 위해 배치된 LED 8개를 제어하는 셈이다. 7-세그먼트 디스플레이는 양극(Anode) 타입과 음극(Cathod) 타입이 있다.
1.1. 양극 타입
양극 타입 7-세그먼트 디스플레이 양극 타입은 10개의 단자를 가지고 있는데, 8개는 LED를 제어하기 위한 단자, 2개는 모든 LED의 한쪽 끝이 묶인 공통 단자이다. 양극 타입의 경우, 모든 LED 양극이 공통으로 묶여 있어 공통 단자들을 전원에 연결해 회로를 구성한다. LED를 제어하는 단자에 디지털 신호를 가하지 않으면 해당 단자와 연결된 LED가 작동하고, 디지털 신호를 가하면 LED가 작동하지 않는다. 7-세그먼트 디스플레이 양극 타입은 아래 링크로 접속하면 구입할 수 있다.
5163ASR
배열 : 1자리 / 사이즈 : 12.6x19mm / 색상 : 레드(Red) / Anode타입
www.devicemart.co.kr
1.2. 음극 타입
음극 타입 7-세그먼트 디스플레이 음극 타입은 모든 LED의 음극이 공통으로 묶여 있어 해당 공통 단자를 접지에 연결해 회로를 구성한다. LED를 제어하는 단자에 디지털 신호를 가하면 해당 단자와 연결된 LED가 작동하고, 디지털 신호를 가하지 않으면 LED가 작동하지 않는다. 7-세그먼트 디스플레이 음극 타입은 아래 링크로 접속하면 구입할 수 있다.
5163CSR
배열 : 1자리 / 사이즈 : 12.6x19mm / 색상 : 레드(Red) / Cathode타입
www.devicemart.co.kr
2. 예제
2.1. 회로 구성 - 양극 타입
회로 구성 - 양극 타입 1/2W 1% Axial Resistor 221F (220Ω)
일반막대저항 / 탄소피막 / 1/2W / F급(±1%) / 220옴
www.devicemart.co.kr
2.2. 프로그램 작성 - 양극 타입
// 정수형 배열 선언 후 디지털 핀 번호로 초기화 int DataPin[8] = {12, 11, 10, 9, 8, 7, 6, 5}; // A, B, C, D, E, F, G, DP 순서로 연결 // 정수형 2차원 배열 선언 후 숫자를 나타내는 논리 배열로 초기화 int DigitNumber[10][8] = { // A, B, C, D, E, F, G, DP 0, 0, 0, 0, 0, 0, 1, 1, // 0 1, 0, 0, 1, 1, 1, 1, 1, // 1 0, 0, 1, 0, 0, 1, 0, 1, // 2 0, 0, 0, 0, 1, 1, 0, 1, // 3 1, 0, 0, 1, 1, 0, 0, 1, // 4 0, 1, 0, 0, 1, 0, 0, 1, // 5 0, 1, 0, 0, 0, 0, 0, 1, // 6 0, 0, 0, 1, 1, 1, 1, 1, // 7 0, 0, 0, 0, 0, 0, 0, 1, // 8 0, 0, 0, 0, 1, 0, 0, 1 // 9 }; void setup() { for (int i = 0; i < 8; i++) { pinMode(DataPin[i], OUTPUT); // 디지털 DataPin[i]번 핀을 출력(OUTPUT) 모드로 설정 } } void loop() { // 7-세그먼트 디스플레이에 숫자를 순서대로 출력 for (int i = 0; i < 10; i++) { for (int j = 0; j < 8; j++) { // 디지털 DataPin[j]번 핀에 DigitNumber[i][j]에 해당하는 디지털 신호 출력 digitalWrite(DataPin[j], DigitNumber[i][j]); } delay(1000); // 1000 ms 대기 } }
2.3. 회로 구성 - 음극 타입
회로 구성 - 음극 타입 1/2W 1% Axial Resistor 221F (220Ω)
일반막대저항 / 탄소피막 / 1/2W / F급(±1%) / 220옴
www.devicemart.co.kr
2.4. 회로 구성 - 음극 타입
// 정수형 배열 선언 후 디지털 핀 번호로 초기화 int DataPin[8] = {12, 11, 10, 9, 8, 7, 6, 5}; // A, B, C, D, E, F, G, DP 순서로 연결 // 정수형 2차원 배열 선언 후 숫자를 나타내는 논리 배열로 초기화 int DigitNumber[10][8] = { // A, B, C, D, E, F, G, DP 1, 1, 1, 1, 1, 1, 0, 0, // 0 0, 1, 1, 0, 0, 0, 0, 0, // 1 1, 1, 0, 1, 1, 0, 1, 0, // 2 1, 1, 1, 1, 0, 0, 1, 0, // 3 0, 1, 1, 0, 0, 1, 1, 0, // 4 1, 0, 1, 1, 0, 1, 1, 0, // 5 1, 0, 1, 1, 1, 1, 1, 0, // 6 1, 1, 1, 0, 0, 0, 0, 0, // 7 1, 1, 1, 1, 1, 1, 1, 0, // 8 1, 1, 1, 1, 0, 1, 1, 0 // 9 }; void setup() { for (int i = 0; i < 8; i++) { pinMode(DataPin[i], OUTPUT); // 디지털 DataPin[i]번 핀을 출력(OUTPUT) 모드로 설정 } } void loop() { // 7-세그먼트 디스플레이에 숫자를 순서대로 출력 for (int i = 0; i < 10; i++) { for (int j = 0; j < 8; j++) { // 디지털 DataPin[j]번 핀에 DigitNumber[i][j]에 해당하는 디지털 신호 출력 digitalWrite(DataPin[j], DigitNumber[i][j]); } delay(1000); // 1000 ms 대기 } }
[함께 읽으면 좋은 페이지]
아두이노 | 7-세그먼트 디코더 CD4511
1. 7-세그먼트 디코더 CD4511 7-세그먼트 디스플레이를 제어하기 위해서는 디지털 입출력 핀 8개를 사용해야 한다. 디스플레이를 단독으로 사용한다면 상관 없겠지만, 다른 전자 소자들과 함께 사
vedacube.tistory.com
아두이노 라이브러리 | 7-세그먼트 디스플레이
1. 아두이노 라이브러리 추가 앞서 살펴본 예제에서는 7-세그먼트 디스플레이에 숫자나 글자를 나타내기 위해 세그먼트 LED를 하나하나 제어하였다. 그러나 아두이노 플랫폼은 7-세그먼트를 이보
vedacube.tistory.com
참고문헌
- 최훈. (2022). 팅커캐드 & 아두이노. 길벗캠퍼스.
반응형'Technology > Arduino' 카테고리의 다른 글
아두이노 | SIPO 시프트 레지스터 74HC595 (0) 2024.03.15 아두이노 | 7-세그먼트 디코더 CD4511 (2) 2024.03.08 아두이노 프로젝트 | 적외선 무선 원격 통신을 이용한 무선 RC카 (0) 2024.02.23 아두이노 라이브러리 | 적외선 무선 원격 통신 IRremote.h (0) 2024.02.16 아두이노 프로젝트 | 현관 센서등 (1) 2024.02.09