e4ds Connect
- 제 목 [ 기초 ] 아두이노 실습 - 7 Segment LED 카운트 하기
- 작성자 주피터 조회 : 9,462 좋아요 : 0 댓글 : 0
- 작성일 2019-10-25 오후 3:44:12
-
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가 켜집니다.
□ 실물 사진
순번 | 제목 | 등록자 | 등록일 | 조회 |
---|---|---|---|---|
27 | [로봇팔 제어 프로젝트 2] 디지털 입력을 이용한 PWM 서보모터 제어 | dmsrn13** | 19.11.13 | 8908 |
26 | [로봇팔 제어 프로젝트 1] 시리얼통신을 이용한 서브모터 제어 | dmsrn13** | 19.11.11 | 10618 |
25 | [ 기초 ] 아두이노 실습 - 동작 감지 센서 [1] | 주피터 | 19.10.28 | 12058 |
24 | [ 기초 ] 아두이노 실습 - 초음파 센서를 활용한 거리측정 | 주피터 | 19.10.28 | 12388 |
23 | [ 기초 ] 아두이노 실습 - 디지털 온도계 만들기 | 주피터 | 19.10.28 | 12278 |
22 | [ 기초 ] 아두이노 실습 - 광센서(CDS)를 이용한 LED 켜기 | 주피터 | 19.10.28 | 9677 |
21 | [ 기초 ] 아두이노 실습 - 어두워지면 점점 밝아지는 가로등 만들기 | 주피터 | 19.10.28 | 12031 |
20 | [ 기초 ] 아두이노 실습 - 7 Segment LED 카운트 하기 | 주피터 | 19.10.25 | 9462 |
19 | [기초] 아두이노 실습 - 신호등 만들기 | 주피터 | 19.10.25 | 10429 |
18 | [ 기초 ] 아두이노 - 스탠드 조명 만들기 | 주피터 | 19.10.25 | 12224 |