프로젝트 대표사진

[ 기초 ] 아두이노 실습 - 7 Segment LED 카운트 하기

아두이노를 사용한 7 Segment LED 카운트 하기
[ 기초 ] 아두이노 실습 - 7 Segment LED 카운트 하기 작성자 : 주피터

FND(Flexible Number Display) 7 Segment LED 카운트 하기

 

① FND 소자설명 < 캐소드 구동 방식 >

             

 

                                             

 

② 하드웨어 구성

 

아래 그림 처럼 하드웨어를 구성한다.

 

 

현재 위그림의 회로 연결이 된 상태는 다음과 같습니다.

 

D0 -> teminal B

D1 -> teminal A

D2 -> teminal D

D3 -> teminal C

D4 -> teminal E

D5 -> teminal F

D6 -> teminal G

 

GND는  teminal -com2로  연결 하였습니다.

 

                                              ⓞ FND 7 Segment LED 논리 회로

 

 

③ 아두이노 프로그래밍

 

프로그램 로직을 구현한다.

 

void setup()
{
    for( int pin = 0; pin < 7; pin++){
      pinMode(pin,OUTPUT);
    }
}

void loop()
{
    // 0
    digitalWrite(0,1); digitalWrite(1,1); digitalWrite(2,1);
    digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,1);
    digitalWrite(6,0); 
    delay(1000);
    // 1
    digitalWrite(0,1); digitalWrite(1,0); digitalWrite(2,0);
    digitalWrite(3,1); digitalWrite(4,0); digitalWrite(5,0);
    digitalWrite(6,0); 
    delay(1000);
    // 2
    digitalWrite(0,1); digitalWrite(1,1); digitalWrite(2,1);
    digitalWrite(3,0); digitalWrite(4,1); digitalWrite(5,0);
    digitalWrite(6,1); 
    delay(1000);
    // 3
    digitalWrite(0,1); digitalWrite(1,1); digitalWrite(2,1);
    digitalWrite(3,1); digitalWrite(4,0); digitalWrite(5,0);
    digitalWrite(6,1); 
    delay(1000);
    // 4
    digitalWrite(0,1); digitalWrite(1,0); digitalWrite(2,0);
    digitalWrite(3,1); digitalWrite(4,0); digitalWrite(5,1);
    digitalWrite(6,1); 
    delay(1000);
    // 5
    digitalWrite(0,0); digitalWrite(1,1); digitalWrite(2,1);
    digitalWrite(3,1); digitalWrite(4,0); digitalWrite(5,1);
    digitalWrite(6,1); 
    delay(1000);
    // 6
    digitalWrite(0,1); digitalWrite(1,1); digitalWrite(2,1);
    digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,1);
    digitalWrite(6,0); 
    delay(1000);
    // 7
    digitalWrite(0,1); digitalWrite(1,1); digitalWrite(2,0);
    digitalWrite(3,1); digitalWrite(4,0); digitalWrite(5,1);
    digitalWrite(6,0); 
    delay(1000);
    // 8
    digitalWrite(0,1); digitalWrite(1,1); digitalWrite(2,1);
    digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,1);
    digitalWrite(6,1); 
    delay(1000);
    // 9
    digitalWrite(0,1); digitalWrite(1,1); digitalWrite(2,1);
    digitalWrite(3,1); digitalWrite(4,0); digitalWrite(5,1);
    digitalWrite(6,1); 
    delay(1000);
}

 

④ 실물 사진

 

아래 그림은 7 세그먼트 캐소드 방식의 구동하는 실제 사진입니다. 아래와 같이 보드를 구성하고 결과물을 확인합니다.

 

 

---------------------------------------------------------------------------------------------------------------------------------

 

※ FND 소자설명 < 애너드 구동 방식 > 일 경우 .

 

□ 회로 구성

 

캐서드 방식은 GND에서 전원부를 연결 해 주었으나 , 애너드 방식은 5v 또는 3.3v에서 전원을 공급해줍니다.

 

□  아두이노 스케치

 

void setup()
{
    for( int pin = 0; pin < 7; pin++){
      pinMode(pin,OUTPUT);
    }
}

void loop()
{
    // 0
    digitalWrite(0,0); digitalWrite(1,0); digitalWrite(2,0);
    digitalWrite(3,0); digitalWrite(4,0); digitalWrite(5,0);
    digitalWrite(6,1); 
    delay(1000);
    // 1
    digitalWrite(0,0); digitalWrite(1,1); digitalWrite(2,0);
    digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,1);
    digitalWrite(6,1); 
    delay(1000);
    // 2
    digitalWrite(0,0); digitalWrite(1,0); digitalWrite(2,1);
    digitalWrite(3,0); digitalWrite(4,0); digitalWrite(5,1);
    digitalWrite(6,0); 
    delay(1000);
    // 3
    digitalWrite(0,0); digitalWrite(1,0); digitalWrite(2,0);
    digitalWrite(3,0); digitalWrite(4,1); digitalWrite(5,1);
    digitalWrite(6,0); 
    delay(1000);
    // 4
    digitalWrite(0,0); digitalWrite(1,1); digitalWrite(2,0);
    digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,0);
    digitalWrite(6,0); 
    delay(1000);
    // 5
    digitalWrite(0,1); digitalWrite(1,0); digitalWrite(2,0);
    digitalWrite(3,0); digitalWrite(4,0); digitalWrite(5,0);
    digitalWrite(6,0); 
    delay(1000);
    // 6
    digitalWrite(0,1); digitalWrite(1,0); digitalWrite(2,0);
    digitalWrite(3,0); digitalWrite(4,0); digitalWrite(5,0);
    digitalWrite(6,0); 
    delay(1000);
    // 7
    digitalWrite(0,0); digitalWrite(1,0); digitalWrite(2,0);
    digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,0);
    digitalWrite(6,1); 
    delay(1000);
    // 8
    digitalWrite(0,0); digitalWrite(1,0); digitalWrite(2,0);
    digitalWrite(3,0); digitalWrite(4,0); digitalWrite(5,0);
    digitalWrite(6,0); 
    delay(1000);
    // 9
    digitalWrite(0,0); digitalWrite(1,0); digitalWrite(2,0);
    digitalWrite(3,0); digitalWrite(4,1); digitalWrite(5,0);
    digitalWrite(6,0); 
    delay(1000);
}

 

캐서드 방식에서는 "1"이  LED를 켜줬지만, 애너드 방식은 그와 반대이므로 "0"을 출력해야 LED가 켜집니다.

 

□ 실물 사진

 

※ e4ds make에 등록된 자료는 e4ds와 지식 제공자(기업포함) 이외에는 상업화 용도로 사용할 수 없습니다. 영리 목적 이외의 사용 시 출처를 밝혀야 합니다.

Comments

관련 Make

관련 상품