일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- arduino
- 업로드모드
- MBLOCK
- mysql4
- chromedriver
- Ollo
- 올로
- TP4056
- 코딩봇
- Dynamixel
- QA
- NocoDB
- 아두이노코딩봇
- automation
- 효용감
- 절벽아래은둔자
- 크롬드라이버
- hutc
- 로보티즈
- 무명의개발자
- testautomation
- Robotis
- 엠블록
- 테스트자동화
- c#
- 아두이노
- 다이나믹셀
- ChatGPT
- 테스트 자동화
- CM-50
- Today
- Total
목록분류 전체보기 (30)
Hermit Under the Cliff

이제는 mBlock의 업로드 모드에 대해서 알아볼 시간입니다. 앞서 설명드린바와 같이 업로드 모드는 mBlock에서 블록코딩으로 작성된 코드를 Arduino C 코드로 변경후 컴파일하여 새로운 펌웨어를 만들어 아두이노에 업로드 해 주는 모드 입니다. 우선적으로 설정해 주어야 할 부분은 코드의 템플릿을 작성입니다. Extension builder메뉴에서 Transcode settings에서 이 템플릿을 작성해 줄 수 있습니다. 아래와 같이 language support에 ArduinoC를 선택해 주시면 됩니다. 아래와 같이 //( setup //) 이런식으로 표시된 부분이 나중에 블럭을 추가하거나 할때 채워지는 부분 입니다. // generated by mBlock5 for // codes make you..

mBlock의 라이브 모드는 이전에도 설명한 바와 같이 mBlock과 디바이스가 시리얼로 연결이 되어있고, 이 시리얼을 통해 명령을 내려 디바이스를 제어하는 방식으로 작동이 됩니다. 시리얼을 통해 받은 명령어로 특정한 동작을 수행하는 올빈봇의 펌웨어는 이미 지난번 포스트 들을 통해 작성을 해 두었습니다. 그리고 그렇게 빌드된 펌웨어 파일을 등록하는 것 까지 알아 보았습니다. 이제는 실제로 블록을 만들어 볼 차례 입니다. 카테고리를 하나 추가해 주시고 카테고리 안에 블록 하나를 추가 합니다. OPCODE는 함수의 이름과 같은 개념이므로 무슨 동작을 하는지 알아볼 수 있게 적어 줍니다. Blocks category는 명령어 블록인지, 이벤트 블록인지 등의 구분을 합니다. 우선 만들 것은 로봇을 이동시키는 블..

블록코딩을 위한 블록들을 작성하기 전에 mBlock에서 지원하는 라이브 모드와 업로드 모드에 대해 조금만 더 자세히 짚고 넘어갈까 합니다. 이 두가지 모드를 모두 지원하는 점 또한 블록코딩 툴로 mBlock을 선택한 이유이기도 합니다. 라이브 모드 라이브 모드는 디바이스(코딩봇)과 PC가 서로 USB로(혹은 다른 인터페이스도 가능하겠죠) 연결된 상태에서 블록코딩의 결과를 확인할 수 있는 모드 입니다. 보통 다른 엔트리나 스크래치 같은 블록코딩 툴이 제공하는 기능입니다. 코딩봇이 USB를 통해서 시리얼 통신을 하는 환경에서 라이브 모드는 아래와 같이 동작을 합니다. mBlock과 코딩봇은 시리얼로 통신을 하고 있고 이 시리얼 채널로 각각의 명령의 블록이 실행되는 시점에 해당하는 명령어를 전송하여 코딩봇을 ..

이제 길고 긴 길을 돌아 마지막으로 블럭코딩을 위한 커스텀 블럭을 만들 순서입니다. 앞서 말씀드린바와 같이 블럭코딩 툴로는 mBlock이란 툴을 결정하였습니다. 가장 큰 이유 중 하나는 아래와 같이 Extenstion builder를 제공하여 원하는 커스텀 블럭을 자유롭게 만들 수 있기 때문입니다. https://ext.mblock.cc/ mBlock Extension Builder - Create your own extensions for mBlock ext.mblock.cc 계정을 만든 후 로그인을 하시면 아래와 같이 나의 Device를 등록할 수 있습니다. Add device를 눌러 새로운 디바이스를 등록해 줍니다. ID/Version/Name의 필수 항목을 넣어 주시고, 아래와 같이 Serial ..

