본문 바로가기 주메뉴 바로가기

1. 개요


작은 사이즈에 다양한 센서를 내장하고 있으며, 5*5 풀컬러 RGB 매트릭스로 멋진 표현이 가능합니다. 블록클리 기반의 Easy Blocks을 이용하여 센서 제어 및 IoT 복잡한 코딩도 손쉽게 가능하여 손쉽게 사물 인터넷 구축이 가능합니다. 물론 엔트리도 지원합니다.


간편한 조립성과 쌓으면 기능이 추가되는 쉴드 보드를 통해 확장이 가능하며 커넥터 방식의 센서 연결로 손쉽게 센서 연결이 가능합니다.


제품 구매 링크 : 링크 클릭 
 

2. 기본 사용법


2.1. 하드웨어


헥사보드 언박싱 영상입니다.



하드웨어 구성입니다.

 

2.2. Easy Blocks


1. 소프트웨어 실행


헥사보드는 블록클리 기반의 Easy Blocks로 프로그래밍을 합니다..

Easy Blocks는 아래 링크로 접근합니다..


http://Easyblocks.kr


아래 사진처럼 보드 선택에 헥사보드가 표시되어 있어야 합니다. ESP32라고 표시가 되면, 빨간 사각형의 보드선택을 클릭하면 열리는 보드 선택 창에서 헥사보드를 선택해 줍니다. 


 

 

2. USB 드라이버 설치


헥사보드는 CH340 드라이버를 사용합니다. 많이 사용하는 USB 드라이버이니 이미 설치되어 있는 분들은 설치하지 않으셔도 됩니다.

미설치된 컴퓨터는 USB Driver 설치를 클릭하여 파일을 다운 받은 후 설치를 진행합니다.



3. 헥사보드 연결 


헥사보드를 컴퓨터와 USB 케이블로 연결한 뒤, 연결하기를 클릭하여, 연결된 헥사보드를 선택한 후 연결을 클릭하면, ' USB가 연결되었습니다.' 라는 안내 메세지가 나오며 연결이 됩니다.




4. 코드 작성 


코드 작성은 일반적인 블록코딩과 같습니다. 좌측의 카테고리에서 명령 블록을 작업 화면으로 이동하여 연결합니다.


5. 업로드


오른쪽 상단의 업로드 버튼을 누르면 업로드가 완료됩니다.



 

6. 파이썬으로 코드 보기


'<>' 를 클릭하면 블록으로 작성된 코드를 파이썬으로 볼 수 있습니다.



 

7. 시리얼 모니터


시리얼 데이터를 받거나 보낼 수 있습니다.



 

8. AI 


​티처블머신 연동하여 인공지능 코딩을 할 수 있습니다.



9. 도움말


폄웨어 설치 방법 안내 및 설치 프로그램 다운로드, 프로젝트 예제, 블록 설명 등 도움말을 볼 수 있습니다.


 

2.3. 펌웨어 업데이트


헥사보드 펌웨어 업데이트는 아래의 경우에 사용합니다.

 1. 사용 중 오류가 계속 나서 초기화 하고 싶다.

 2. 새로운 기능이 추가되어 업데이트가 필요한 경우

 3. 엔트리 소프트웨어를 사용하고자 할 때

 4. 엔트리 사용 후 다시 Easy Blocks를 사용하고자 할 때


업데이트 후에는 PC와의 연결을 해제하였다가 다시 연결을 합니다.


Easy Blocks 우측에서  도움말(?) 클릭 후 '1. 펌웨어 설치 방법'을 클릭합니다.



 
펌웨어 업로더 소프트웨어를 다운받은 후 압축해제합니다.


main을 클릭하여 펌웨어 업로드 소프트웨어를 실행합니다.


헥사보드의 포트를 선택한 후, 원하는 업로드를 진행합니다. 유지보수나 업데이트의 경우 이지블록 업로드를, 엔트리를 사용하고자 할 때는 '엔트리 업로드'를 선택합니다.
이때, Easy Blocks 소프트웨어에 연결되어 있지 않도록 주의합니다.^^


 

엔트리 펌웨어가 업로드된 헥사보드는 전원을 연결하면 'HEXA & ENTRY' 라는 문구가 하얀색으로 표시됩니다.
Easy Blocks를 사용하려면 다시 Easy Blocks용 펌웨어를 업로드해주어야 합니다.

3. Easy Blocks 학습하기

 

Easy Blocks는 Blockly를 기반으로 제작되었습니다. 

일반적인 블록코딩 소트프웨어와 사용법이 비슷하며, 블록에 항목을 추가하는 방법이 좀 다릅니다.

아래 사진처럼 기어 모양의 '설정'을 클릭하면 추가할 수 있는 항목이 왼쪽에 나오고, 이 추가 블록을 오른쪽으로 붙여다 놓으면 항목이 계속 늘어나게 됩니다. 삭제하려면 왼쪽으로 버리면 됩니다. 완료가 되면, '설정'을 다시 클릭하면 없어집니다. 항목을 줄이고 싶으면 '설정'을 클릭하고 다시 왼쪽으로 옮기면 없어집니다.

문자열, 리스트, 함수 등은 이렇게 항목을 추가, 제거할 수 있습니다.



 

특히, 문자열의 경우 '출력하기' 명령 한 개는 한 줄에 표시 되기 때문에 자신이 보기 편한대로 추가하여 사용하면 좋습니다.


 

