본문 바로가기
아두이노/아두이노 IDE

FND 디스플레이 Arduino 제어

by 땜블리 2023. 6. 19.
728x90
반응형
SMALL

안녕하세요 땜블리 입니다.

아두이노를 이용한 7세그먼트 실습을 진행하겠습니다.

오늘날 시각적 표시는 모든 전자 장치의 필수 기능으로, 사용자 상호 작용을 훨씬 쉽게 해줍니다. 간단한 조명 표시에서 LCD 또는 홀로그램에 이르기까지 시각적 표시를 구현하는 방법에는 여러 가지가 있습니다. 오늘 우리는 수십 년 동안 업계에서 사용되어 온 장치인 Seven-Segment Display 에 대해 이야기할 것입니다

Seven Segment Interface를 보여주는 작은 시뮬레이션이 있습니다.Arduino0에서 9까지 세고 반복합니다.값은 Seven Segment 디스플레이에 표시됩니다.

 

7 세그먼트 디스플레이 핀아웃

이름에서 알 수 있듯이 7 세그먼트 디스플레이는 숫자 8을 형성하기 위해 특정 순서로 배열된 7개의 LED로 구성됩니다.

그리고 대부분의 일반 모듈에는 소수점을 표시하는 추가 LED가 함께 제공됩니다. 이는 여러 디스플레이 모듈을 사용하여 십진수를 표시할 때 유용합니다. 이러한 각 LED는 특정 순서로 세그먼트로 배열되며 해당 핀 중 하나가 플라스틱 패키지에서 나옵니다. 다른 LED 핀은 함께 연결되고 배선되어 공통 핀을 형성합니다.

세븐 세그먼트 디스플레이의 유형

세븐세그먼트 디스플레이는 주로 CC(Common Cathode) CA(Common Anode) 의 두 가지 유형으로 분류됩니다 . 이 분류는 LED의 어느 핀이 공통 핀에 연결되어 있는지에 따라 이루어집니다. 이러한 LED의 양극이 함께 연결되면 공통 양극 디스플레이 라고 합니다 . 그리고 Cathode가 서로 연결되어 있으면 Common Cathode display 라고 합니다 .

일반 음극 디스플레이

공통 음극(CC) 디스플레이에서 LED의 모든 음극은 공통 핀에 함께 연결됩니다.이 공통 핀은 회로의 접지 레일에 연결됩니다.개별 LED는 하이 펄스 또는 로직 1 신호를 해당 핀에 적용하여 활성화할 수 있습니다.

위의 이미지에서 세븐 세그먼트의 기본 작동을 볼 수 있습니다.

공통 핀은 GND에 연결되고 각 데이터 핀은 스위치를 통해 VCC에 연결됩니다.

스위치를 누르면 해당 LED가 순방향 바이어스되고 세그먼트가 켜집니다.

오른쪽에서 7 세그먼트 디스플레이의 단순화된 다이어그램을 볼 수 있습니다.

공통 양극 디스플레이

공통 양극(CA) 디스플레이에서 LED의 모든 양극은 공통 핀에 함께 연결됩니다.

이 공통 핀은 회로의 양극 레일에 연결됩니다.

개별 LED는 해당 핀에 낮은 펄스 또는 논리 0 신호를 적용하여 활성화할 수 있습니다.

위의 이미지에서 세븐 세그먼트의 기본 작동을 볼 수 있습니다.

공통 핀은 VCC에 연결되고 각 데이터 핀은 스위치를 통해 GND에 연결됩니다.

스위치를 누르면 해당 LED가 순방향 바이어스되고 세그먼트가 켜집니다.

오른쪽에서 7 세그먼트 디스플레이의 단순화된 다이어그램을 볼 수 있습니다.

반응형

Common Cathode 디스플레이에 대한 진리표가 있습니다.Common Anode 디스플레이의 경우 신호가 반전됩니다.

 

통 핀(7세그먼트 핀 3 또는 8) 중 하나를 접지에 연결합니다.그리고 연결 다이어그램에 따라 전류 제한 저항을 통해 나머지 핀을 ArduinoD2 ~ D9에 연결합니다.LED 구동과 마찬가지로 이러한 전류 제한 저항기를 사용하여 디스플레이 수명을 늘리는 것이 좋습니다.디스플레이 색상 및 크기에 따라 이 값을 선택합니다.여기서 우리는 LED에 약 10mA 전류를 제공하는 330옴 저항을 사용할 것입니다.

그리고 여기 실제 회로가 있습니다.

 

7 세그먼트 디스플레이 인터페이스를 위한 Arduino 코드

이제 코딩 부분으로 가보겠습니다.이 자습서에서는 여러 Arduino 라이브러리를 설치해야 하며 라이브러리 관리자를 통해 직접 수행할 수 있습니다.라이브러리를 설치하려면Arduino IDE > 스케치 > 라이브러리 포함 > 라이브러리 관리로 이동합니다 . 라이브러리 관리자가 라이브러리 색인을 다운로드하고 설치된 라이브러리 목록을 업데이트할 때까지 기다립니다.그런 다음 SevSeg검색하고Dean ReadingSevSeg 라이브러리를설치합니다 .

라이브러리를 설치했으면 새 스케치를 만들고 Arduino 예제 코드를 여기에 복사합니다.예제 코드는 0-9까지 세고 다시 0으로 재설정됩니다. 그리고 프로세스가 반복됩니다.디스플레이에서 숫자가 증가하는 것을 볼 수 있습니다.

#include "SevSeg.h"
SevSeg sevseg;
void setup()
{
      //Set to 1 for single-digit display
      byte numDigits = 1;
      //defines common pins while using multi-digit display. Left for single digit display
      byte digitPins[] = {};
      //Defines Arduino pin connections in order: A, B, C, D, E, F, G, DP
      byte segmentPins[] = {9,8, 7, 6, 5, 4, 3, 2};
      byte displayType = COMMON_CATHODE; 
      //Use COMMON_ANODE for Common Anode display
      bool resistorsOnSegments = true; 
      //‘false’ if resistors are connected to common pin
      //Initialize sevseg object. Use COMMON_ANODE instead of COMMON_CATHODE for CA display
      sevseg.begin(displayType, numDigits, digitPins, segmentPins, resistorsOnSegments);
      sevseg.setBrightness(90);
}
void loop()
{
   //Display numbers 0-9 with 1 seconds delay
   for(int i = 0; i <= 10; i++)
   {
     if (i == 10)
{

 i = 0;
}
     sevseg.setNumber(i);
     sevseg.refreshDisplay();
     delay(1000);
   }
}
 
 
728x90
반응형
LIST

댓글