이제 코딩봇의 펌웨어를 만들 차례입니다. 그러기에 앞서 제품의 이름을 먼저 지어주어야 합니다. 회사에서 사내 테스트 툴을 만들때에는 별별 이상한 이름으로 지어서 사용하는 사람들이 이름을 말할 때 부끄러워 하게 하는 편이었는데, 이 녀석은 따님이 쓸꺼라 평범하게 이름을 붙여줍니다. 간단히 올로와 따님의 이름중 한 글자씩 따서 올빈봇으로 지었습니다. 펌웨어는 블록코딩 프로그램 (Mblock)에서 시리얼을 통해 받는 명령어를 CM-50 모듈에 전달하는 역할 및 각 센서의 값들을 시리얼을 통해 전송해주는 역할을 하게 됩니다. 먼저 CM-50에 전달할 Instruction packet을 만들어 주는 것 부터 시작해 봅니다. Instuction packet은 지난번 포스트에서 살펴본 바 아래와 같은 구조로 구성이 ..

지난번 포스트에서는 아두이노를 USB to Serial 보드로 활용하여 이미 제공되고 있는 소프트웨어를 이용해서 CM-50을 제어를 해 보았습니다. 저의 목적은 아두이노를 통해서 CM-50을 컨트롤을 하고, 이를 다시 블록코딩을 통해서 간단한 코딩봇을 만드는 것 입니다. 그러기 위해서는 PC의 소프트웨어가 아니라 아두이노에서 직접 CM-50을 컨트롤 할 수 있어야 합니다. 이에 앞서 간단한 구조를 정합니다. 제가 쓰기로 결정한 블록코딩 툴인 Mblock은 물론이고 다른 블록코딩 툴 대부분이 아두이노와 시리얼 통신으로 명령어를 전달 합니다. 이 말은 아두이노의 시리얼 포트는 이미 사용이 된다고 가정을 해야 하기 때문에 기본 시리얼 포트를 사용할 수 없다고 봐야 합니다. 제가 쓰는 아두이노 Uno 보드는 시..

지난번 포스트에서 로보티즈 올로의 CM-50 모듈의 UART 커넥터를 찾았고, 메뉴얼을 찾아 이 커넥터의 Pin 구성까지 알았습니다. 이제 Serial 통신을 이용하여 CM-50을 좀 더 자세히 알아볼 차례입니다. 우선 PC에서 Serial 통신을 하려면 요즘 나오는 PC에는 시리얼 포트가 없기 때문에 거의 대부분 USB to Serial 칩을 이용하여 합니다. 회사라면 여기 저기 굴러다니는 저런 USB to Serial 보드들이 있을텐데 집에 당장 가진 것이 없으니 아두이노를 USB to Serial로 이용해 봅니다. 구글 검색을 통해 아두이노의 GND와 RESET 단자를 점퍼선으로 이어주면 간단하게 USB to Serial 장치로 이용을 할 수 있다고 합니다. 결선은 아래와 같이 해 줍니다. 아두이노..

아두이노를 통해 컴퓨터에서 작성한 코드를 이용하여 여러가지 전자 부품들을 컨트롤 하는 것은 가능합니다. 지난번 포스트에서 살펴보았던 Mblock을 통해 프로그램을 블럭코딩으로 짜는 것도 가능합니다. 이제 실제로 코딩봇의 몸체가 될 녀석을 만들 차례 입니다. 제가 구매한 아두이노 스타터 킷에는 서보모터 하나, 스텝 모터 하나가 포함이 되어 있습니다. 하지만 이것만 가지고 로봇의 몸체를 만들기에는 뭔가 부족한 느낌이 듭니다. 따님의 방으로 가서 장난감을 뒤져봅니다. 레고도 좋은 선택 중 하나인 듯 보이지만 아쉽게도 따님이 레고를 크게 즐기지 않는 터라 가장 중요한 바퀴 등의 부품은 없습니다. 그러다 유치원에서 수업도 하고 집에서도 가지고 놀았던 로보티즈 올로 라는 블록 꾸러미가 있는 게 생각 났습니다. 집에..