복사 붙여넣기는 기본적으로 선택한 명령블록만 복제가 됩니다. 아래 사진처럼 반복하기 등으로 묶여있는 것은 같이 복제가 됩니다. 낱개로 되어 있는 명령 블록 여러개를 한 번에 복제하고 싶을 때는 쉬프트키를 누른채로 선택 후 복제를 하면 됩니다.


프로그램은 모두 자동 저장됩니다. 연결 등의 문제로 웹브라우저를 새로고침을 하여도 직전 프로그램을 불러올 수 있습니다. 새프로그램을 작성하고 싶을 때도 그냥 새로고침 후 '아니오'을 선택하면 됩니다.

 

3.1. 디스플레이


헥사보드는 5*5의 풀컬러 LED 매트릭스를 가지고 있어 다양한 표현이 가능합니다.

문자를 출력할 수도 있고(영어만 가능), 원하는 위치의 LED에 색상을 지정하여 다양하고 예쁜 이모티콘을 만들 수 있습니다.

또한, RGB LED를 연결하여 제어도 가능합니다.


1. 기본 동작


아래처럼 코드를 작성한 후, 동작을 확인해 보겠습니다.


LOVE 문자열을 슬라이드 하고,
LOVE 각각의 문자를 1초씩 출력한 뒤
파란색의 웃는 얼굴을 보여주고

녹색 바탕에 핑크색 하트를 깜빡여 봅니다.


문자열 슬라이드는 첫 글자도 슬라이드 되도록 한 칸을 띄운 뒤 글자를 쓰면 좋습니다. -> ' LOVE'



 
 

2. 랜덤으로 색을 바꾸어 반짝이는 헥사보드 (for문, 변수)

 변수 i, j를 이용하여 헥사보드 LED와 별도의 RGB LED바(12개의 LED)를 PIN1에 연결하여 동작해봅니다.
 LED의 색상값은 0~255까지 넣을 수 있는데, 숫자가 클수록 더 밝아지겠지요^^
 기본 예제 6번 활용입니다.


 

3. 기울기 방향을 표시하는 헥사보드 (조건문, 자이로센서) 

 기본 예제 9번입니다.
 

 

4. 전자 주사위 만들기 (자이로, 조건, 변수)
 
 기본 예제 10번입니다.

 

3.2. 음악 연주


헥사보드는 제법 큰 소리를 낼 수 있는 부저가 장착되어 있습니다.

아래 블럭을 이용하여 음악을 연주할 수 있습니다.


 

음악을 연주하기 위해서는 몇 가지 팁이 있습니다.^^
네이버에 요즘 유행하는 음악이라고 검색하니, 르세라핌의 Perfect Night 가 떠서 이 노래로 설명드려 봅니다.
1. BPM으로 음표 당 시간 계산
 Perfect Night의 BPM은 136입니다. 1분에 4분 음표를 136번 연주하는 속도입니다.
 계산하면 4분음표 1개 당 대략 0.44초가 되겠지요. 8분음표는 0.22초, 2분음표는 0.88초

2. 반복되는 구간은 함수를 만들어 사용합니다.


 
3. 연속되는 음을 그냥 작성하면 하나의 음으로 들립니다. 아래 코드를 보면 8분 음표의 '도' 음이 2분음표 (0.88초)동안 울리게 됩니다.
 이 때, 소리끄기와 기다리기를 0.01초 추가하고, 이전 8분 음표의 0.22초를 0.21초로 줄이면 딱딱 끊어지면서 명료하게 음이 들립니다.



르세라핌의 Perfect Night 를 작성한 코드입니다. 

온라인에 공개되어 있는 16마디만 작성해 보았습니다. 나머지 부분도 작성해 보세요^^


코드 링크 -> http://naver.me/xFoZDGL5


 



BPM을 계산할 수 있는 BPM 계산기를 ChatGPT를 이용하여 만들어 보았습니다.
시간은 16분 음표 기준으로 소수점 2자리까지 구해서 계산했기 때문에 일부 구간의 시간이 약간의 오차가 있을 수 있는 점 참조하세요^^
예를 들면, BPM=120의 4분음표는 0.5초인데, 8분음표, 16분 음표와의 비례때문에 0.52초로 계산되는 경우 등입니다.

 
BPM에 따른 음표 시간 계산기

BPM에 따른 음표 시간 계산기

음표 지속 시간
2분음표 -
4분음표 -
8분음표 -
16분음표 -


음악이 연주되는 중에 디스플레이를 일정 간격으로 동작시키고 싶으면 이벤트 블록을 사용하면 됩니다.


예시) 심장이 뛰는 모습으로^^ 총 16마디에 한 마디가 1.76초이니, 32회 반복


 

3.3. 컬러 센서


3.4. 데이터


1. Data 기능 사용하기


헥사보드의 내,외부 센서들의 입력값을 엑셀파일로 저장하고 그래프로 표시할 수 있습니다.

그래프는 이미지로 다운로드가 가능합니다.



 
 

3.5. 시리얼 데이타


컴퓨터와 연결되어 Data를 주고 받을 수 있습니다.


1. Serial Data


 헥사보드로부터 전달받는 Data 를 표시합니다. 내장된 자이로 센서를 이용하여 좌우로 기울어지는 각도값을 표시하여 봅니다.



  

2. Send Data 


 간단하게 입력된 값을 표시해보고 전달 받은 LED 색상을 켜보는 코드입니다.

 시리얼로 보내는 데이터는 꼭 문자로 표시하여야 합니다. Send Data를 숫자로 입력해도 역시 숫자가 아닌 문자로 전송됩니다.



 

3. 딕셔너리 기능 알아보기

