1. 개요
작은 사이즈에 다양한 센서를 내장하고 있으며, 5*5 풀컬러 RGB 매트릭스로 멋진 표현이 가능합니다. 블록클리 기반의 Easy Blocks을 이용하여 센서 제어 및 IoT 복잡한 코딩도 손쉽게 가능하여 손쉽게 사물 인터넷 구축이 가능합니다. 물론 엔트리도 지원합니다.
간편한 조립성과 쌓으면 기능이 추가되는 쉴드 보드를 통해 확장이 가능하며 커넥터 방식의 센서 연결로 손쉽게 센서 연결이 가능합니다.
제품 구매 링크 : 링크 클릭
작은 사이즈에 다양한 센서를 내장하고 있으며, 5*5 풀컬러 RGB 매트릭스로 멋진 표현이 가능합니다. 블록클리 기반의 Easy Blocks을 이용하여 센서 제어 및 IoT 복잡한 코딩도 손쉽게 가능하여 손쉽게 사물 인터넷 구축이 가능합니다. 물론 엔트리도 지원합니다.
간편한 조립성과 쌓으면 기능이 추가되는 쉴드 보드를 통해 확장이 가능하며 커넥터 방식의 센서 연결로 손쉽게 센서 연결이 가능합니다.
제품 구매 링크 : 링크 클릭
헥사보드 언박싱 영상입니다.
1. 소프트웨어 실행
헥사보드는 블록클리 기반의 Easy Blocks로 프로그래밍을 합니다..
Easy Blocks는 아래 링크로 접근합니다..
아래 사진처럼 보드 선택에 헥사보드가 표시되어 있어야 합니다. ESP32라고 표시가 되면, 빨간 사각형의 보드선택을 클릭하면 열리는 보드 선택 창에서 헥사보드를 선택해 줍니다.
2. USB 드라이버 설치
헥사보드는 CH340 드라이버를 사용합니다. 많이 사용하는 USB 드라이버이니 이미 설치되어 있는 분들은 설치하지 않으셔도 됩니다.
미설치된 컴퓨터는 USB Driver 설치를 클릭하여 파일을 다운 받은 후 설치를 진행합니다.
헥사보드를 컴퓨터와 USB 케이블로 연결한 뒤, 연결하기를 클릭하여, 연결된 헥사보드를 선택한 후 연결을 클릭하면, ' USB가 연결되었습니다.' 라는 안내 메세지가 나오며 연결이 됩니다.
4. 코드 작성
코드 작성은 일반적인 블록코딩과 같습니다. 좌측의 카테고리에서 명령 블록을 작업 화면으로 이동하여 연결합니다.
5. 업로드
오른쪽 상단의 업로드 버튼을 누르면 업로드가 완료됩니다.
6. 파이썬으로 코드 보기
'<>' 를 클릭하면 블록으로 작성된 코드를 파이썬으로 볼 수 있습니다.
7. 시리얼 모니터
시리얼 데이터를 받거나 보낼 수 있습니다.
8. AI
티처블머신 연동하여 인공지능 코딩을 할 수 있습니다.
9. 도움말
폄웨어 설치 방법 안내 및 설치 프로그램 다운로드, 프로젝트 예제, 블록 설명 등 도움말을 볼 수 있습니다.
헥사보드 펌웨어 업데이트는 아래의 경우에 사용합니다.
1. 사용 중 오류가 계속 나서 초기화 하고 싶다.
2. 새로운 기능이 추가되어 업데이트가 필요한 경우
3. 엔트리 소프트웨어를 사용하고자 할 때
4. 엔트리 사용 후 다시 Easy Blocks를 사용하고자 할 때
업데이트 후에는 PC와의 연결을 해제하였다가 다시 연결을 합니다.
Easy Blocks 우측에서 도움말(?) 클릭 후 '1. 펌웨어 설치 방법'을 클릭합니다.
main을 클릭하여 펌웨어 업로드 소프트웨어를 실행합니다.
Easy Blocks는 Blockly를 기반으로 제작되었습니다.
일반적인 블록코딩 소트프웨어와 사용법이 비슷하며, 블록에 항목을 추가하는 방법이 좀 다릅니다.
아래 사진처럼 기어 모양의 '설정'을 클릭하면 추가할 수 있는 항목이 왼쪽에 나오고, 이 추가 블록을 오른쪽으로 붙여다 놓으면 항목이 계속 늘어나게 됩니다. 삭제하려면 왼쪽으로 버리면 됩니다. 완료가 되면, '설정'을 다시 클릭하면 없어집니다. 항목을 줄이고 싶으면 '설정'을 클릭하고 다시 왼쪽으로 옮기면 없어집니다.
문자열, 리스트, 함수 등은 이렇게 항목을 추가, 제거할 수 있습니다.
특히, 문자열의 경우 '출력하기' 명령 한 개는 한 줄에 표시 되기 때문에 자신이 보기 편한대로 추가하여 사용하면 좋습니다.
헥사보드는 5*5의 풀컬러 LED 매트릭스를 가지고 있어 다양한 표현이 가능합니다.
문자를 출력할 수도 있고(영어만 가능), 원하는 위치의 LED에 색상을 지정하여 다양하고 예쁜 이모티콘을 만들 수 있습니다.
또한, RGB LED를 연결하여 제어도 가능합니다.
1. 기본 동작
아래처럼 코드를 작성한 후, 동작을 확인해 보겠습니다.
LOVE 문자열을 슬라이드 하고,
LOVE 각각의 문자를 1초씩 출력한 뒤
파란색의 웃는 얼굴을 보여주고
녹색 바탕에 핑크색 하트를 깜빡여 봅니다.
문자열 슬라이드는 첫 글자도 슬라이드 되도록 한 칸을 띄운 뒤 글자를 쓰면 좋습니다. -> ' LOVE'
헥사보드는 제법 큰 소리를 낼 수 있는 부저가 장착되어 있습니다.
아래 블럭을 이용하여 음악을 연주할 수 있습니다.
[ 악보 출처 - https://blog.naver.com/soundleaders/223252317300 ]
르세라핌의 Perfect Night 를 작성한 코드입니다.
온라인에 공개되어 있는 16마디만 작성해 보았습니다. 나머지 부분도 작성해 보세요^^
코드 링크 -> http://naver.me/xFoZDGL5
음표 | 지속 시간 |
---|---|
2분음표 | - |
4분음표 | - |
8분음표 | - |
16분음표 | - |
음악이 연주되는 중에 디스플레이를 일정 간격으로 동작시키고 싶으면 이벤트 블록을 사용하면 됩니다.
예시) 심장이 뛰는 모습으로^^ 총 16마디에 한 마디가 1.76초이니, 32회 반복
1. Data 기능 사용하기
헥사보드의 내,외부 센서들의 입력값을 엑셀파일로 저장하고 그래프로 표시할 수 있습니다.
그래프는 이미지로 다운로드가 가능합니다.
헥사보드에는 3개의 IO핀과 1개의 I2C핀이 있어 외부 입출력 장치를 연결할 수 있습니다.
가장 많이 사용하는 몇 가지 입출력 장치를 연결하여 사용해 보겠습니다.
1. 온습도 센서
온습도센서를 PIN1에 연결합니다.
온도, 습도 변수를 만들고, 각각 연결된 PIN1 을 적어줍니다. 출력하기는 한 줄로 나오게 하는 것이 보기 편한 것 같습니다.^^
2. 토양수분 센서
토양수분 센서를 PIN2에 연결합니다. 토양수분 센서는 아날로그 값으로 0~4095값이 들어옵니다. 이 값으로 수분값을 알아보기가 어려우니 Map 함수를 이용하여 백분율로 바꾸어 줍니다.
물 대신 물티슈를 이용하여 값을 측정해봅니다. 아래 사진을 보면 물티슈로 감쌌을 때 1860 정도, 그냥 대기 중에 있을 때의 값이 3600 정도로 나오네요. 수분이 많을 수록 값이 작습니다.
%는 당연히 안맞겠지요^^
컴퓨터와 연결되어 Data를 주고 받을 수 있습니다.
1. Serial Data
헥사보드로부터 전달받는 Data 를 표시합니다. 내장된 자이로 센서를 이용하여 좌우로 기울어지는 각도값을 표시하여 봅니다.
2. Send Data
간단하게 입력된 값을 표시해보고 전달 받은 LED 색상을 켜보는 코드입니다.
시리얼로 보내는 데이터는 꼭 문자로 표시하여야 합니다. Send Data를 숫자로 입력해도 역시 숫자가 아닌 문자로 전송됩니다.
티처블 머신을 활용하여 인공지능 활용 코딩을 할 수 있습니다. 시리얼 통신으로 학습 결과값을 받기 때문에 인공지능을 사용하기 위해서는 헥사보드와 컴퓨터가 USB케이블로 연결 되어 있어야 합니다.
1. 코드 작성 및 업로드
펜을 보여주면 연두색, 센서을 보여주면 노란색을 켜도록 간단한 코드를 작성해 보았습니다. 작성 후 헥사보드에 업로드 합니다.
시리얼로 보내는 데이터는 'String(문자열)'로 오기 때문에 '빨강', '파랑', '노랑'은 문자로 넣어주셔야 합니다. 1, 2 같은 숫자도 문자로 전송이 되니 꼭 문자로 입력을 해주세요.
2. 티처블 머신 학습 및 업로드 후 링크 가지고 오기
헥사보드는 다른 헥사보드와 서로 통신을 할 수 있습니다.
2개의 헥사보드로 간단하게 송신측에서 A버튼, B버튼을 누르면 수신측에서 LED로 A, B를 출력해 보겠습니다.
1. 송신하기
블루투스로 데이터를 주고 받을 수 있습니다.
사용한 앱입니다.
스마트기기에 블루투스 시리얼 터미널 앱을 설치한 후 간단한 프로그램 예제입니다.
블루투스 연결 상황을 디스플레이에 표시하고, 데이타를 받아 음을 연주합니다.
Blynk는 IoT 를 매우 쉽게 운용할 수 있는 환경을 지원하는 플랫폼으로 PC 및 모바일 모두 지원합니다.
무료버전은 사용할 수 있는 기능의 한계가 있지만, 교육용으로는 매우 훌륭한 퍼포먼스를 보여줍니다. 회원가입이 필요하여 교육 전 회원 가입을 위한 e-mail를 개별 준비합니다.
현재(240129) 무료버전은 아래와 같이 사용할 수 있습니다. 템플릿 당 5개의 데이타스트림을 쓸 수 있으니 무료버전으로도 충분히 교육이 가능합니다.^^
Blynk를 이용하는 기본 순서는
템플릿 생성 -> 디바이스 설정 -> 데이타스트림 설정 -> 웹 대시보드 설정 -> 헥사보드 코드 작성 및 업로드 (이 작업은 먼저 해도 됩니다^^)입니다.
정확한 표현은 아닐 수 있으나, 템플릿과 디바이스 설정은 Blynk에 가상의 보드를 만든다고 생각하고, 데이타스트림은 가상핀에 입출력 데이터를 부여하는 것, 웹 대시보드는 이 데이터를 시각적으로 보거나 제어할 수 있는 위젯을 설정하는 것입니다. 즉, 우리가 보드에 입출력 장치를 케이블로 연결하고 코드들 작성하여 동작하는 것 처럼, Blynk에 만들어진 가상의 보드에 코드를 작성하고(데이타스트림), 입출력 장치를 연결하는 작업(웹 대시보드)과 비슷하다고 생각하면 될 듯 합니다.^^
설명은무료버전으로 PC를 위주로 하였습니다. 교육 환경에 PC와 스마트기기 2개 모두 준비하는 것이 어려울 수 있고, 사용방법이 거의 비슷하기 때문입니다. PC에서 데이터스트림까지 작성된 경우는 위젯만 해주시면 됩니다.
1. 템플릿, Device 만들기
Blynk에 로그인 후 첫 템플릿을 생성합니다.
저는 템플릿 이름을 'First', 디바이스 이름은 'sooin' 이라고 하였습니다.^^
AUTHTOKEN 을 복사합니다. 오른쪽을 녹색 박스를 클릭하면 자동으로 복사가 됩니다.
디바이스 선택은 왼쪽 Devices 카테고리를 클릭하여 Device name 을 클릭하고 Device Info 탭에서 선택할 수 있습니다.^^
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가 작동하는지 확인합니다.
3. 웹 대시보드 설정 - App
Blynk App을 실행합니다. PC에서 만든 디바이스가 보입니다^^
오른쪽 아래의 스패너 모양의 아이콘을 클릭합니다. 개발존으로 들어가서 만들어 놓았던 First 템플릿이 보이면 클릭합니다.
위젯은 손가락으로 약간의 시간을 누르면 이동시킬 수 있습니다. 적당한 위치에 놓고, 한 번 더 터치하면 버튼 위젯 설정창이 뜹니다. 데이타 스트림 선택을 위해 '+' 를 터치합니다.
헥사보드의 센서 입력 값을 Blynk 에서 실시간으로 볼 수 있도록 하겠습니다.
4.2. IoT 헥사보드 제어를 먼저 해보세요^^
1. 데이타스트림 및 웹 대시보드 설정
Developer Zone에서 템플릿을 선택하고 Edit 를 클릭한 뒤 데이타스트림으로 들어가 New Datastream -> Virtual Pin을 클릭합니다.
Blynk 에서는 내 스마트기기의 앱이나 이메일 등으로 알람을 보낼 수도 있고, 정해진 시간에 동작을 시키는 등 자동화 설정을 할 수도 있습니다.
위에서 해본 밝기 값으로 어두워 지면 제 스마트폰의 App으로 알람을 보내보겠습니다.
Developer Zone에서 템플릿을 선택한 후 Edit를 클릭하고, Automation으로 들어갑니다. 그리고, Type을 sensor로 하고, Condition / Action을 On 합니다.
모두 선택이 되면 저장을 클릭합니다.
Do this 에서 App 으로 알람보내기를 선택합니다.
저장을 하면 자동화가 마무리 됩니다.
1. 헥사보드
2. 센서
3. 네오픽셀
4. OLED
5. 무선통신
헥사보드로 할 수 있는 다양한 수업 콘텐츠 예시를 올립니다.
일반적인 기능은 모두 기존 콘텐츠에 적용 활용할 수 있을 것이니, 주로 IoT 관련 콘텐츠를 올려보도록 하겠습니다.
다양한 아이디어를 todaksen@naver.com으로 보내주시면 같이 만들어 보아도 재미있을 것 같습니다.^^
1. 온도, 습도, 토양수분 모니터링 및 RGB LED 제어