마이크로비트로 블록 코딩하기 10
상태바
마이크로비트로 블록 코딩하기 10
  • IC뱅큐
  • 승인 2019.05.30 09:00
  • 댓글 0
이 기사를 공유합니다

마이크로비트 레인보우 LED 조작하기 ①

마이크로비트(Micro:bit)는 영국의 BBC에서 제작한 코딩교육용 교구다. 비슷한 제품으로는 아두이노가 대표적인데, 아두이노와 달리 마이크로비트는 크기가 더 작고 센서와 LED, 버튼을 내장하고 있어 좀 더 쉽게 사용할 수 있다.

또한, 마이크로비트는 웹사이트에서 블록을 이용해 코딩하고, 바로 컴파일할 수 있다는 것이 장점이다. 또한, 안드로이드, IOS환경에서의 애플리케이션도 정식 지원하며 모바일로도 코딩이나 블루투스를 이용해 업로드할 수 있다.

 

마이크로비트 레인보우 LED 조작하기

마이크로비트의 경우 코딩과 피지컬 컴퓨팅을 동시에 체험할 수 있으며, 아이들도 쉽게 따라 할 수 있도록 쉽고 재밌게 만들어진 코딩교육용 교구이다. 가장 처음 코딩 혹은 프로그래밍을 배울 때 Hello, World! 를 배우듯 피지컬 컴퓨팅에서 PLC를 다뤘던 시절부터 LED를 조작하는 것이 가장 기초적이지만 가장 많이 쓰이는 LED를 심화한 레인보우 LED를 조작하는 방법을 알아보자.

마이크로비트 레인보우 LED를 조작하기 위해서는 기존 마이크로비트 Dot-Matrix LED가 아닌 RGB 값과 타이밍을 조절할 수 있는 레인보우 LED라는 것이 필요하다. 레인보우 LED의 경우 여러 종류가 있지만 그 중 Yahboom의 레인보우 LED를 활용했다. 

 

파란색 LED를 시계방향으로 돌려보기

첫 번째로 LED가 시계방향으로 돌아가며 ON 되는 코딩을 한다. 마이크로비트 웹코딩 페이지에 접속 후 [고급] – [확장]버튼을 누른 후 “NeoPixel”을 입력해 라이브러리 함수를 만들어 준다.

[그림 1] NeoPixel 함수
[그림3]
[그림2]

이 블록코딩은 pull up 저항을 설정할 수 있는 블록과 P2 신호에 의해 LED를 24개 쓸 것 인지, 색상은 어떻게 쓸 것인지 정한 후, 무한반복 실행을 통해서 24개의 RGB LED를 이용해 파란색 LED를 돌리는 프로그램을 만들어 본다.

[그림4]
[그림3]

[기본]탭의 [시작하면 실행]블록을 꺼낸 후 [핀]탭의 [P0의 저항을 pull-up 으로 설정]블록을 꺼낸 후 P0와 up의 [그림 3]처럼 만들어 준 후 나머지는 [Neopixel] 탭에서 [strip 에 Neopixel at pin p0 with 24 leds as RGB (GRB format) 저장] 블록, [strip show color red], [strip show]를 [그림 3]처럼 순서대로 나열해 배치한다.

[그림5]
[그림4]

다음으로는 [기본]탭의 [무한반복 실행]블록을 꺼낸 후 [그림4]처럼 [Neopixel]탭에서 [strip rotate pixels by 1]과 [strip show]블록을 나열한다.

[그림6]
[그림5]

[그림5]의 블록코딩은 [시작하면 실행]블록에서 pull up, pull down 저항에 대한 설정, 레인보우 LED를 몇 개 쓸 것인지, LED의 색상을 어떤 색상을 쓸 것인지, 설정한 LED를 보여줄 것인지를 설정 후에 [무한반복 실행]블록에서 LED를 돌려보는 블록코딩을 만들었다.

[그림7]
[그림6]

[그림6]에서 만든 블록코딩을 마이크로비트에 업로드한 뒤 레인보우 LED에 장착하였다면 [그림 6]처럼 LED가 돌아가는 것을 확인할 수 있다. 자세한 영상은 다음과 같다.