시리얼통신 이외에도 디바이스간 통신 등 여러가지로 원하는 데이터를 통신할 수 있습니다. 시리얼 데이타로 학습하기 좋기 때문에 여기에서 언급해봅니다.


 

3.6. 인공지능


티처블 머신을 활용하여 인공지능 활용 코딩을 할 수 있습니다. 시리얼 통신으로 학습 결과값을 받기 때문에 인공지능을 사용하기 위해서는 헥사보드와 컴퓨터가 USB케이블로 연결 되어 있어야 합니다.


1. 코드 작성 및 업로드

 

 펜을 보여주면 연두색, 센서을 보여주면 노란색을 켜도록 간단한 코드를 작성해 보았습니다. 작성 후 헥사보드에 업로드 합니다.

시리얼로 보내는 데이터는 'String(문자열)'로 오기 때문에 '빨강', '파랑', '노랑'은 문자로 넣어주셔야 합니다. 1, 2 같은 숫자도 문자로 전송이 되니 꼭 문자로 입력을 해주세요.


 
 

2. 티처블 머신 학습 및 업로드 후 링크 가지고 오기 



3. 인공지능 탭에서 업로드 링크 붙여넣고 모델 가져오기 클릭. 카메라 사용 권한 요청 허용. 



 
4. 각각 클래스별 확인 후 '실시간 전송하기' 클릭. 시리얼 통신을 통해 실시간으로 가장 높은 값이 전송됩니다. 학습 값이 보이지 않으면 종료 후 다시 불러오기를 합니다.
 프로그램을 수정하고자 할 때는 실시간 전송을 중지하고, 코드를 업로드 한 후 다시 실시간 전송하기를 클릭하면 됩니다.


5. 동작 확인
 

3.7. 와이파이


헥사보드는 WiFi을 지원합니다.


인터넷으로 연결되어 인터넷에 있는 정보를 가지고 올 수 있는데, 가장 대표적인 시간을 가지고 와서 시계를 만들어 봅니다.

아래 코드 중 빨간 사각형의 빈 문자열은 글자는 없지만 2칸을 띄운 공백이 있습니다.

처음 나오는 시간의 숫자가 너무 빨리 지나가서 넣었습니다^^


 


3.8. 디바이스 통신


헥사보드는 다른 헥사보드와 서로 통신을 할 수 있습니다.

2개의 헥사보드로 간단하게 송신측에서 A버튼,  B버튼을 누르면 수신측에서 LED로 A, B를  출력해 보겠습니다.


1. 송신하기



2. 수신하기


 

3. 양방향 통신

 아래처럼하면 양방향으로 신호를 주고 받을 수 있겠지요. 여기서 주의 깊게 볼 것은 비록 송신이지만 계속 반복하기가 아래로 내려가 있다는 겁니다. 위에 있으면 계속 반복하기를 벗어나지 못하고 계속 송신만 하고 있겠지요^^

3.9. 블루투스


블루투스로 데이터를 주고 받을 수 있습니다.


사용한 앱입니다.



Device에서 스캔 후 내가 정한 블루투스 이름을 선택하면 연결이 됩니다.



스마트기기에 블루투스 시리얼 터미널 앱을 설치한 후 간단한 프로그램 예제입니다.

블루투스 연결 상황을 디스플레이에 표시하고, 데이타를 받아 음을 연주합니다.





아래처럼 스마트기기로 데이타를 보낼 수도 있습니다.


4. 외부 입출력 장치 연결


헥사보드에는 3개의 I/O핀과 1개의 I2C핀이 있어 다양한 외부 센서를 연결하여 사용할 수 있습니다.

배터리 쉴드보드에는 3개의 I/O핀과 1개의 I2C핀, 모터 쉴드보드에는 DC모터 2개, 서보모터 2개의 커넥터가 있습니다.  

4.1. 온습도 센서


 온습도센서를 PIN1에 연결합니다.

온도, 습도 변수를 만들고, 각각 연결된 PIN1 을 적어줍니다. 출력하기는 한 줄로 나오게 하는 것이 보기 편한 것 같습니다.^^

 

4.2. 토양수분센서


 토양수분 센서를 PIN2에 연결합니다. 토양수분 센서는 아날로그 값으로 0~4095값이 들어옵니다. 이 값으로 수분값을 알아보기가 어려우니 Map 함수를 이용하여 백분율로 바꾸어 줍니다.

물 대신 물티슈를 이용하여 값을 측정해봅니다. 아래 사진을 보면 물티슈로 감쌌을 때 1860 정도, 그냥 대기 중에 있을 때의 값이 3600 정도로 나오네요. 수분이 많을 수록 값이 작습니다.

%는 당연히 안맞겠지요^^  





  
마이너스 값이 나오지 않도록 10~20정도 추가하고, 1840이 100% 일때이니 0~100을 100~0으로 바꾸어 줍니다. 이제 업로드 후 물티슈를 이용하여 테스트를 하면 정확한 백분율은 아니지만 그래도 보기가 많이 편해 졌습니다^^


4.3. 1602 LCD


 1602 LCD을 I2C 커넥터에 연결합니다. 케이블의 색상은 아래 사진처럼 연결합니다. 일반적으로 많이 사용하는 것은 5V 용이여서 3.3V용 LCD를 사용하셔야 합니다.  



 아래 내용을 작성해 보겠습니다.





참고로 1602 LCD에 표시될 내용을 미리 확인할 수 있도록 아래 표에 직접 미리 기입해 볼 수 있습니다. 몇 행 몇 열인지 금방 찾을 수 있겠지요?^^

1602 LCD 시뮬레이터

