초급 예제

누구나 쉽게 따라해볼 수 있는 쉬운 예제들입니다. 가볍게 도전~!

[지니어스키트 블록] 2. RGB LED로 무드등 만들기

2020-05-07 14:24:58

[이전 학습가이드] 블록코딩 시작하기

 

 

LED란?



한쪽 방향으로 전류가 흐르도록 제어하는 반도체 소자를 다이오드라 합니다.

다이오드 중에 전기 에너지를 빛 에너지로 변환하는 것을 발광 다이오드, 즉, LED (Light Emitting Diode)라 합니다.
발광색은 사용되는 재료에 따라서 다르며 자외선 영역에서 가시광선, 적외선 영역까지 발광 할 수 있습니다.

LED는 백열전구와 달리 필라멘트를 사용하지 않으므로 외부 충격에 대해 강한 내구성과 긴 수명을 가지고 있으며, 낮은 전압으로도 밝은 빛을 얻을 수 있습니다.
이러한 특징으로 LED는 휴대전화부터 조명기구까지 널리 사용되고 있습니다

 

 

 

RGB LED란?


 

RGB LED는 빨간색, 초록색, 파란색 3개의 LED를 하나의 LED로 합친 LED를 RGB LED라고 합니다.

 

빛의 3원색인 빨강, 초록, 파랑색 3가지 빛을 합성을 이용하여 다양한 색을 표현합니다.


빛의 3원색의 합성


 

3색 LED에 대한 이미지 검색결과

 

 

기본적으로 오렌지보드에서 LED를 사용하기 위해서는 저항이라는 부품을 추가로 연결해줘야 합니다.

 

그러나 지니어스키트 쥬니어팩에서는 아래와 같이 생긴 RGB LED모듈을 사용하므로 따로 외부 저항 연결 필요없이 직접 보드에 연결하여 사용하시면 됩니다.

 

 

부품 목록

NO 부품명 수량 상세설명
1 오렌지보드 나노 + 확장쉴드 1  
2 RGB LED 모듈 1  
3 점퍼 케이블 4 F/F

 

 

부품명 오렌지 보드 RGB LED 모듈 점퍼 케이블
파트

 

 

하드웨어 making


 

브레드보드

* LED가 RGB 순이 아니라 GRB 순으로 핀이 배치되어있습니다.

1. RGB LED 모듈의 B핀을 오렌지보드 나노 확장쉴드 D11번핀에 연결합니다.

2. RGB LED 모듈의 R핀을 오렌지보드 나노 확장쉴드 D10번핀에 연결합니다.

3. RGB LED 모듈의 G핀을 오렌지보드 나노 확장쉴드 D9번핀에 연결합니다.

4. RGB LED 모듈의 -을 오렌지보드 나노 확장쉴드 G라인핀에 연결합니다.

 


 

 

소프트웨어 coding



RGB LED 색상별로 ON / OFF 제어하기(1)

전체 코드

 

 

 

RGB LED를 초록색, 빨간색, 파란색 순으로 1초마다 깜빡이는 코드입니다.

(초록색 - 9번핀 / 빨간색 - 10번핀 / 파란색 - 11번핀)

 

* LED가 RGB 순이 아니라 GRB 순으로 핀이 배치되어있습니다.

 

 

 

블록 설명

 

 

 

오렌지보드의 핀을 통해 디지털 신호를 전송하는 블록입니다.

RGB LED가 연결된 핀에다가 ON / OFF 신호를 전송하여 해당핀에 연결된 LED를 키고 끕니다.

 

 

 

 

지정한 시간만큼 코드를 중지하는 블록입니다.

이 블록이 실행되면 모든 블록들이 정지하게 됩니다.

 

* 위 코드에서 기다리기 블록이 없으면 디지털 핀에 켜기 / 끄기 신호를 동시에 주기 때문에 원하는 동작이 실행되지 않습니다.

 

 

 

RGB LED 색상별로 ON / OFF 제어하기(2)

전체 블록

 

 

위 코드와 마찬가지로 RGB LED를 초록색, 빨간색, 파란색 순으로 1초마다 깜빡이는 코드입니다.

 

디지털 핀을 ON/OFF 하는 블록 대신 디지털 핀을 255로 정하기 블록을 사용하였습니다.

 

 

 

블록 설명

 

 

 

 

 

오렌지보드의 신호핀을 통해 아날로그 신호를 전송하는 블록입니다.

 

단순하게 ON/OFF 만 제어하는 디지털 신호와 다르게 0 ~ 255사이의 값을 전달하여 LED의 밝기를 제어할 수 있습니다.

(255 = 최대 밝기 / 0 = 끄기)

 

위 블록은 3, 5, 6, 9, 10, 11번핀만 사용 가능합니다.

 

 

 

RGB LED를 랜덤한 색상으로 제어하기

전체 코드

 

 

 

RGB LED를 랜덤한 색상으로 1초마다 켜는 코드입니다.

 

 

 

블록 설명

 

 

0부터 255까지 숫자 중에 무작위로 1개의 숫자를 가져오는 블록입니다.

 

최솟값과 최댓값 사이에 모든 정수 중 1개가 나옵니다.(0부터 255까지 모두 나옵니다.)

 

 

 

위와 같이 아날로그 신호 블록에서 아날로그 값 대신 랜덤 블록을 넣으면 핀번호에 연결된 LED의 밝기를 랜덤한 값으로 제어 할 수 있습니다.

 

 

 

순차구조

 

 

 

엔트리에서 작성한 블록 프로그램은 기본적으로 위에서 아래로 순차적으로 실행됩니다.

이처럼 정해진 순서에 따라 차례대로 블록을 실행하는 논리구조를 '순차구조'라고 합니다.

 

 

위에서 실습한 RGB LED 제어 코드들도 모두 위에서 아래로 순차적으로 실행됩니다.

 

한번 블록들은 순서대로 확인하여 오렌지보드가 블록 순서에 맞게 동작하는지 확인해봅시다.

 

 

 

[다음 학습가이드] 스위치로 조명 제어하기

 

 

kocoafab

안녕하세요. 코코아팹 운영자입니다.

코코아팹, kocoafab, 튜토리얼, tutorial, SW코딩, 피지컬컴퓨팅, 블록코딩, EPL, 엠블럭, Mlbock, 3색 LED, RGB LED