<펄러비즈 하트 사진> 

출처 : http://blog.naver.com/amin0831/220667134588

 

 사진에 보이는 것처럼 펄러비즈로 만든 하트 모양을 마이크로비트 네오픽셀 LED를 이용하여 만들어 보려고 한다.  


재료는 아래와 같다.

 * 마이크로비트 1개 

 * 네오픽셀 RGB LED 27개

 * 점퍼선 3개

 * 하트모양 아크릴 앞 뒤 한개씩

 * 고정 너트(3개)와 볼트(6개) 



완성된 것을 먼저 보자

<27개의 네오픽셀에다가 레인보우적용한 것>


<27개의 네오픽셀에다가 내가 원하는 색을 적용한 것>


첫번째화려하지만, 오늘 목표두번째다. 자 이제 작해 보자! 크게 두 부분으로 나눠서 해야 된다. 한 부분은 내가 원하는 동작을 할 수 있게 재료들연결 해줘야 한다. 즉 피지컬(물리적인) 부분이다. 다른 한 부분소프트웨어다. 내가 원하는 색으로 네오픽셀 LED동작하게 끔 마이크로비트 블록코딩을 해야 한다. 먼저 소프트웨어 부분 부터 해보자.


 

<간단하게 목표 정리한 노트>

 

 다음은 종이에 정리한 내용이다.


 * 얼굴 부분과, 눈 부분 각각 제어

   한번에 전부 제어 할려면, 눈 모양 만큼 똑같은 걸 반복해야 해서, 

   반복을 피하려고 얼굴 부분과 눈 부분을 분리하여 제어 한다.


 * 오른쪽 하트속의 숫자

   네오픽셀 위치다. 위치는 0부터 시작 하기때문에 0~26을 사용 한다.


 * 을 제어할 네오픽셀 위치

   눈의 위치는 5, 6, 8, 9, 12, 13, 15, 16다.

   00 00 ->  5  6  8  9

   00 00     1223 1516


 * 눈 모양은 8가지로 한다.

   OO OO | OO OO | OO OO | OX  XO | XO  OX | XO  XO | OX  OX | OO OO 

   XO XO  | OX  OX | OX  XO | OO OO | OO OO | OO OO | OO OO | XO  OX




종이에 정리한 내용을 가지고 블록코딩을 하자.  microbit-하트 (8).hex

얼굴 부분




눈 부분

 

얼굴 부분 - face 배열 변수에는 얼굴 부분에 해당하는 네오픽셀 LED 위치가 저장되어 있다.

*얼굴색바꾸기 함수는 face 배열 변수의 있는 값을 하나씩 꺼내 그 위치에 있는 LED 색을 그린으로 설정한다.


눈 부분 - eyes 배열변수에는 눈 부분에 해당하는 네오픽셀 LED 위치가 저장되어 있으며, eyeShape 배열 변수에는 0,1로 눈 모양을 표현한 값들이 들어 있다. 예들 들면 다음과 같다.

  00 00 -> 0, 0, 0, 0 

  0X X0     0, 1, 1, 0

*눈모양바꾸기 함수는 랜덤으로 0~7 중에 한 숫자를 선택하여 눈모양을 결정하고, eyes 배열 변수와 eyeShape 벼열 변수의 값들을 가지고 눈 모양 위치에 있는 LED 색을 정해진 색으로 지정한다


<블록코딩 사진>


얼굴 부분과 눈 부분을 쉽게 제어하기 위해 배열을 사용했다. 블록코딩으로 배열은 가독성이 떨어져 코드로 아래와 같이 표현 한다.

face = [0, 1, 2, 3, 4, 7, 10, 11, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]

eyes = [5, 6, 8, 9,
12, 13, 15, 16]
eyeShape = [[0, 0, 0, 0,
1, 0, 1, 0],
[0, 0, 0, 0,
0, 1, 0, 1],
[0, 0, 0, 0,
0, 1, 1, 0],
[0, 0, 0, 0,
1, 0, 0, 1],
[0, 1, 1, 0,
0, 0, 0, 0],
[1, 0, 0, 1,
0, 0, 0, 0],
[1, 0, 1, 0,
0, 0, 0, 0],
[0, 1, 0, 1,
0, 0, 0, 0]]

 

 


이제 다른 한 부분피지컬(물리적인) 부분을 보자. 완성된 피지컬 부분은 아래 사진과 같다.

<만든어진 하트를 마이크로비트와 점퍼선으로 연견할 사진>


<하트모양 아크릴 & 네오픽셀 LED>


내가 사용한 네오픽셀은 스트립 타입이다. 그래서 옆의 사진처럼 필요한 만큼 짤라서 쓰고 이어서 쓸수 있다. 개수로 27개가 필요하다. 아크릴은 예전에 수원 셀프제작소에서 레이저로 잘라 만든 것이다. 시중에서 파는 것이 아니다...... 일단 저렇게 고정해 놓고, 잘린 부분은 선으로 이어 주면 된다.

 

<선을 연결 하기 전>


<선 연결 후>


사진에 보이는 대로 래 한줄인 네오픽셀 스트립을 필요한 만큼 잘라 하트 모양을 만들고 잘려진 부분을 으로 연결한 것이다. 네오픽셀 스트립을 이용하는 이유는 3선으로(GND, +5V, DI)로 쉽게 제어가 가능하기 때문이다.

피지컬(물리적인) 부분은 이것으로 완성이다. 


네오픽셀 LED는 사용&제어가 쉬워서 응용할 수 있는 부분이 많다. 할 수 있는 것들을 찾아봐야 겠다.

블로그 이미지

김코치 나미쵸

컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

아주 오래전에 만들어 놓은 하트 RGB LED다. 아두이노로 동작 시킬때는 정상적으로 됐는데! 왜 마이크로비트로 할때만 빨간색으로만 나오냐구 ㅠㅠ. 그것때문에 관련 글을 작성할 때, 이걸 못 섰다. 마이크로비트3.3V으로 동작하고 그것 때문에 동작 안하나 싶어서 외부전원으로 5V 넣기도 하고, 다른 확장보드이용해서 해보기도 하고...... 많이 LED를 연결해서 그런가 싶어서...... 아래 사진처럼 연결 되어 있던 선들을 하나하나 잘라 테스트도 했다. 그런데도 원인을 찾을 수가 없었다.


혹시나 설마...... 테스트기로 아래 사진 부분에 있는 점퍼선이 도통이 되는지 확인을 해봤다. +V5 -> 삐~, DI -> 삐~, GND -> ...... 이런 젠장...... GND 점퍼선 플라스틱 부분 안쪽에서 끊어진 것이다. 


분명 그곳이 문제가 있다고 증상이 있었는데, 내가 무시한거 같다. 정상적이라면 밝게 색이 빛나야 하는데......

아두이노로 연결했을 경우       -> 색이 표현 됐다. 그러나 많이 떨렸다.

마이크로비트로 연결했을 경우 -> 빨간색만 나왔다

 -> 정상적으로 3개의 선이 연결 되면 동작하는데, +5V&DI만 연결 되면 빨간색으로 나온다...... <- 이미 경험했던 거다.


결국, 이런 저런것들을 무시한 채 한 덕분하지 않아도 될 것들을 하게 됐다. 다시 연결하고 다른 것으로 교체 하니 정말 잘 작동한다.^^


블로그 이미지

김코치 나미쵸

컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.