1602 LCD 시뮬레이터



 사용자 정의 문자는 다양한 모양을 직접 만들 수 있습니다.

4.4. 수중온도센서


 수중온도센서를 연결하여 측정할 수 있습니다


4.5. 초음파 센서


초음파센서를 연결하여 거리를 측정할 수 있습니다.
측정 단위는 mm 입니다.

초음파센서를 사용하기 위해서는 펌웨어 버전이 V1.3.2 이상 이어야 합니다. 
   (2024/9/11 이후 출고는 이 버전으로 출고가 되니 업데이트가 필요없습니다.)
   펌웨어 업데이트 방법 보기 링크 ->  https://happycreative.co.kr/manual/detail.php?idx=55#740

4.6. DC모터


DC모터를 사용하기 위해서는 모터 쉴드 보드가 필요합니다.

모터 쉴드 보드 살펴보기 -> https://happycreative.co.kr/manual/detail.php?idx=55#773

4.7. 서보모터


서보모터를 사용하기 위해서는 모터 쉴드 보드가 필요합니다.

모터 쉴드 보드 살펴보기 -> https://happycreative.co.kr/manual/detail.php?idx=55#773

4.8. 수위센서


수위센서는 아두이노에서 많이 사용하는 센서를 사용해 보겠습니다.

'헥사보드 아두이노 센서 연결 케이블'을 이용하여 극성에 맞게 연결합니다.



하단부터 점점 깊어질 수록 측정값이 높아집니다.
물에 닿자 마자 값이 확 올라가니 적정 수준의 값을 0%로 잡고, 최대값을 100%로 잡아 백분율로 표시해 보았습니다.

LED 문자열 슬라이드에 첫 번째 문자는 '1칸 띄어쓰기'로 공백을 넣었습니다.
첫 번째 숫자가 너무 빨리 지나가서요^^




 

5. Blynk IoT


Blynk는 IoT 를 매우 쉽게 운용할 수 있는 환경을 지원하는 플랫폼으로 PC 및 모바일 모두 지원합니다.

무료버전은 사용할 수 있는 기능의 한계가 있지만, 교육용으로는 매우 훌륭한 퍼포먼스를 보여줍니다. 회원가입이 필요하여 교육 전 회원 가입을 위한 e-mail를 개별 준비합니다. 


현재(240129) 무료버전은 아래와 같이 사용할 수 있습니다. 템플릿 당 5개의 데이타스트림을 쓸 수 있으니 무료버전으로도 충분히 교육이 가능합니다.^^



 
무료버전에서 사용할 수 있는 위젯


   

Blynk를 이용하는 기본 순서는

 템플릿 생성 -> 디바이스 설정 -> 데이타스트림 설정 -> 웹 대시보드 설정 -> 헥사보드 코드 작성 및 업로드 (이 작업은 먼저 해도 됩니다^^)입니다.


정확한 표현은 아닐 수 있으나, 템플릿과 디바이스 설정은 Blynk에 가상의 보드를 만든다고 생각하고, 데이타스트림은 가상핀에 입출력 데이터를 부여하는 것, 웹 대시보드는 이 데이터를 시각적으로 보거나 제어할 수 있는 위젯을 설정하는 것입니다. 즉, 우리가 보드에 입출력 장치를 케이블로 연결하고 코드들 작성하여 동작하는 것 처럼, Blynk에 만들어진 가상의 보드에 코드를 작성하고(데이타스트림), 입출력 장치를 연결하는 작업(웹 대시보드)과 비슷하다고 생각하면 될 듯 합니다.^^


설명은무료버전으로 PC를 위주로 하였습니다. 교육 환경에 PC와 스마트기기 2개 모두 준비하는 것이 어려울 수 있고, 사용방법이 거의 비슷하기 때문입니다. PC에서 데이터스트림까지 작성된 경우는 위젯만 해주시면 됩니다.

4.1. Blynk와 헥사보드 연동


1. 템플릿, Device 만들기


Blynk에 로그인 후 첫 템플릿을 생성합니다.

저는 템플릿 이름을 'First', 디바이스 이름은 'sooin' 이라고 하였습니다.^^






디바이스가 생성되었다는 메세지가 뜹니다. 


SAVE를 눌러 저장을 합니다.




AUTHTOKEN 을 복사합니다. 오른쪽을 녹색 박스를 클릭하면 자동으로 복사가 됩니다.





디바이스 선택은 왼쪽 Devices 카테고리를 클릭하여 Device name 을 클릭하고 Device Info 탭에서 선택할 수 있습니다.^^




2. Esay Blocks 코드 작성 및 업로드

와이파이 이름, 비밀번호, 블링크 인증번호(위에서 복사한 토큰 번호)를  기입합니다. 와이파이는 2.4G로 연결이 됩니다.
연결이 되었는지 확인하기 위해 녹색 미소 얼굴을 켜보겠습니다.


 




이제 헥사보드와 Blynk가 연동이 되어 추가 코드 작성을 통해 서로 데이터를 주고 받을 수 있게 되었습니다.

4.2. IoT 헥사보드 제어_LED


Blynk에서 헥사보드의 LED를 Blynk에서 on/off 해 보도록 하겠습니다.

이를 위해서는 아래 순서의 작업이 필요합니다.

 -> 데이터 스트림 설정
 -> 웹 대시보드
 -> 헥사보드 코드 작성 및 업로드 후 연결.


아래 설명은 PC로 하였고, 스마트기기의 App도 설정이 가능합니다. PC에서 데이터스트림까지 작성된 경우는 위젯만 해주시면 됩니다.

