2016.01.26날짜 기준입니다.
mBlock이 요즘 좀 뜨고 있길래 한 번 알아보았습니다.
1 사이트에 접속해 봅시다. http://mblock.cc
2 그런데 다운로드가 이렇게 연결된다.. 역시 중국 형들… 바이두 클라우드로 연결되어 버린다. 중국어의 문제는 구글 번역으로 극복하자!
3. 다운로드를 받아야 하는데… 일반 다운로드를 하면 속도는 느리지만, 로그인이 필요없다. 고속을 선택하는 경우 바이두 클라우드의 계정이 필요하다.
4. 다운받고 압축을 풀면 설치형 프로그램이 나온다. 설치과정은 생략한다. 그냥 예를 누르자.
5. mBlock을 실행시키면 귀여운 펜더가 등장한다.
6 mBlock과 아두이노를 연동하기 위해서는 특별한 드라이버가 필요하다.
연결-install Arduino Driver를 선택한다.
그리고 설치한다.
주의!!!
mBlock의 드라이버를 설치하면 arduino IDE가 동작을 안 할수 있다!
만약 아두이노 IDE에서 업로드 되지 않는다면 2가지 경우를 생각해 볼 수 있다.
1. 이미 mBlock의 시리얼이 잡고 놓지 않아서 연결이 안되는 경우
-해결책 : mBlock의 연결 -시리얼 포트- 포트번호(각자 다름) 를 다른 포트로 강제로 바꾸어 버린다. 다만 이런경우 mBlock과 아두이노 연결이 끊어진다.
2. 드라이버가 꼬인 경우
-해결책 : mBlock의 드라이버를 삭제하자 이름은 makeblock board driver다
이 프로그램을 삭제해야 한다. 그리고 아두이노가 인식이 안된다면, 아두이노 IDE가 설치된 폴더의 drive에서 드라이버를 수동설치하자.
7 mBlock과 아두이노를 연동해서 프로그래밍 하는 방법은 크게 2가지로 나뉘어진다. 먼저 mBlock 프로그래밍과 연동시켜 보도록 하자.
8 먼저 보드설정
9 보드 포트를 설정하자
10 상단의 바에 연결이 되었는지 확인하자.
11 mBlock용 펌웨어를 업로드 한다.
업로드가 완료된 것을 확인하자.
12. mBlock용 blink소스를 만들면 다음과 같다.
13. 한 가지만 더 해보자. mBlock의 프로그래밍과 연결되어 있기 때문에 다음과 같이 만들 수 있다. 다음의 코드는 펜더를 움직이고 벽에 닿게 된다면 13번 led를 켠다. 만약 움직이는 중이라면 led를 끄게 하는 코드이다.
14 이번에는 아두이노 전용 프로그램으로 전환한다.
전환하면 다음과 같은 화면으로 전환된다.
한 가지 주의 깊게 살펴보아야 할 점은 스크립트에 비활성화된 명령블럭들이 존재하게 된다.
즉, mBlock의 프로그래밍과는 단절되며, 아두이노를 위한 프로그래밍만 할 수 있게 된다. 왜 이렇게 되는가는 다음과 같이 해보면 알 수 있다.
15 아두이노모드에서 Blink 소스
잘 살펴보면 이전과는 다르게 아두이노 프로그램이라는 블럭으로 시작하게 되며, 제어 및 변수 쪽 블럭을 제외하면 아두이노만을 위한 블럭으로 나타난다.
혹.. 아두이노 블럭이 나타나지 않는다면 다음과 같이 설정해 보자.
확장 - Arduino
16 아두이노로 업로드 하기
오른쪽의 소스코드가 나타나게 되는데, 다른 교육용프로그래밍 언어와는 다르게 소스코드가 나타난다! 오오!!
그럼 이 녀석을 업로드 시키기 위해서는 상단의 Upload to Arduino 버튼을 클릭해 보자.
그럼 하단의 상태창에서 컴파일이 이루어지는 것을 볼 수 있다. 그런데 오래 걸린다….
업로드가 시작되면 서브창이 만들어지고, 진행상태를 볼 수 있다.
완료되고 나면 아두이노가 프로그래밍 된 것을 확인할 수 있다.
총평
장점
이녀석은 2가지 모드를 다 지원한다. 아두이노에 직접 업로드 시키는 방법, 특정 펌웨어를 연결하고 이를 통신을 통해서 프로그래밍하는 방법
소스코드를 쉽게 작성할 수 있다.
블럭이 그나마 많다.
단점
…. 시리얼쪽이 불안하다. 시리얼이 작동이 원할하지가 않다.
역시 많은 기능을 직접 쓰기는 어렵다.
컴파일에 시간이 오래 걸린다.
드라이버!!!!!! 드라이버가 짜증나게 한다!!! 그냥 아두이노 공식 드라이버 쓰면 안되나!!!?
역시 이런류는 수익 창출을 위해서 아두이노에 대한 지원보다는 자신들의 하드웨어 지원에 더 많은 노력을 쏟는다는거…
'SW교육 > 아두이노' 카테고리의 다른 글
아두이노와 엔트리 연동시키기 (0) | 2016.01.26 |
---|---|
아두이노 인터넷 연결하기(Lan, enc28j60) - 3. 소스 살펴보기 (0) | 2015.08.12 |
아두이노 인터넷 연결하기(Lan, enc28j60) - 2. 회로 연결 (0) | 2015.08.12 |
아두이노 인터넷 연결하기(Lan, enc28j60) - 1. 라이브러리 설정 (0) | 2015.08.12 |
(초보자용) 아두이노 알아보기 (0) | 2015.07.15 |