e4ds Connect
- 제 목 [ 기초 ] 아두이노 실습 - 7 Segment LED 카운트 하기
- 작성자 주피터 조회 : 9,458 좋아요 : 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가 켜집니다.
□ 실물 사진
순번 | 제목 | 등록자 | 등록일 | 조회 |
---|---|---|---|---|
53 | [웨비나] 라즈베리 파이 Pico W IoT 개발 환경 구축하기 ㅡ Part 2 | E4DS MAKE | 22.09.06 | 9606 |
52 | [웨비나] 라즈베리 파이 Pico W IoT 개발 환경 구축하기 ㅡ Part 1 [6] | E4DS MAKE | 22.09.06 | 11787 |
50 | [무료 강좌] 5분안에 끝내는 그라운드의 이해 | E4DS MAKE | 22.07.29 | 14552 |
49 | [무료 강좌] 그라운드가 있는 이유, 그리고 전압과 전류에 대한 이야기 | E4DS MAKE | 22.07.29 | 10846 |
47 | [무료 강좌] 7세그먼트 디스플레이에 관한 진실 | E4DS MAKE | 22.07.29 | 10753 |
35 | 라즈베리파이 4 OpenCV 4.1.2 ( opencv_contrib 포함 ) 설치하기 [4] | 주피터 | 19.12.12 | 43020 |
34 | [로봇 팔 제어 프로젝트] STM32 MCU를 활용한 원격 로봇 팔 제어 [1] | Dongdon | 19.12.10 | 29977 |
33 | [로봇 팔 제어 프로젝트] 블루투스 통신을 이용한 6관절 로봇 팔 제어 | Dongdon | 19.12.09 | 11447 |
32 | [STM32 MCU 제어 가이드] 버튼 입력 – LED 출력 동작 제어 [2] | Dongdon | 19.11.25 | 9867 |
31 | 블루투스 모듈 Set-up 및 블루투스 통신을 이용한 서보모터 제어 | dmsrn13** | 19.11.20 | 11793 |