실 수업은 코드 작성을 위해 PC로 하는 경우가 많고, Blynk App도 PC와 대동소이 하기 때문에 App은 위젯만 설정하는 것으로 설명하겠습니다.

  

먼저 작업을 위해 Edit를 클릭합니다. 

작업 후에는 꼭 Save를 클릭하여 저장하는 것을 잊지 않습니다.^^


1. DataStream 및 Web Dashboard 설정 - PC



 ① New Datastream을 클릭하여 Virtual Pin을 선택합니다.
 


 ② 아래와 같이 설정하고 Create를 클릭하면 데이터스트림이 생성됩니다. Name은 한글로 작성해도 됩니다. 이 LED 핀은 가상의 0번 핀(V0)이 됩니다.



 
 ③ 웹대시보드 탭을 선택하고 스위치 위젯을 드래그앤드랍하여 가져다 놓습니다.



 ④ 설정을 클릭한 뒤 데이터스트림 선택란을 클릭하여 조금 전 만들어 놓은 LED를 선택합니다.


 ⑤ 켜지고 끌 때 보여줄 라벨을 간단히 ON/OFF 라고 적고 저장합니다.

 ⑥ 저장을 클릭하여 Blynk에서의 작업을 완료합니다.


2. 헥사보드 코드 작성 및 업로드

'V0' 의 핀 값이 변경되었을 때 'VirtualData0' 변수에 문자로 저장이 되고, 이를 다시 정수로 바꾸어 'LED' 라는 변수를 만들어 저장합니다. 
그리고, 이 값이 1이 들어오면 하트가 켜지게 되겠지요^^ 



블링크에서 헥사보드로 전달되는 데이터도 문자로 오기때문에 위 코드에서는 변수 'virtualData0' 을 정수로 변환을 해서 알아보기 편하게 LED 변수로 저장을 했습니다.
만약 그냥 쓰고 싶다면 아래 입력되는 '1'을 문자로 표시해 주어도 됩니다.



디바이스 탭으로 가서 선택 후 위젯을 클릭하여 헥사보드의 LED가 작동하는지 확인합니다.




3. 웹 대시보드 설정 - App


Blynk App을 실행합니다. PC에서 만든 디바이스가 보입니다^^

오른쪽 아래의 스패너 모양의 아이콘을 클릭합니다. 개발존으로 들어가서 만들어 놓았던 First 템플릿이 보이면 클릭합니다.



당연히 위젯이 없습니다.^^ 오른쪽 위의 '+' 모양을 클릭하면 위젯 박스가 나오는데 여기서 버튼을 선택합니다.


위젯은 손가락으로 약간의 시간을 누르면 이동시킬 수 있습니다. 적당한 위치에 놓고, 한 번 더 터치하면 버튼 위젯 설정창이 뜹니다. 데이타 스트림 선택을 위해 '+' 를 터치합니다.



만들어 놓은 LED 데이타 스트림을 선택하고, 우리는 On/Off를 스위칭 할 것이니까 Switch를 선택한 뒤, 디자인을 터치합니다.

위젯 이름을 LED로 적고, 중간 정렬을 합니다. 여기에서 여러가지 디자인을 할 수도 있습니다.^^
작성 후 'X'를 터치하여 위젯 버튼 세팅에서 나오고, 다시 화살표를 터치하여 위젯 창에서 빠져나옵니다.

다시 'X'를 터치하여 개발존에서 빠져나와 처음 디바이스를 선택하는 곳 까지 옵니다.
여기서 다시 내 디바이스를 선택하면, 디바이스를 제어하는 위젯이 나타나게 됩니다. 헥사보드에 전원을 연결한 뒤, Blynk에 연결이 되면(녹색 미소 LED 표시^^) 위젯을 터치해보면서 핑크 하트가 LED 매트릭스에 표시되는 지 확인합니다.

 
 

4.3. IoT 실시간 모니터링


헥사보드의 센서 입력 값을 Blynk 에서 실시간으로 볼 수 있도록 하겠습니다.

4.2. IoT 헥사보드 제어를 먼저 해보세요^^


1. 데이타스트림 및 웹 대시보드 설정


Developer Zone에서 템플릿을 선택하고 Edit 를 클릭한 뒤 데이타스트림으로 들어가 New Datastream -> Virtual Pin을 클릭합니다.





V1 핀에 값을 세팅합니다. 밝기는 일반적인 실내 조명이 300~1,000 정도이니 그냥 1,000 잡았습니다. 바로 비치는 햇빛은 32,000~130,000Lux 정도 된다고 하네요^^
(Integer -> 정수, double -> 실수, String -> 문자열입니다.)


웹 대시보드 탭으로 가서 라벨(Label)을 끌어다 놓고 설정을 클릭합니다.


밝기에 따라 라벨의 색상도 바뀌고 아래 쪽에 바 형태로 크기의 증감을 볼 수 있게 합니다. (이것 저것 눌러보면서 바꾸어 보세요^^)


저장을 클릭합니다.


2. 헥사보드 코드 작성 및 업로드 후 테스트

헥사보드에 있는 컬러센서로 밝기를 측정할 수 있습니다. 값은 Lux 값으로 나타납니다.


'밝기' 변수를 설정한 후 1초 마다 밝기 값을 Blynk의 V1 핀에 전송을 합니다.
그럼 위에 설정한 Label에 밝기 값이 표시됩니다.



코드 업로드 후 Blynk에 연결된 뒤, 값이 잘 표현되는 지 확인합니다.


