일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- hutc
- 로보티즈
- 업로드모드
- c#
- CM-50
- ChatGPT
- 테스트 자동화
- 절벽아래은둔자
- 무명의개발자
- 효용감
- TP4056
- Ollo
- MBLOCK
- Robotis
- 올로
- testautomation
- Dynamixel
- 크롬드라이버
- 아두이노
- 테스트자동화
- arduino
- 아두이노코딩봇
- 엠블록
- 다이나믹셀
- NocoDB
- automation
- QA
- chromedriver
- mysql4
- 코딩봇
- Today
- Total
Hermit Under the Cliff
[Arduino] 아두이노 코딩봇 만들기 (9) - mBlock 라이브 모드 본문
[Arduino] 아두이노 코딩봇 만들기 (9) - mBlock 라이브 모드
AnonymousDeveloper 2022. 2. 25. 20:51mBlock의 라이브 모드는 이전에도 설명한 바와 같이
mBlock과 디바이스가 시리얼로 연결이 되어있고,
이 시리얼을 통해 명령을 내려 디바이스를 제어하는 방식으로 작동이 됩니다.
시리얼을 통해 받은 명령어로 특정한 동작을 수행하는 올빈봇의 펌웨어는
이미 지난번 포스트 들을 통해 작성을 해 두었습니다.
그리고 그렇게 빌드된 펌웨어 파일을 등록하는 것 까지 알아 보았습니다.
이제는 실제로 블록을 만들어 볼 차례 입니다.
카테고리를 하나 추가해 주시고 카테고리 안에 블록 하나를 추가 합니다.
OPCODE는 함수의 이름과 같은 개념이므로 무슨 동작을 하는지 알아볼 수 있게 적어 줍니다.
Blocks category는 명령어 블록인지, 이벤트 블록인지 등의 구분을 합니다.
우선 만들 것은 로봇을 이동시키는 블록이므로 Command로 선택해 줍니다.
Content는 실제 블록에 표시될 내용을 적어 주면 됩니다.
여기서 @을 입력하면 인자를 선언할 수 있는데 이번 경우에는 방향을 주는 것이니 Dropdown으로 정합니다.
아래의 Dropdown tab에서 방향을 입력해 줍니다.
첫 번째 칸은 표시될 내용 (앞,뒤) 두 번째 칸은 실제 코드에서 사용할 값(forward, backward) 입니다.
그 다음은 이 블록이 실행되었을 때 수행될 동작을 정의해 줍니다.
우선은 라이브 모드의 동작을 작성하려고 하니 Live mode handler 탭으로 이동한뒤
아래와 같이 코드를 작성해줍니다.
안타깝게도 제가 제일 싫어하는 언어인 자바스크립트를 사용하네요.
어쨌든간 아래와 같이 direction에 따라 시리얼로 보낼 명령어를 구분해서 보내 줍니다.
mBlock extenstion에서 사용되는 API들은 아래 페이지에서 확인하실 수 있습니다.
http://www.mblock.cc/doc/en/developer-documentation/api-list.html
API List –慧编程
No results matching ""
www.mblock.cc
하지만, 제가 입이 마르게 칭찬했던 로보티즈와는 달리 mBlock는 근본이 있는 회사는 아닌 듯 합니다.
API가 뭔가 중요한 내용은 빠져있고, 예제도 턱없이 부족하고
커뮤니티를 검색을 해봐도 마땅한 해결방법이 없는 경우가 많습니다.
어찌어찌 검색에 검색을 거듭하면서 코드를 한땀한땀 짜는 수 밖에 없습니다.
게다가 제가 제일 싫어하는 자바스크립트...
그래도 좋아할 따님의 얼굴을 생각하며 열심히 코드를 짜 줍니다.
화면이 바뀔 때 마다 항상 저장을 해 주시는 것을 잊지말고,
한땀한땀 코드를 짜면 테스트를 해 보아야 합니다.
오른쪽 위 다운로드 버튼을 누르면 작성한 device extension을 파일로 다운 받을 수 있습니다.
mext라는 확장자를 가진 파일인데 이 파일을 탐색기에서 mBlock 프로그램으로 끌어다 놓으면
아래와 같이 우리가 만든 장치가 추가 됩니다.
mBlock PC 버전의 문제 중 하나가 디버그 콘솔을 사용할 수 없다는 점 입니다.
디버그 콘솔을 보려면 위 메뉴에서 다운로드가 아닌 프리뷰를 눌러 웹버전에서 확인해야 합니다.
몇 번 그런식으로 사용을 해 보긴 했지만,
시리얼 통신의 동작이 웹 모드에서는 뭔가 마음대로 되지 않아 잘 사용하진 않았습니다.
새로 만든 블록의 동작들을 확인해 보고, 나머지 필요한 블록들도 만들어 줍니다.
포스트에서 블록 하나하나 만드는 것을 다 설명하기 보단,
실제 제가 만든 확장 블록들을 살펴보시고 자신만의 블록을 만들어 보시는 것을 추천 드립니다.
참고로 자바스크립트를 증오하는 입장에서 제대로 배운 적이 없어
코드가 멋대로인 점은 양해 부탁드립니다.
완성된 mBlock Extension은 지난번에도 알려드린 아래 Github에서 받으 실 수 있습니다.
https://github.com/reitn/OlbinBot
GitHub - reitn/OlbinBot: Olbin Coding bot based on Arduino and Mblock
Olbin Coding bot based on Arduino and Mblock. Contribute to reitn/OlbinBot development by creating an account on GitHub.
github.com
이제 얼마 남지 않았습니다.
다음번 포스트에서는 업로드 모드의 코딩에 대해서 알아보겠습니다.
'Personal Projects > 아두이노 코딩봇' 카테고리의 다른 글
[Arduino] 아두이노 코딩봇 만들기 (11) - 초음파 센서 추가하기 (0) | 2022.03.03 |
---|---|
[Arduino] 아두이노 코딩봇 만들기 (10) - mBlock 업로드 모드 (0) | 2022.02.28 |
[Arduino] 아두이노 코딩봇 만들기 (8) - mBlock의 라이브 모드와 업로드 모드 (0) | 2022.02.23 |
[Arduino] 아두이노 코딩봇 만들기 (7) - mBlock Device Extension (0) | 2022.02.23 |
[Arduino] 아두이노 코딩봇 만들기 (6) - 코딩봇 펌웨어 작성 (0) | 2022.02.22 |