마이크로비트로 블록 코딩하기 14
상태바
마이크로비트로 블록 코딩하기 14
  • IC뱅큐
  • 승인 2019.09.17 09:00
  • 댓글 0
이 기사를 공유합니다

마이크로비트 내장 센서 한 번에 모두 사용해보기

[테크월드=이건한 기자] 마이크로비트에는 크게 6가지의 센서, 모듈이 있다. 이 덕분에 다른 코딩 교육용 보드들과 달리 주변기기가 별로 필요 없다. LED, 스위치, 빛 센서, 나침반 센서, 온도 센서, 가속도 센서가 있으며, 이들은 복잡한 회로에 연결하지 않아도 된다는 것 또한 장점이다. 오늘은 이들 센서를 이용해 마이크로비트를 최대한 활용해보는 코딩을 배워보자.

마이크로비트 내장 센서 활용 코딩

이번 코딩은 내용이 많으므로 블록 사용법보단 각 블록이 어떤 기능을 하는 지 부분적으로 설명할 예정이다. 그림의 블록 코딩들은 색상으로 구분되며, 좌측의 함수 꾸러미들과 색상이 매칭된다. 해당 블록 코딩들을 찾기 어렵다면 블록 검색 기능도 있으니 이용해보기 바란다. 우선 내장 센서를 동시다발적으로 사용할 수는 없으니 사용할 센서들을 고르는 선택창을 만들어 보자.

 

서 선택창 만들기

센서를 만들기 전에 이 선택창을 만드는 이유는 여러 모듈을 동시에 표기할 수 있는 방법이 없기 때문이다. 따라서 6개의 센서 중 1개의 센서를 선택해 동작하도록 만들었으며, 한번 선택한 센서는 마이크로비트 후면 리셋 스위치를 눌러 재선택할 수 있다.

[그림1]는 처음 마이크로비트를 켜면 ‘A’ 버튼 , ‘B’ 버튼을 이용해 어떠한 센서를 사용할 것인지 선택해주는 블록 코딩이다. 이 동작에 숫자를 고르는 Choice 변수와 숫자를 선택하는 Select 변수를 만들어 준 후 A 버튼을 누르면 Choice의 값이 1씩 오르고, B 버튼을 누르면 1씩 낮아지게 해보자.

다음으로 A 버튼과 B 버튼을 같이 누르면 해당 숫자를 Select 변수에 저장해 선택하게 만들 것이다. 마이크로비트는 6가지 센서 모듈이 있으므로 1부터 6까지의 숫자만 사용하기 위해 Choice가 6을 넘길 경우 다시 1로 만들어주는 코딩도 더해준다.

[그림1] 내장 센서/모듈 선택하기(1)
[그림1] 내장 센서/모듈 선택하기(1)

그다음 선택한 Select 버튼에 따라 각각의 센서/모듈의 동작을 확인하기 위한 함수 6가지를 만들 것이다. Select의 1에서 6까지 숫자를 아래 조건문을 이용해 실행시킬 트리거를 만들어 준다[그림2]. 이러면 각 숫자별로 버튼, LED, 온도 센서, 조도 센서, 나침반 센서, 가속도 센서를 동작시킬 수 있다.

[그림2] 내장 센서/모듈 선택하기(2)
[그림2] 내장 센서/모듈 선택하기(2)

각 센서/모듈별 동작 함수 만들기

버튼의 동작 함수를 만들어 보자. A 버튼, B 버튼, A+B 버튼 각각에 대한 조건을 걸어주고 A 버튼을 눌렀다면 마이크로비트의 LED에서 화살표 방향이 A 버튼 쪽으로 갈 것이고, B 버튼을 눌렀다면 B 버튼으로 간다. A+B 버튼을 같이 누르면 LED가 겹쳐진다[그림3].

[그림3] 버튼 함수
[그림3] 버튼 함수

LED

LED 동작 함수를 만들어 보자. 해당 LED는 25개의 LED 중에서 무작위한 자리의 LED를 켜고, 다시 무작위 자리의 LED를 끄는 동작을 하는 함수다. LED 켜기와 끄기 블록에 0부터 4까지 정수 무작위 값을 넣어 마이크로비트 LED의 좌표에 한 점씩 무작위 하게 켜졌다가 무작위한 좌표 LED에서 무작위 하게 꺼진다[그림4].

[그림4] LED 함수
[그림4] LED 함수

온도 센서

온도 센서 동작 함수를 만들어 보자. 온도 센서의 경우 비교적 간단하다. 기본 블록에 있는 온도 센서값 블록과 수 출력 블록을 이용해 온도 센서의 값을 LED에 표시해 준다. 이때 일시중지 블록 5000ms(5초)를 넣어 온도 값이 너무 자주 새로고침 되는 것을 방지한다.

[그림5] 온도 센서 함수
[그림5] 온도 센서 함수

조도 센서

조도 센서 동작 함수를 만들어 보자. 조도센서의 경우도 간단하다. 기븐 블록에 있는 빛 센서값 블록과 수 출력 블록을 이용해 빛 센서값을 LED에 표시해 준다[그림6]. 이때 마찬가지로 일시중지 블록 5000ms(5초)를 넣어 조도 값이 너무 자주 새로고침 되는 것을 방지한다.

[그림6] 조도 센서 함수
[그림6] 조도 센서 함수

나침반 센서 동작 함수

나침반 센서 동작 함수를 만들어 보자. 나침반 센서는 마이크로비트를 처음 켤 때 북쪽 방향을 한번 측정해 측정한 방향을 기준으로 마이크로비트의 위치에 따라 각도를 잴 수 있다. [그림7]의 코딩에서는 마이크로비트가 바라보는 방향의 각도에 따라 315도~45도 사이는 북쪽, 45도~135도는 동쪽, 135도~225도 사이는 남쪽, 225도~315도 사이는 서쪽으로 화살표를 가리킨다.

[그림7] 나침반 센서 함수
[그림7] 나침반 센서 함수

가속도 센서 동작 함수

가속도 센서 동작 함수를 만들어보자. 가속도 센서는 마이크로비트를 중심으로 X축, Y축, Z축을 감지할 수 있는 센서다. 마이크로비트 심볼 로고에 따라 로고 하늘 방향, 땅 방향, 왼쪽 기울임, 오른쪽 기울임을 감지해 LED가 마치 중력에 이끌리듯 LED를 동작시키는 함수다[그림8].

[그림8]
[그림8]

마치며

이 코딩들을 모두 만든 후 업로드할 경우, 마이크로비트를 이용한 6가지 센서를 전부 이용해 볼 수 있다. 센서를 함수로 나눠 사용했는데, 함수 개별만으로 블록 코딩을 진행해도, 마이크로비트에서 즉시 사용할 수 있다. 마이크로비트는 여러 센서를 사용함에 있어 회로 구성이 편리하고 교육하는 입장에서도, 교육받는 입장에서도 시간적 부담을 많이 덜 수 있다. 만약 이런 동작들을 아두이노에서 구현하려 한다면 꽤 오랜 시간이 걸릴 것이다. 그럼 다음 시간에는 마이크로비트를 이용한 시계를 만들어 보도록 하자.

글 | 전자 엔지니어 전문몰 IC뱅큐
홈페이지 | https://www.icbanq.com

 

- 이 글은 테크월드가 발행하는 월간 <EMBEDDED> 2019년 9월호에 게재된 기사입니다.


관련기사

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.