차트와 같은 다른 다양한 모양의 위젯도 사용해 보고 스마트기기의 Blynk App 에서도 위젯을 추가하여 해보세요~^^
아래 영상은 App의 SuperChart 위젯으로 해 본 것입니다.

4.4. 자동화


Blynk 에서는 내 스마트기기의 앱이나 이메일 등으로 알람을 보낼 수도 있고, 정해진 시간에 동작을 시키는 등 자동화 설정을 할 수도 있습니다.


위에서 해본 밝기 값으로 어두워 지면 제 스마트폰의 App으로 알람을 보내보겠습니다.


Developer Zone에서 템플릿을 선택한 후 Edit를 클릭하고, Automation으로 들어갑니다. 그리고, Type을 sensor로 하고, Condition / Action을 On 합니다.

모두 선택이 되면 저장을 클릭합니다.




저장이 되면 왼쪽 카테고리에서 Automations 을 선택하면 어떤 자동화를 할 지 선택을 합니다.  
스케쥴, 디바이스 상태 변화, 일출/ 일몰 전후 시간대, 앱/웹에서 자동화 시나리오 등을 만들 수 있습니다. 우리는 밝기 값으로 알람을 보낼 것이니 Device State(디바이스 상태)를 클릭합니다.

 

제목을 바꾸고, 밝기와 is less than 을 선택한 후 밝기을 100 정도로 적어봅니다. 약간 어두움이 오면 정도이겠지요.
 => When   =>  밝기가 100보다 적어지면..   이런 뜻이 되겠지요.



Do this 에서 App 으로 알람보내기를 선택합니다.



보낼 사람 (기본적으로 현재 로그인해 있는 계정이 표시됩니다.)을 선택합니다. 다른 Blynk App 사용자에게도 보낼 수 있습니다.
알람의 제목과 내용을 적습니다.

저장을 하면 자동화가 마무리 됩니다.


이제 밝기를 100 이하로 해보고 내 스마트폰의 Blynk App으로 알람이 오는지 확인합니다.


4.5. Blynk App


6. 확장 보드


6.1. 배터리 모듈


배터리 모듈은 헥사보드에 전원을 공급하는 것 이외에 3개의 I/O핀과 1개의 I2C 핀이 있어 추가 외부 센서 연결이 가능합니다.

배터리 용량은 240mAh 입니다.  



헥사보드 시계 등 전원이 필요한 장치를 만들 때 유용합니다.^^

 

6.2. 모터 쉴드 보드


모터 쉴드보드는 각각 2개의 DC모터와 서보모터를 제어할 수 있습니다.


 

헥사보드와 연결커넥터를 이용하여 쉽게 조립이 가능합니다.
배터리 모듈과도 같이 연결이 가능합니다.


6.3. 헥사보드 카


7. 엔트리 학습하기


엔트리의 다양한 기능을 헥사보드에 적용할 수 있습니다.


엔트리에 연결하기 위해서는 엔트리용 펌웨어를 업로드하여야 합니다.
 -> 엔트리 펌웨어 업로드 하기 링크 


5.1. 명령어 살펴보기


1. 헥사보드



2. 센서


 


3. 네오픽셀



4. OLED



5. 무선통신


 

8. 기본 수업 교안


8.1. 디스플레이 활용


8.2. 음악 활동


1. 내가 들려주고 싶은 음악은?


 1) 4학년 이상, 4차시 정도

   - 음악에서 프로그래밍을 위한 필수요소가 아닌 것은 상황에 따라 넘어간다.

  

 2) 교육의 흐름

  -. 음악에 대하여 알아본다.

  -. 헥사보드로 간단한 노래를 프로그래밍 학습

  -. 내가 들려주고 싶은 음악, 사람, 이유를 적어보기

  -. 웹서핑으로 8~16마디 음악을 검색하여 프로그래밍 하기

  -. 연주 및 발표하기 ( 노래 제목은? 누구에게? 왜?)


 3) 교안

   -> 아래 사진을 클릭하면 PPT 실행 이후 다운로드 가능합니다.
   -> 헥사보드 교육을 위해 자유롭게 편집하여 사용하셔도 됩니다.

          -> 출처로 '창의와교육'만 표시 부탁드려요~ 


8.3. 체육 활동


1. 운동을 해볼까?


 1) 4학년 이상, 2~4차시 정도

   - 재미있는 몸 활동을 추가하여 시차를 조절할 수 있습니다.


 2) 교육의 흐름

   - 간단하고 재미있는 몸활동을 한다

   - 운동에 대하여 생각해 본다.

     : 운동의 필요성, 내가 좋아하는 운동 등

   - 스마트워치를 제작

   - 걸음 측정 스마트워치 프로그래밍

   - 윗몸 일으키기 스마트워치 프로그래밍
       => 수업 시간에 따라 선택


 3) 교안

   -> 아래 사진을 클릭하면 PPT 실행 이후 다운로드 가능합니다.

   -> 헥사보드 교육을 위해 자유롭게 편집하여 사용하셔도 됩니다.
      -> 출처로 '창의와교육'만 표시 부탁드려요~



 4) 프로그램 코드 다운로드
  -  걸음 측정 -> http://naver.me/xdp15OKX
  -  윗몸 일으키기 측정 -> http://naver.me/FzSEGapo

9. 스마트워치


헥사보드 스마트 워치는 헥사보드와 배터리 모듈을 연결하고, 나토 스트랩으로 손목에 찰 수 있도록 구성하였습니다.

이제 다양한 콘텐츠를 시작해 볼까요?^^


1. 스마트워치 만들기



9.1. 걸음 측정


스마트워치를 손목에 차고 걸으면서 걸음의 횟수를 측정해 보는 프로젝트입니다.


1. 걸음 측정의 방법

 1) 만보기 (과거 측정 방식)

   만보기는 스프링 끝에 달린 자석추가 수직 운동을 하면서 스위치에 근접할 때 마다 개수가 증가하는 방식으로, 가장 움직임의 변화가 큰 Z축을 기준으로 감지합니다.


 2) 스마트 워치/ 스마트 폰 (최근 측정 방식)

   최근 출시되는 기기들은 걷기, 달리기, 점프와 같은 운동 활동을 가속도 센서도 보다 정확하게 감지하여 추적, 계산할 수 있습니다.


2. 자이로 센서를 이용한 운동 변화 감지 및 기록

   먼저 헥사보드를 좌우로 움직여 가면서 걷기, 달리기, 점프의 각각의 상황에 어떻게 값이 변화하는지 측정해 봅니다.
   센서값을 시리얼 모니터로 전달하기 위해서는 USB 케이블이 연결되어 있으니 제자리에서 움직이며 조심하여 측정합니다.

   측정된 값을 살펴보면서, 움직임의 세기가 얼마 이상일 때, 걸음으로 횟수를 추가할 지를 결정합니다.




3. 걸음 측정 프로젝트 기획
 

  -. 걸음 측정 - 자이로 센서
  -. 걸음 수 확인 - A버튼을 누르면 LED 디스플레이에 횟수 표시
  -. 걸음 수 초기화 - B버튼을 누르면 걸음 수가 '0'으로 초기화
  -. 심장 박동 표시 - 운동 감지 시 디스플레이에 심장박동 표시가 나타나 운동 중임을 알림

4. 코드 작성

 1) 걸음 감지 코드 

   움직임 세기가 1.5보다 크면 운동 상태로 간주하고 걸음 수를 측정하여 시리얼 모니터에 표시하기


 
  2) 운동 중 심장 박동 표시 디스플레이에 나타내기
   
   걸음 측정과 같이 동작되어야 하므로 스레드 명령 블록을 활용합니다.

 

  3) 버튼을 활용하여 걸음 수 확인 및 초기화 하기

   버튼 이벤트 블록은 헥사보드의 A,B 버튼이 눌렸을 때, 그 값을 바로 처리할 수 있는 명령 블록입니다. 버튼이 눌리면 실행이 되므로 '반복하기' 안에 넣으면 안됩니다.


  4) 전체 코드 이미지 및 다운로드

  걸음 측정 스마트 워치 소스 코드 다운로드 -> http://naver.me/FEU0lM6f
          -> 움직임 세기의 강도는 측정 후 변경합니다.



  수업용 PPT 다운로드 -> 헥사보드_스마트워치_걸음측정.pptx



5. 추가 활동

   B버튼을 누르면 현재 시간을 표시해봅니다. 
   걸음 측정 횟수 표시가 A버튼, B버튼이 횟수 초기화였는데, 스레드를 이용하니 버튼을 추가로 명령을 넣을 수 없기 때문에, 시계를 뒤집으면 걸음 측정 횟수가 0이 되도록 해봅니다.


 1) 헥사보드 스마트워치가 뒤집어 졌을 때의 센서 값을 측정해 봅니다. 측정값을 보고 대략 15 미만이 되면 뒤집어 졌다고 정합니다.


   이전 작성 코드에서 센서값이 15이하일 때 걸음 측정 횟수가 0이 되도록 추가합니다.


 2) 현재 시간 표시하기

   -. 먼저 와이파이로 인터넷에 접속하여 현재 시간을 가지고 옵니다.


   -. B버튼을 누르면 기존의 측정회수 초기화를 지우고, 시간을 표시하도록 수정합니다.


  시간 표시 소스 코드 다운로드 -> http://naver.me/GZZ5cbN8

9.2. 윗몸 일으키기


10. 기타 활용 수업


10.1. 스마트팜


1. 온도, 습도, 토양수분 모니터링 및 토양수분 부저 제어/ 토양수분 부족 웹/앱 알림



[ 수업용 PPT ]

아래 이미지를 클릭하시면 PPT를 보실 수 있습니다.
헥사보드 스마트팜 수업을 위해 자유롭게 편집하실 수 있습니다.


2. 온도, 습도, 토양수분 모니터링 및 RGB LED 제어/ 토양수분 부족 웹/앱 알림


 
상세 내용은 이매뉴얼 -> DIY 선샤인 스마트팜 -> 헥사보드 기본형에 있습니다 ( 연결 링크 클릭 )

10.2. 스마트 빌딩

신호등 모드와 보안 모드 2가지가 있습니다.

Blynk는 선택사항으로 난이도를 조절할 수 있습니다.



아래 링크를 통해 기본 수업용 PPT와 소스 공유합니다. 
PPT는 아래 사진을 클릭하시면 다운로드 가능하시고, 헥사보드 수업을 위해 얼마든지 편집 사용하셔도 됩니다. 다만 출처로 '메이크잇나우'만 표시 부탁드립니다.
PPT와 소스도 더 깔끔하게 작성도 해보시구요^^



 
  

10.3. DIY 자동차


라인트레킹센서(적외선)와 초음파센서를 활용한 DIY 자동차입니다.


라인트레킹센서로 라인트레이서 코딩, 초음파 센서로 물체 감지 동작, 블루투스로 무선 조종에 대한 코딩 학습을 할 수 있습니다.



1. 조립하기


간편하게 조립하여 사용할 수 있는 헥사보드 DIY 자동차입니다.

아래 사진을 클릭하시면 조립 매뉴얼을 보실 수 있습니다.




