VicPy 아두이노 기초 - 7세그먼트 사용하기 > 아두이노

Arduino

아두이노 강의 리스트

VicPy | 아두이노 기초 - 7세그먼트 사용하기

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
VicPy님의 아두이노강의 청각장애인을 위한 자막
15444294904971.jpg

 de 5

여러분 안녕하세요 이번시간에는 세븐 세그먼트 를 사용한 이런 예제를 한번
해보겠습니다
세븐 세그먼트 라고 하는 게 있는데 이거 가 무슨 특징을 갖는지를 이번
시간에 좀 살펴보고 요
세븐 세그먼트 를 이용해서 두가지 프로그램을 작성해 보겠습니다 하나는
0부터 9 국가직 계속해서 카운트가 반복되는 세간 세그먼트 람 구현해 볼
거구요
다른 하나는 버튼을 두 개 가지고 그 한 버튼을 누르면 값이 커지면 또
반대쪽 버튼을 누르면 값이 작아지는 이런 특성을 감는 예제를 만들어
보겠습니다
세븐 세그먼트 라고 하는게 있는데 세븐 세그먼트 는 지금 여러분 여기
보시는 요게 이제 세븐 세그먼트 니까
보며 난 이렇게 팔자가 써 있죠 밑에 점이 않아 찍혀 있구요
2.2 찍혀있는 부분인지 아래쪽에 요 이 세븐 세그먼트 는 이렇게 다양한
사이즈 걸로 있는데 이런건 이제 주로 요타 남았을 수도 있고 이렇게
여러개를 조합해 졌을 수도 있습니다
만약에 이렇게 여러 개의 조합하면 은 숫자를 많이 표현할 수 있죠
이렇게 하면 내 자리 숫자를 표현할 수 있죠 그래서 이런 3 검 세운
세븐 세븐 마트는
이렇게 어떤 숫자를 표시할 때 그 활용할 수 있는 장치 구요
지금 하면 보시는 것처럼 숫자를 표현하는 방식 위에 이렇게 되어 있습니다
팔자 라고 하는게 있고 밑에 점이 하나 있죠 그래서 세븐 세그먼트 는 이
화면 영역이 1 2 3 5 6 7개 7개를 쪼개져 있다고 해서 세븐
세그먼트 라고 부르는 거죠
7개의 선이 조합이 되서 0부터 9까지 숫자를 전부 다 표현할 수가
있습니다
그래서 이런 분할 등 영역은 각각의 고유한 이름을 갖고 있는데 a b c
e f g 해갖고 총 7개의 고유번호를 갖고 있습니다 a 부터 g 까지
그리고 이제 밑에 쪽에 이렇게 좀 이어 나 있는데 2.2 dp 라고
불리는 좀 이에요
이 디피가 이제 세븐 세그먼트 에 맨 아래쪽 기준점이 됩니다
그래서 ep 를 기준점으로 해서 요게 이제 숫자를 나타내는 거죠 예를
들어서 그 여기에는 세븐 세금은 das 부터 g 까지 모든 세금 1
세그먼트가 닥터 지면 숫자 8이 되는거구요
만약에 a 부터 f 까지 만 숫자가 켜지며 명의 되겠죠
진짜 가 빠지면 2 테두리 막혀 주니까 용이 되겠죠
만약에 b 하고 c 가 켜지며 이것은 숫자 1이 됩니다
그래서 이러한 세븐 세그먼트 는 a 부터 g 까지 값들을 가지고
0부터 9까지 값을 쉽게 표현할 수 있는 그런 장치입니다
이 세 븐 세그먼트는 두 가지 방식이 있는데 첫번째 방식은 아 노드 라는
방식이 있습니다 우리 실습 시간에 쓰는 2
세븐 세그먼트 장비는 아 노드 방식으로 이렇게 제어가 되는데요
아 노드 방식은 이 vcc 라고 하는 핀이 있는데 여기 이제 5 걸
보여드릴게요 우애 우리 아래로 이렇게 핀이 열 개가 있는데요 이 각각의
피는 요셉은 세그먼트를 제어하는 핀 입니다 그래서 전기를 오너 파는거 에
들어서 해당 위치를 껐다 켰다 하는 거죠 그래서 ap 는 요거를 이제
제어하는 핀이 줘 아 노드 방식에서는
이 전기를 a 에다가 전기를 인가하면 은
2a 영역이 꺼지게 됩니다 반대로 a 영역의 다 전기를 끊어 버리면 즉
명 볼트로 만들면 이 led 가 켜지지 줘
그래서 반대로 작동한다.고 보시면 되요 a 애가 전기를 넣으면 에리가
꺼지게 됩니다
al 전기를 끊으면 a 가 커지는 그게 바로 아 노드 방식이구요
비선대 없이 입이 선 에다가 여기 전기를 워 파는 것에 따라서 비서
님으로부터 되겟죠
시선은 여기에 하단에 이쪽입니다 시선에 다 전기를 넣으면 요게 표지 고요
dp 서는 요기 전원을 켰다 껐다 하는 겁니다
그 다음에 d 서는 여기에다 넣어주면 되구요
이 선은 요기 이 테이블을 연결해 주면 되겠죠
마찬가지로 f는 유교 쪽 케이블 그 다음에 지는 이쪽 선으로 해서
인가가 됩니다
자 이 숫자를 어떻게 만드는지 이해가 되시나요
각각 핀 열 개가 있는데 입힌 해서 8 7개 세븐 세그먼트 위치를 제어할
수가 있고 dp 까지 어 덮개를 제어할 수가 있습니다
그리고 전기를 인간은 vcc 가 있죠 그래서 이거를 이용하면 쉽게
세븐 세그먼트 갖고 숫자를 표시할 수가 있습니다
아 노드 방식 말고 캐소드 방식이 있는데 캐소드 방식은 핀 배열이 좀
다릅니다
아 노드 방식에 비해서 요 핀 위치 들이 조금씩 다르죠 그래서 지 fab
그다음 ad cdp 같은 이런 팀대 열이 좀 다르구요
그라운드를 연결해서 하게 돼 있고 캐 소드 방식은 아 노드 하고 반대로
전압을 5 볼트로 인가 하는 순간 켜지게 됩니다 그러니까 전기를 넣으면
켜지고
전기를 끄면 꺼지는 안 오자 그 반대로 작동 하 죠
그래서 이러한 캐 소드와 아 노드 방식에 의해서 세븐 세그먼트 를 제어할
수가 있구요
우리가 지금 실습 시간에 쓸 거 는 안 오드 방식을 가지고 만들겠습니다
그래서 이제 카운트 한번 만들어보겠습니다 카운터는 아주 간단해요
여기다가 세븐 세그먼트 하나가 있고 세븐 세그먼트 가 0부터 9까지 계속
반복되는
그런 역할을 하게 만들 겁니다
자 어떻게 만드는지 한번 생각해보죠 세븐 세그먼트 가 1 필요하겠죠
이 세 븐 세그먼트를 명 부터 9 까지 계속 무한반복 시키는 카운트 한번
만들어 볼게요
재료를 한번 알아보겠습니다 재료를 첫번째 알아보는 재료는 당연히 세븐
세그먼트 가 있어야 되고 그 다음에 이 세븐 세그먼트 도 일종의 led
이기 때문에 led 를 제어 할 수있는 그 led 전기 를 제어할 수
있는 조항이 않아 필요합니다
그래서 이런 저항을 가지고 새로 우드를 1 간단하게 만들어 보죠
회로도는 여기 화면에 잘 보시면 세븐 세그먼트 가 가운데 하나 위치를
하고 있고요
요셉은 세그먼트 팔짝 있는 세븐 3번 트가 있죠
세븐 세그먼트 는 utp 점 이 기준점이 돼서 이제 아래쪽이 되고 이걸
기준으로 숫자를 만듭니다 그래서 점이 항상 아래쪽에 온게 이렇게 해야
되죠
그 다음에 아까 안 오더라고 테 소드에서 각각이 케이블 연결하는 방식에
대한 설명을 했었죠 그래서 여기에 보시면
입힌 의 위아래 이렇게 다섯 개씩 있습니다 다섯 개를 어떻게 연결
하느냐에 따라서 아 노드와 캐스트로 돌을 가지고 세븐 세그먼트 를 제어할
수 있었죠 쇼핑 있죠
입힌 들을 여기가 꼬 줘 가지고 제어할 수가 있습니다
그래서 노드 방식으로 제어 하기 위해서 지금 화면에 보시는 것처럼
디지털 핑 하고 이 전원을 인가하는 핀 이렇게 만든 거죠
어 일단은 우리아 비무에서 5 볼트 짜리 전원을 예 그
브레드 보드에 다 연결했습니다 그래서 브레드보드 에서 5 볼트 짜리 전원
해서 vcc 를 인가 하는 거죠
vcc 앞에서 우리 공부했던 아 노드 방 시키죠 vcc 를 아래쪽 깊이
쪽을 갖고 있는 아래쪽 가운데 그 핀의 다음에 응결 해주고요 연결할 때
이 조항을 하나도 없습니다 조항을 연결을 하지 않으면 이게 이제 그
충격을 좀 먹기 때문에 저항을 1 연결 해 줬구요
그 위쪽에 다 가 각각 a 부터 g 까지 의미하는 그 핀 들을 각각
이렇게 2 3 5 6 7 8 9 해가지고 연결을 시켜줍니다
이렇게 연결시켜 주면 이제부터 이 세 븐 세그먼트를 디지털 핀을 이용해서
온오프 시킬 수 있는 거죠 아까 우리 설명했던 것을 바탕으로 소스 코드를
어떻게 만든 잠 알아보겠습니다
지금 우리가 해야 되는거 는 0부터 9까지 이렇게 값을 계속 반복하는
프로그램을 만들고 싶은 거죠
이런 특정 패턴을 닫고 있는 것을 그 반복문을 이용해서 쉽게 구현할 수
가 있는데요 이런 반복문을 이용하기 위해서는 아두이노 에서는
배열이 라는 개념이 좀 필요합니다
배열이 라고 하는 것은 똑같은 형태의 자료형을
연속적으로 처리할 수 있을 때 쓰는 그런 기법 인데요 두이노 에서는
지금 이런 식으로 배열을 선언할 수 있습니다
요 배열 선언 한 방법은 차후에 이런
그 시 10불 강좌에서 좀 더 자세히 다루겠습니다
그래서 여기 보면은 재미난 주치 개나 있습니다
0 0 0 0 1 그 다음에 1 0 1 0 1 먹이되 갖고 이렇게 패턴을
해서 총 10개 패턴 이렇게 정의되어 있죠
요 패턴은 뭘 의미 하냐면 세븐 세그먼트 를 각각 제어할 수 있는 걸
의미하죠 그래서 잘 보면 은
7개의 값이 정의되어 있죠 그리고 아까 세븐 세그먼트 의 7개의 각
기억나시죠 이거하고 1 1 매칭 시켜서
온오프 시키는 거죠 0과 1을 가지고 세븐 세븐 1t 의 그 전기로 넣고
싶어서 글자를 표현하는 겁니다
이런식으로 해서 숫자를 표시하는 걸 만들구요
그 디트 라고 하면 배열 하나 만들었습니다
배열은 여기 보시는 것처럼 또 차수가 2개인데 2차원 배열을 선언했습니다
2차원 배열에 대한 내용도 차후에 좀 알아볼 거구요 일단은
8 그 0부터 9까지 표현할 수 있는 것을 배워 리라는 것을 가지고
만들었다는 것만이 해주시면 될것 같구요
이렇게 만든거 를 세법에서 초기화를 시킵니다
그래서 여기 보시면 여기 초기 하는 코드가 있죠 그래서 핀 모드를
잡아주고 각각 축이 하죠
p 모드는 아까 우리 앞에서 이번부터 9번까지
2 그 세븐 세그먼트 핀트를 연결 시켰죠
입힌 들은 led 이기 때문에 키는 거죠
따라서 핀 모두의 방향은 나오십니다 입력니기 때문에 아웃풋 방향으로
핀을 설정해주면 세법에서
2 아드 그 아두이노 에서 세븐 세그먼트 를 제어할 수 있게 되겠죠
그 다음에 핀이 마지막 그냥 아 더 있는데 9번은 우리가 dp 핀 이라고
해서
세븐 세그먼트 아래쪽에는 동그란 점 있죠
그거에 대한 내용입니다 그래서 그 점 물 킥에 따라 고 해서 디지털 it
에다 구검 핀 연결 하고
하이루 해주면 그 빨간색 점이 들어오는 거죠
이렇게 초 br 을 시켰습니다 셋업에서 그 다음에 루프 루프 에서
계속해서 반복하면서 뭐 하냐면 0부터 9까지 값을 계속 1초 마다 한번씩
카운트를 해주는 거죠 그래서 여기서 0부터 9까지 코먼 포 반공 문을
이용해서 계속 반복 시킵니다
1초 주기로 그래서 폼 오는 이 초기 값 0부터 12 되기 전까지 집
9까지 i 값을 하나씩 증가하면서 이 포의 루프 요 부분을 계속 반복하는
거죠 그래서 1초에 한번씩 디스플레이 디지털 라는 함수에 다가 i 값을
개성도 하면서 보안 반복을 합니다
2 디스플레이 디지털 라고 하는 것은 뭐냐면 숫자를 표시하기 위한
사용자가 직접 정의한 함수 입니다
디스플레이 디트 함수에서는 요 인자로 들어온 넘 넘 이라는 m2 un
이라는 값을 해석해서 실제 그 세븐 세그먼트 에다가 그림을 그려준 역할을
하는 거죠 그래서 이완을 보면은 이번 핀을 기준으로 잡고 폼 오늘 돌면서
디지털 라이트 라고 해서 해당 핀 에다가
디지털 값을 쭉 갖다 쓰는 거죠
이렇게 쓰게 되면 무슨 역할을 하냐면 세븐 세그먼트 에 값을 계속 바꿔
주게 됩니다
꼭 반복문을 이용하면서 어이 반복문을 우리가 갖고 있는 디지털 라고 하는
디트 즈 라고 하는 요 별 수가 있는데요 요 * 쑤
아까 그 2차원 배열을 선언했다고 말씀을 결 수 있죠 거기에 0부터
9까지 계속 반복되는 패턴을 집어 넣은 거죠
결론적으로 이 코드를 실행을 하면 은 그 세븐 세그먼트 값이 0부터
9까지 계속해서 반복되게 됩니다
1초에 한번씩
그 바이트 라고 하는 것은 그 아두이노 가 제공하는 c 언어 10불
언어의 기본 자룡 인데 보통 0부터 255까지 의 값을 처리할 수 있는
변수 0 입니다
여기에서는 발 t 형으로 2차원 배열을 소원 했구요 디지틀 주라고 하는
값을 선언했고
이 선언을 하게 되면 이게 2차원 이면 10개 곱하기 7개에서 70개
바이트가 선언 된거죠
7:00 칸에 바이트 0부터 250을 담을 수 있는 70 간의 정보가 쭉
연이어서 만들어진 거구요
이언 이어서 만들어진 첫번째 걸을 첫번째 차원 두번째 걸을 두번째 차원
이라고 부릅니다
그래서 배열에서 이렇게 꺽 쎄로 대괄호 억스 이렇게 만든거 를 차원
이라고 부르죠
2 억새가 몇 개 있느냐에 따라서 며 차 배열이 됩니다 컥 쎄 가 하나
있음 의 1차 2개 있으면 2차 3기 있으면 3차 앵 게 있음에 n 차
배열이 되는 거죠 그래서 이렇게 꺽쇠 로 해놓고 아까 ddt 주라고 하는
아이트 배열을 선언했을 때 우리가 2차 잖아요 억새가 이렇게 두 두 벌이
있으니까
2차원 배열이 인데 2차원 배열에 쉽고 파계 7인이 까치 10개 저안에
그래서 숫자가 70개가 이렇게 선언되어 있습니다 안에
그리고 각각의 이 차수 앞에 있는 큰 차수가 이렇게 한 줄이 줘
한줄의 갖고 한 줄이 일곱 개씩 차 있다라는 술입니다
그래서 총열 줄인 데 각각의 줄일 곡 개씩 차있다
그래서 이거를 표시하기 쉽게 대가로 를 넣게 묶어 졌습니다
그래서 10박 에 7을 보면 여러분들은 아 저거 는 2차원 배열이 다
그리고 이거는 그 행위 10 깨고 그 다음에 17 개인 그런 70 개
짜리 바이트가 선언 되어 있다라는 걸 이해하시면 됩니다
그리고 왜 두 번째가 이제 이거 아까 말씀드린 7을 타는 거죠
그리고 이런 하나하나 행은 덕이 부터 이렇게 들어가는 거죠
디트 가 0 1 2 3 회 같고요 게 이제 4번째 인식된 위치라는
소리 고요 그 다음에 네 번째 두 번째 를 가리키는 것은 행에 사이
그 배열을 0부터 시작합니다
0 1 2 3 행에 두번째 0 1 2 그래서 여기가 디트 에 디트 g
의 사코 4
ie 가 바로 요 0 을 가리키는 거죠 그래서 대열에서 는 이렇게 다차원
배열을 선언할 수가 있고요
이 차수를 이용해서 선언된다 첨 배열에서 는 실제
지금 보시는 것처럼 특정 위치를 갈 수가 있습니다
배열은 무조건 0부터 읽어야 되요 0 1 2 3 0 1 2 그래서
디트 즈 사업 ie 가 가리키는 값은 0이 되는 거죠
자 지금 우리가 작성한 것을 한번 보죠
이안 오드 방식으로 연결된 단 이런 p 있는데 입히면 아까 a 부터 g
까지 이렇게 할당 되어 있다고 말씀드렸죠 그리고 각각의 p 는 a 부터
g 까지 이렇게 선언되어 있습니다
이것들을 제어 하기 위해서 우리는 이러한 배 11 만든 거죠
1번 이라고 하는게 들어가면 1번은 아 노드에서 끄는 거죠
보니까 당연히 거 지죠 0이 들어가면 안 워드에서는 당연히 키는 거죠
노기가 켜지 겠네요 영이 또 들어가면 abc 잖아요
c 가 켜지게 쬲 a dc 지니까 d 가 의 위치하는 일이 꺼지는 거죠
abcde 를 잃지 않은 일이 없이 꺼졌습니다
a b c d e f f 를 위치한 은영이 켜져 있으니까 사는 쿄 지겠죠
그 다음에 지가 역시 켜져 있습니다 그러면 1 0 0 1 1 0 0 을
가리키는 것은 실제로는
숫자 를 나타내는 거죠 그 숫자 4를 이러한 형태의 숫자 배열로
간단하게 표시할 수 있습니다
그리고 이러한 표시된 것을 이 핀번호 에다가 매핑 해주면 세븐 세그먼트
가 작동을 하는 거죠
이렇게 작동하기 위해서 우리는 녹이다 가 1초에 한번씩 0부터 9까지의
숫자를 계속해서 표시 해 준 거죠
디스플레이 디즈니 씨 라는 함수로 출 하면서 이렇게
호출 해준 거고요 이 함수는 나중에 우리 자세히 알아보게 찜한
값이 들어오면 들어온 값을 갔다가
2차원 배열에 있는 걸 갔다가 이렇게 해주는 거죠
아까 디트 라고 해서 사라는 값이 들어오면 사회에 있는 그 0 1 0 을
배워 를 갔다가 디지털의 다가
1 북한을 쓰겠죠 유복한 을 싹 세팅 해 주겠죠 그러면 요 문장이
실행되면서 led 가 쫙 켜지면서 세븐 세그먼트 의 숫자가 표시될 겁니다
그래서 여기에 들어온 넘 이라고 하는 값을 갔다가 실제
세븐 세그먼트 표시해주는 거죠
그래서 이거를 이제 실행을 시키면 자동으로 0부터 9까지 가 카운트가
되게 됩니다
그래서 실제 전기를 인가 해서 한번 실행해 보겠습니다
미리 핀을 다 꼬 전 왔는데요 요 부분이 바로
d 피기 때문에 아래쪽 이라고 보시면 되요 숫자 아랫 쪼
그래서 여기다가 저는 이렇게 인가 하게 되면 어 숫자가 0 부터 1 2
3의 계속 증가하게 되죠 증가하는 그 사이 사이의 간격은 1초 입니다
우리가 카운트 이미 줄어 줬으니까
그래서 이렇게 카운트를 만들 수 있죠 이런 카운티 여러분 좀 어디서 많이
보셨어요
우리 영화 같은데 보면 테러범이 폭탄테러 할 때 이렇게 카운트 만들고
거죠
그거하고 똑같은 월 이렇게 만드는 겁니다
우리 이런 타이머를 예를 들어서 이런거 여러개 동시에 여러개 이렇게
설치해주면
표현할 수 있는 값이 범위가 드러나죠
그래서 이런 식으로 해주면 그런것도 만들 수 있겠죠
타고 같은거 게임을 할 때 점수를 올리는 카운터를 간단히 만들수 있겠죠
이런 식으로 두 자릿수
뭐 내 자리 수로 하면은 더 큰 수를 다룰 수도 있겠죠
이거 를 여러 개 연결하고 버튼을 잘 조합하면 우리 개 상기 도 만들 수
있을 거에요 그런 숫자를 계산은 개 상기도
그래서 이러한 카운트 하는 걸 알아봤습니다
계속해서 버튼을 연결하는 세븐 세그먼트 예제를 알아보도록 하겠습니다
이번에 알아볼 예제는 요셉은 세그먼트에 버튼을 두개 달아서 한 쪽 버튼을
누르면 세븐 세그먼트 에 표시되는 숫자가 증가 가 되구요
다른 쪽 버튼을 누르게 되면 세븐 세그먼트 숫자가 감수 되면 그런 예제를
한번 만들어 보도록 하겠습니다
기본적으로 필요한 재료를 좀 알아볼 건데요
세븐 세그먼트 하나의 하나가 있어야 되고요 그 다음에 하나는 증가되는
머튼 하나는 감소되는 버튼에서 버튼이 두개가 필요합니다
그리고 395 엄 좋아하나 하고 ck 저항 2개가 필요합니다
이 저항을 이용해서 간단한 회로를 한번 보죠
여기 보면은 버튼이 두개가 이렇게 들어 있죠
2 버튼 2개 하고 버튼 두 개의 프로팀 상태를 처리하기 위한 ck 오메
조항이 록 연결되어 있구요
여기에 세븐 세그먼트 회로가 있는데 이 세븐 세그먼트 회로는 앞서 살펴본
예제 하고 동일합니다
그래서 이 세븐 세그먼트 해로를 보면은 이번 핀 부터 시작해서 쭉 연결이
되어 있고 실제 이제 우리가 추가 를 변경한 부분은 여기 있는 버튼
드립니다 그래서 버튼들을 보면은 하나의 버튼이 여기 보시는 11번 핀 의
연결되어 있구요

댓글 0개

등록된 댓글이 없습니다.

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu