아두이노 기초 - 삼색 LED 사용하기 > 아두이노

무료강좌-디비라

Arduino

아두이노 강의 리스트

※ 가장 하단이 첫강좌입니다

VicPy | 아두이노 기초 - 삼색 LED 사용하기

본문

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

 4 de 5

이번 시간에는 3세계 led 를 사용한 예제를 살펴보겠습니다
3 섹 열리 들으라고 하는 게 무엇인지를 쫌 이번시간은 살펴보고 요 그
다음에 3세 결 이들을 이용해서 색을 바꾸는 방법에 대해 알아보겠습니다
우리 마지막에 버튼을 누르면 해당 버튼 그 매핑할 색깔이 표시될 수
있도록 프로그램을 짜는 방법에 대해서도 알아보겠습니다
이번 시간에 살펴볼 3 3 갤 2 리는 그 지금 보시는 것처럼 그 다리가
내게 달려 있는 led 입니다
이 led 는 종류가 상당히 많이 있는데요 여기 보시는 것처럼 이렇게
그 파란색도 있고 빨간색 노란색 그 다음에 이렇게 아무것도 없는 이런
색도 있죠 그래서 이러한 다양하여 새끼 있는데 이것들은 보통 다리가 두
개 짜리 는 단색 입니다
led 라고 하는 것은 안에 이제 다이오드가 들어있어 가지고 빗을
발생하는 그런 장치 줘
이 빚을 발생한 장치 중에 이렇게 다리가 4개인 이런 led 를 3세계
dd 라고 하는데 이 다리 4개 짜리 led 를 이용하면 은 각각의 빛의
삼원색 인 rgb 를 넣어서 색깔을 마음대로 바꿀 수가 있습니다 그래서
요 4개짜리 led 는 아주 다양한 색깔을 표시할 수 있죠
그런 네가 질의 red 가 있고 이렇게 기판에 조립되어 있는 똑같은
형태의 되겠죠 led 가 있습니다 그래서 이번 시간에는 이런 led 가
어떤 특성을 갖고 있고 이걸 어떻게 제어하는 g 에 대해서 알아보겠습니다
3세 갤리 되는 그 빛의 삼원색 을 제어하고 제어하는 기능을 갖고
있는데요
led 가 다리가 얘기해 줘 이 빛의 삼원색 이라고 하는 것은 우리가
빨강 초록 파랑을 빛의 삼원색 이라고 하죠
이 물감의 3원색 여러분 혹시 아시나요 물감의 사람 4만 색은 빨강 노랑
파랑이 줘
그래서 우리 학교 다닐때 빨강 노랑 파랑 을 가지고 이렇게 밀감 조합하는
것을 수업시간에 공부 하잖아요
마찬가지로 빛의 삼원색 은 빨강 초록 파랑 입니다 그래서 우리가 보는 이
가시 광선은 빨강 처럼 탈항 을 섞어서 모든 빛을 표현할 수가 있는데
이러한 기본적인 3월 세계 원리를 이용해서 우리가 tv 나 pc 같은
모니터 화면에 다가 색깔을 qc 하는 그런 장치를 만들 수가 있는 거죠
그래서 이 기본적으로 이제 3색 led 는 이러한 빛의 삼원색 으로
표현할 수 있도록 안에 장치가 들어 있습니다 그래서
빨강 초록 파랑 2 이렇게 제어할 수 있게 들어가 있구요
각각 다리가 이 빛의 삼원색 을 제어할 수 있는
처리를 할 수 있습니다 그래서 지금 보시는 것처럼 빨강 초롱 파랑을
이렇게 외부에서 전기를 넣어주면 그 전기 값이 0 부터 5 볼트 까지
사이에서 왔다갔다 하겠죠
그건 얻는 전기 값에 세기에 따라서 빨강 표 롱 팔아 게
빛의 강약에 2 정의 되구요 이것들이 같이 조합이 되서 하나의 색깔
보이게 됩니다
이러한 led 를 이용해서 값을 넣을 수가 있는데 이런 연구 병 볼트
에서 오버월드 까지 이렇게 led 값을 넣어줄 수 있는 것은 바로
아두이노 가 제공하는 pwm 이라는 기능 때문입니다
우리 앞 인도에서 공부할 때 기본적인 걸 이제 한번 정리해 볼게 아드
이론은 기본적으로 디지털 핀과 아날로그 핀을 이렇게 제공을 하죠
2 디지털 피는 다시 전기를 온오프 시키는 기능
그래서 영화고 5 볼트 만 내보내는 기능을 가진 핀과 그 다음에 전기
이를 영화고 볼트 사이의 값을 계속 바꿔줄 수 있는 pwm 이라는 핀으로
구성되어 있습니다
디지털 피는 일반 영화고 볼트를 냈어요 는 그냥 디지털 팀과 2
주기적으로 0 과오를 반복 시켜서 로 하고 하이 상태를 만들어주는 그런
pwm 이라는 기능을 처리하는
그런 핀 들로 구성돼 있는 거죠 pwm 이라고 하는 것은 펄스 위드
모듈레이션 이라고 해서 그
00 볼트 영이 인제로 줘 그 다음에 5 볼트 오벌 타이 영과 5 사이에
펄스를 만들어 주는거죠 주파수를 그래서 주파수 폭의 변화를 만들어 줄 수
있는 그런 전제 장치 입니다 그래서 우리 아두이노 에는 이러한 pwm
핀이 들어 있죠 그래서 여기 봄 쉬며 는
요 보디에 조그맣게 pwm 이라고 써있어요 이제 써 있는 부분들이
이러한 주파수 폭을 변화시켜서 어떤 처리할 수 있는
그래서 연구하고 사이의 값을 바꿔줄 수 있는
할 수가 있습니다 아두이노 는 기본적으로 이 지털 핀을 통해서 로우와
하이 를 표시할 수가 있죠
그로 와 하이 를 표시할 수 있는데 이런 노하 이에 표시하는 것을 좀
자주 주기를 바꿔가면서 표시할 수가 있습니다 이게 이제 pwm 이 줘
기본적으로 아 디노는 이 pwm 을 표시할 때 전기를 온오프 시킬 때
기본적인 주기가 0.00 2초 정도 됩니다
그래서 뭐 전개를 이었다 끊어 딸을 0.002 조 주기로 이렇게 할 수가
있는 거죠 그래서 이런 것을 우리는 우리가 아는 헤르츠 r 과는 단위가
있는데 전 전지 전자 해줬지만 단위가 있는데
아디 노노 같은 경우에 500회 를 쭉 정도로 이렇게 디지털 핑을 온오프
할 수 있는 기능을 갖고 있습니다
그 500회 렛츠 1초 동안 500회 르 7을 500번 거 답했다 하니까
실제 언제 어 것 아꼈다 는 죽이는 0.002 주가 되는 거죠 그래서
이러한 전합 차가 0 볼트 에서 볼트가 왔다 갔다는 거죠
이 5배 캣츠 주기로
그래서 출력전압 언 인제 0 볼트 오벌 트가 이렇게 왔다갔다 하는 거고요
이 주기에 의해서 이제 밖에 신호를 줄 수가 있습니다
이런 심어주는 것을 잘 보면 은 5 볼트가 통하면 이게 이 그래프가
위쪽에 티저 영 볼트가 되면 그래프가 이렇게 내려가 겠죠 그래서 그래프가
이렇게 톱니바퀴 형태의 이렇게 만들어 지게 됩니다
그래서 디지털 신호는 이렇게 톱니바퀴 형태로 그래프가 이징 그래프가 그려
주는 거죠 그래서 만약 그 하이로 에 대한 2
톱니 바퀴를 만드는 데 요 만드는데 이제 그 pwm 은 요 주기를 설정할
수가 있는거죠 이 변환에 대한 주기 그 주기를 이용해서 좀더 재미난 그런
구성할 수가 있습니다
이런 변환이 할 때 아두이노 같은 경우 5 볼트 에서 25% 1.25
볼트가 되면 그런 변화를 갖고 있고요
0 볼트 에서 5번째 사이에 원하는 값을 바꿀 수가 있습니다
그래서 이러한 변화는 주기를 갖고 있다는걸 아셨으면 되겠구요
이제 저 pwm 이라는 걸 이용해서 2 3 세계 led 에 값을 변경할
수 있습니다
3 세계 led 값을 어떻게 변경할 수 있는지 알아 보죠
일단 3세 열리 d 가 색이 자동을 바뀌게 하기 위해서 3세계 led 가
하나 필요합니다
회로는 매우 간단하죠 그 3세 열리 비가 이렇게 1 필요하고요
이 3색 led 에 이렇게 핀 연결하는 게 중요하겠죠 그래서 3색 led
에 그 핀이 그라운드 빨강 초록 파랑으로 나올 수 있게 이렇게 구성
해주면 됩니다
이 3색 led 그 지금 여러분께 를 갖고 계신 것을 잘 보면 욕이 핀을
연결할때 이 pwm 의 이 물결 무늬 기회가 있는 부분들이 있는데 요기다
연결을 해주셔야 되요 그래야 이 pwm 의 주파수 변환 주기 를 이용해서
모드를 이용해서 색을 바꿀 수가 있습니다
지금 여기 보시는 것처럼 요 배선을 이렇게 연결을 했죠
어우 우리도 이 실제 여기 보시는 것처럼 제가 이렇게 3색 led 패널이
있는걸 가지고 이렇게 연결을 했습니다
여기 보시는 rgb 로 바꿔서 연결 해 줬죠
그리 패널을 잘 보면 은 여기가 이제 rgb 가 써있죠 rgb 그 다음에
-
그래서 그라운드가 - 고 해 가지고 이것들 그대로 이렇게 구성했습니다
이렇게 구성을 해 놓고 지금 보시는 것처럼 소스 코드가 이제 작성이
필요하죠 그대로 나두면 제 3세계의 작동 안 하겠죠 그래서
레드 연결한 11번 그 다음에 그린 연결한 10번 블루 연결한 9번 에서
3세기 led 에 각각 빛의 삼원색 을 처리하는 선을 이렇게 연결해줍니다
그 다음에 이제 코드를 보면 아내 랜덤 씨드 라고 하면 함수가 나 있고
안 rod 드가 있는데
아날로그 리드는 뭐 그냥 영이 아날로그 값을 읽을 한수리 죠안 rop 는
근데 현재 우리는 아날로그 핀의 연결하기 아무것도 없죠 그래서 그 어떤
값이 유튜브 모르겠지만 0부터 1024 1023 까지 사이엔 어떤 값이
익힙니다
플로팅 상태는 값이 있을꺼고 랜덤 시드는
난수 발생 장치에 초기화 함수 입니다 그래서 세법에서 초기 하는
부분에서는
이 빛의 삼원색 을 나타내는 그 값들을 그 냉담하게 추출하기 위해서 난수
발생 장치를 초 비하시키는 코드가 들어 있습니다
실질적으로 이제 루프에서 보면은 계속해서 애가
1초에 한번씩 반복하면서 이 세 문장을 반복하게 쭉 한 번씩
일체 한번씩 반복하면서 뭘 하냐면 은 레드 값을 255 255 255 n
더 랜덤 은
난수를 발생시키는 함수입니다 난수를 발생 시켜서 레드의 다 갔어 주는거죠
그리 내다가 써주고 불회사 써 주게 됩니다
그래서 이런 작업을 반복하게 되는데 랜덤 씨드 라고 하는 거에 대해서 좀
알아 보면 은
랜덤 시드는 키 값을 이용해 쌓은 스스로 발색 켰을 때 초기화 시켜주는
부분에 역할을 해줍니다
기본적으로 이런 초기화 시킬 때는 여기다가 초기화 값을 넣어 줘야 되는데
이게 무슨 말이냐면
2 난수 발생 정책 c 므 는 그 예측할 수 없는 숫자가 발생하는 게
가장 중요하죠
그런데 이 랜덤 남 랜덤 시즌 안 랜덤 가지고 난수를 발생 시키게 되면
컴퓨터가 일정한 주기를 갖는 패턴으로 반복하게 됩니다
좀 문제가 있겠죠 날 순대 이 일정한 패턴이 반복되면
그래서 낸 다음 cd 에서 일정한 패턴이 반복되지 않도록 초 이 값을
바꿔 주죠
일반적으로 프로그램에서 랜덤 쉬기에 초기가 바꿔 주는 것은 그 타이머
시간을 많이 이용합니다
그때 우리가 쓰는 타이머 시간을 계속해서 시간이 변하죠
그 초기 값이 키드 세팅이 바뀌기 때문에 난수 발생 장치에 초기화에 많이
사용이 되는데 지금 우리가 쓴 아두이노 에는 타이머가 지금 시간 값을
저장하고 있는 타이머가 존재하지 않죠 그래서 아날로그 리드 라고 하는거
0 범피 늘 가지고 그냥 0부터 1023 사이에는 어떤 값이 인지
모르겠지만 그것을 계속 갔다 바꿔 주는 거죠
야 날로 그리드는
그 키값이 있는건데요 아날로그 편해서
야 날로 그립이 에 연결되는 아날로그 서는
어용 선이 연결되어 있거나 년별 됐건 똑같습니다
2 아날로그 d&d 에서는 계속 상태가 조금씩 변합니다
이걸 플로팅 이라고 하는데 플로팅 상태가 되서 그때그때 값이 계속 변하기
때문에
아두이노 와 실행될 때 아날로그 d&d 에서 똑같은 값을 읽을 확률이 좀
없겠죠
이러고 확률이 뭐 처음 24분의 1 정도 되겠죠 그래서
랜덤하게 값이 인식이 되서 난수 발생 장치를 초기 하게 됩니다
어 랜덤 함수 는 그 난수를 실제 발생시키는 그 함수입니다 그래서 랜덤
에다가 실제 값을 넣어주면 그 값에 범위 만큼 이제 난 수가 발생해
되는데
랜덤 에드가 지금처럼 255 를 넣어 주게 되면 이 난수 발생 함수가
0에서 255 사이의 값을
발생 시키는 거죠 그래서 낸 더 맘 수는 그 난수를 발생시키는 인자를
난수를 발생 익히고자 하는 최 독 체고 큰 인자 값을 넣어 죽에 넣어
주는 그런 함수 구요
지금 렌덤 255 라고 쓰는 것은 0부터 255
이만의 난수 값이 생성되게 하는 거죠
이 난수 발생 함수를 255 로 설정한 이유는 우리가 그 rgb 를
처리하는 거에 있어서 좀 테크닉을 발휘 하기 위해서죠
그래서 그 레드 값 그 다음에 그리니까 그리고 블루 깝 이거를 처리할 때
그 이외의 50 255 0부터 255 년 2의 8승 으로 표현할 수 있죠
256
그래서 8bit 를 이용해서 255 사이의 값을 변경시킬 수 있습니다
알과 지와 블루의 값을 쭉 계속 섞을 수가 있죠
이렇게 rgb 를 3개를 섞어서 8bit 씩 세계를 섞으면 은
8승 이애 팔수 해서
요 세 개를 섞으면 총 표현할 수 있는 그 숫자가 파리 3번 서 끼니까
3 그 24조 이 24승
e14 성우를 섞고 여기에다가 이제 우리 보통 그 우리가 쓰는 컴퓨터
같은 경우에는
요 오이의 8승 짜리 rgb 3개의 다가 투명도를 1 또 섞습니다 그래서
투명도를 해서 2의 8승 에서 투명 들 250 6단계로 해서 또 하나
섞어서
이거를 이애 32승 으로 표현하죠
이 24승 이상으로 표현한 것을 우리는 투로 칼라 라고 부르죠
그래서 우리 컴퓨터에서도 rgb 해가고 투로 칼라 색상이 라고 하는게
있는데 이 24승 그 투명도 까지 24 비의 32층 이런 식으로 표현하는
트로 칼라는 우리가 인간이 눈이 인식할 수 있는 거의 모든 색상을 표현할
수가 있습니다
지금 우리가 그 렌더 망치 에서 255 라고스 값을 써 준 것은 이런
투로 칼라 를 이용해서 여기에 아주 다양한
그 rgb 값이 섞여 가 빠지 다양한 모든 색깔의 표현될 수 있는 걸
표현하기 위해서 만든 겁니다
실제 어떻게 작동하는지 전원 링가 에서 한번 확인해 볼게요
선언을 여기다 이렇게 인가 하구요
실제 전원 인가 해 보면 얘가 1초 단위로 계속해서 난수를 발생 시키면서
rgb 값을 바꾸죠 보면은
계속해서 색깔이 변합니다 이 변화는 색깔은 총 번 1세계 범위는 e10
4승 만큼 변하는 거죠
24승 이 우리가 얘기하는 추 로컬 하기 때문에 인간이 감자는 모든
색깔을 이렇게 값이 변하게 됩니다
물론 지금 보는 이 led 가 아주 고성능 led 가 아니라서 이렇게
bc 아주 정밀하게 제어는 되지 않습니다 그래서 가까이서 보면 이 rgb
각각 벤 부 색깔이 이제 따로따로 섞여서 표현이 되고 그게 이제 좀 멀리
떨어져서 보면 마치
조합에 대해서 표시되는 것처럼 보이게 되죠 그래서 이러한
그 빛의 삼원색 을 이용해서 어떻게 그 rgb 를 제어하는 g 를
살펴봤습니다
계속해서 버튼을 눌렀을 때 그 버튼에 매핑되는 색깔을 푸시 하게 하는
방법에 대해서 알아보도록 하겠습니다
어필을 한 제로는 3세계 led 하나고 버튼 3개 그 다음에 저항 3개가
필요합니다
그 지금 보는 것처럼 요 3색 led 를 연결을 시켜 주고요
3세 갤리 자체를 연결시켜 주고 그다음에
여기에다가 그 버튼 세계를 그 쭉 추가한 거죠 그래서 버튼 세계는 아주
간단합니다
rgb 색상을 넣어 주는 거죠 그래서 버튼을 누르면 그 값에 말 베팅 뎅
rgb 세팅이 이젠 울려 주는 거죠
여기 보시는 것처럼 rgb 에 대한 값들은 pwm 4t 의 9 10
11번에 이렇게 연결이 돼 있구요
그 다음에 버튼에 관련된 것은 234 번에 이렇게 연결되어 있습니다
그리고 이제 외부에서 전호 볼트를 넣어 주었구요
그저 이런 식으로 버튼을 넣어 좀 넣어준 다음에 실제 아두이노 코드가
어떻게 작동된 작성되는 잠을 알아보겠습니 까
앞서 살펴보았던 가고 동일하게 레드 그린블루 를 각각 pw 핀 pwm 핀
9 10 11번에 맵핑을 했죠
그 다음에 이제 버튼을 세게 추가 했으니까 그 각각의 버튼을 나타내는
레드 버튼 그림 버튼 블루 버튼 을 각각 그 디지털 핀 4번 3번 2번
에 연결을 했습니다
그리고 이런 2번 3번 4번 에 연결되어 있는 디지털 핀 버튼 눌리는
거에 따라서 rgb 값을 바꿔 줘야 되기 때문에
전술을 초래하고 해서 rgb 라는 변수 이렇게 추가를 했구요
그 다음에 초기 않은 코드를 봤더니 우리가 버튼을 추가 했으니까 버튼은
사실 임프 장치 잖아요 어떤 값이 입력받는 장치 빼서 핌 뭐 de 붓을
이렇게 썼습니다
그렇죠 레드 버튼 그림 버튼 블루 버튼 에서
세가지 버튼이 이렇게 입력될 수 있도록 초기화 코드를 작성할 했구요
그 다음에 이제 루프에 들어가지 보면은
그 디지털 리더 라고 하는 거 가지고 버튼 읽어 옵니다 그래서 빨간색
계획 할당하는 버튼이 눌려 쓰면 하인은 이제 전기가 들어갔으며 눌러 쓰면
이란 소리죠
아래 값을 증가시켜 라
아래 255 가 되면 은 영어로 초기화 시켜야 그래서 버튼을 한번
누를때마다
레드 값이 성분이 강해 지는 거죠 마찬가지로
그림 버튼을 누르게 되면
지헤 값을 하나씩 증가 시키는 거죠 그래서
그림 버튼을 누를 수록 그 전체적으로 집값에 관련된 색깔이 강해 지겠죠
계속해서 블로 버튼이 있습니다 블루 버튼 그 동일 한데요
플로 버튼을 누르면 블로 버튼이 계속 그 파란색 계열을 강화시키기 겠죠
그리고 255 까지 가면 다시 영어로 해서 초기화 시킵니다
그래서 이렇게 읽어들인 값을 갔다가 아날로그 고라이트 해가지고 쓰는 거죠
이 pwm 그 채널은 그 피는
디지털 핀 아날로그 피는 동시에 쓸 수 있습니다 그래서 아날로그 라이트
라고 써주면 안 알맞지 아날로그를 제외하는 것 좀 써 지게 되는 거죠
그래서 그 pwm 에 대해서는 그 추후에 이런 관련된 강의에서 자세의
다시 한번 말씀을 드릴게요
그래서 아날로그 라이트에서 방금전에 레드 색깔 에다가
이 변경된 레드 버튼을 눌러서 변경돼 아래 값을 설정을 해 주고요
그림 버튼을 설정해주고 블루 버클 설정해줍니다
그리고 0.01 초 만큼 기다리게 되죠
이렇게 코드를 작성하면 은 이제 해당 버튼을 눌렀을 때 색깔이 바뀌게
됩니다
어코드 에 될 정도 알아볼게요 우리가 이제 코드를 보면 이런 코드가
보이는데 이 플러스 플러스 는 도 아기를 나타내는 코드 입니다 그래서 이
플러스 플러스 가 있으면 그 해당 * 시에 값이 하나 씩 증가한다는 수리

2 플러스 플러스 가 있는데 마찬가지로 마이너스 - 가 있습니다
2 - 마이너스는 그 해당 값이 에서 이를 뺀다는 소리에요
그래서 플러스 플러스와 마이너스 - 가 있고
2 플러스 플러스 왑 마이너스 - 는 각각 변수를 기준으로 앞에 놓는 거
같 위에 놓는 거 가 있습니다
그래서 지금 이렇게 앞에 놓는 연산자 비해 넌 선정했는데
차이점은 뭐냐면 앞에 놓게 되면 해당 문장을 실행한 는 순간 곧바로 a
값을 증가 시키죠
그 다음에 뒤에 플러스 플러스 가 있으면 해당 문장을 끝내는 순간 a
값을 증가 시키게 됩니다
그래서 앞에 있으면 어떤 그 값이 그 문장의 실행되는 순간 곧바로 적용이
되는거구요 뒤에 있으면 해당 문제의 끝난 다음에 값이 처리가 될 수 있는
그런 상태입니다
그래서 우리가 이렇게 플러스 플러스 를 이렇게 봐주면
이 문장이 품 오니 작동 하기 직전에 이 값이 변경 일

댓글 0개

등록된 댓글이 없습니다.

 
Total 61건 1 페이지
썸네일
제목

Menu