2. 물체 감지 정지하기 


 1) 모터 회전 방향 및 속도 탐색하기


  -. 왼쪽 모터는 MOTOR A, 오른쪽 모터는 MOTOR B에 연결되어 있습니다.

  -. 모터의 방향이 반대이지만, 헥사보드 자동차는 +일 때 전진, -일때 후진, 0일 때 정지하도록 되어있습니다.

    -> 회전 값은 -1,023 ~ 1,023 까지 넣을 수 있습니다.

    -> 값이 너무 작으면 모터가 회전하지 못하니, 최소 ±200 이상을 사용합니다.

  -. 앞으로 1초 전진 -> 1초 후진 -> 정지 예제

    -> 모터 속도 값을 한번에 편하게 바뀌기 위해 변수로 설정

    -> 전진 후진 등의 동작 명령 간편화를 위해 함수로 설정 





 2) 물체 감지


  -. 초음파 센서로 앞의 물체와의 거리를 측정해 봅니다.

  -. 헥사보드 자동차는 초음파 센서가 PIN3에 연결되어 있습니다.

  -. 측정 단위는 mm 입니다.

초음파센서를 사용하기 위해서는 펌웨어 버전이 V1.3.2 이상 이어야 합니다. 
   (2024/9/11 이후 출고는 이 버전으로 출고가 되니 업데이트가 필요없습니다.)
   펌웨어 업데이트 방법 보기 링크 ->  https://happycreative.co.kr/manual/detail.php?idx=55#740




 3) 앞으로 이동 중 70mm 앞에 물체가 나타나면 정지





 4) 물체와 65mm ~ 75mm의 거리를 유지하는 헥사보드 자동차

 


3. 선을 따라 이동하는 자율 주행 자동차

적외선을 이용한 2개의 라인트레킹 센서를 이용하여 선을 따라 움직이는 자율 주행 자동차를 만들 수 있습니다.
맵을 만들 때 너무 급격한 커브는 라인을 이탈할 수 있습니다.^^

 1) 라인트레킹(적외선) 센서 탐색

  -. 라인트레킹 센서는 적외선 센서로 발광부와 수광부로 이루어져 있습니다.
     -> 발광부 : 적외선 다이오드로 전원이 공급되면 빛(적외선)을 방출하는 부품입니다.
     -> 수광부 : 포토다이오드 또는 포토트랜지스터로 빛(적외선)을 받으면 전류를 흐르게 하는 부품입니다.
  -. 절연테이프 또는 검정 라인이 인쇄된 종이를 가지고 흰색과 검정색 바탕에서 어떤 신호가 들어오는지 시리얼 모니터로 확인합니다.
     -> 흰색 바탕에서는 0, 검정색 라인에서는 1이 검출되는 것을 알 수 있습니다.
     -> 라인트레킹 센서의 측정거리는 1cm 미만입니다.
     -> 태양광이 들어오는 곳이나 커텐이 있더라고 매우 강한 햇빛이 있는 창가에서는 태양광의 적외선이 바로 센서로 들어오기 때문에 오류가 생길 수 있습니다.


 

 2) 라인트레이서 프로그램 기획

  -. 검정라인과 센서 간격은 아래와 같습니다.


  -. 각각 아래의 신호가 들어오면 헥사보드 DIY 자동차의 방향을 조절해주면 됩니다.




  -. 입력값이 왼쪽 오른쪽 모두 1, 1이라면 정지를 합니다.
    -> 손으로 들어 수광부에 신호가 들어오지 않는 경우

 3) 라인트레이서 코드 작성


 
 4) 선을 부드럽게 이동하기

  -. 라인으로 되돌아가는 속도를 조절하여 조금 더 부드럽게 라인을 따라갈 수 있습니다.
  -. 0으로 세팅했던 모터 속도를 정지가 아닌 적당한 속도로 조절하면 피봇 턴이 아닌 커브드 턴으로 부드럽게 들어갑니다.
     -> 직선의 경우는 크게, 커브각이 크면 속도를 작
  -. 라인의 형상에 따라 이 값을 조절하면 좀 더 잘 따라가겠지요?^^
   -> 라인의 커브가 클 때 -> 피봇 턴
   -> 라인의 커브가 작을 때 -> 커브드 턴
 

 -. 속도값을 일일히 변경하기 귀찮으면, 회전속도라고 변수를 만들고, 속도에 곱하는 방식으로 사용할 수도 있겠지요^^


 5) 물체를 만나면 정지하는 코드 작성

  -. 70mm 앞에 물체가 나타나면 정지



  
4. 블루투스로 조종하는 RC 자동차 

 1) 자동차의 회전의 종류

  방향 전환을 위한 회전은 아래처럼 3가지 종류가 있습니다.

  -. 커브드 턴

 
  -. 피봇 턴 


 
  -. 스핀 턴


 2) Serial Bluetooth Terminal 앱 설정

  -. 가장 안정적으로 연결이 되는 Serial Bluetooth Terminal 앱을 사용합니다.
  -. M1~M5까지의 매크로버튼을 꾹 누르면 설정창이 뜨는데, 전,후,좌,우 및 정지를 입력합니다.
 
 3) 무선 조종 코드 작성하기
    
  -. 자신의 자동차를 알기 위해 블루투스 이름을 정합니다. 
  -. 각각의 방향에 따른 모터 동작과 LED에 화살표 표시를 코딩 후 업로드합니다.








  4) 연결 및 동작
   
  -. 디바이스 검색 후 연결하여 동작합니다.^^
 

상품소개

TOP