EPNC(월간 전자부품 뉴스) UPDATED. 2018.11.14 수 13:00

상단여백
HOME EM OPINION 칼럼
코딩 교육용 교구 마이크로비트로 블록 코딩하기 ④
정환용 기자 | 승인 2018.10.31 17:09

[EPNC=정환용 기자] 지난 시간에는 소리 블록과 LED 블록에 대해 알아봤다. 소리 블록은 부저 확장모듈이 있을 때 블록 코딩을 할 수 있고, LED 블록은 마이크로비트에 내장된 LED로 구현할 수 있다. 이번에는 라디오 블록과 논리 함수, 변수에 대해 알아보자.

라디오 블록
라디오 블록은 총 10가지 함수가 있고, 기본 함수 7개와 더보기 함수 3개로 구성돼 있다. 라디오는 마이크로비트끼리 상호 무선통신을 할 수 있도록 해주는 필수 기능 함수다. 크게 전송, 수신, 그룹으로 이뤄진 라디오 함수는 더보기에서 무선 신호의 세기 등을 설정할 수 있다. 전송과 수신은 서로 다른 마이크로비트가 서로의 라디오 함수 숫자와 매칭해 무선 조작을 할 수 있게 해, 2개의 마이크로비트를 조절하며 무선 RC카 등을 만들 때 유용하게 사용할 수 있다. 이 기능과 여러 호환 센서 모듈 등을 활용해 스마트 RC 카 등 여러 프로젝트를 만들 때 도움이 된다.

‘라디오 전송 [0]’ 함수는 ‘라디오 수신하면 실행 [receivedNumber]’과 상응하는 함수다. receivedNumber가 0이란 숫자라면 서로 통신을 할 수 있는 함수로, 숫자는 0~255까지 있다.

‘라디오 전송 [“name”] = [0]’ 함수는 ‘라디오 수신하면 실행 [name] [value]’와 상응하는 함수로, 라디오 전송에 글자를 포함해 전송할 수 있는 함수다. 다른 마이크로비트에서 ‘name = 0’이라면 서로의 무선 신호가 맞아 조종할 수 있게 된다.

‘라디오 전송 [“”]’ 은 ‘라디오 수신하면 실행 [receivedString]’과 상응하는 함수다. receivedString 내의 글자 값과 라디오 전송 내의 글자 값이 같다면 서로 통신할 수 있는 함수다.

‘라디오 수신하면 실행 [receivedNumber]’ 함수다. 여기서 receivedNumber는 변수로, 만약 0번이라면 다른 마이크로비트에서 ‘라디오 전송 0’을 실행했을 때 이 함수가 실행된다.

‘라디오 수신하면 실행 [name] [value]’ 는 위의 ‘라디오 전송 [“name”] = [0]’에 상응하는 함수다. 글자 값과 value의 변수 값이 전송 값과 동시에 맞다면 이 함수를 실행시킨다.

‘라디오 수신하면 실행 [receivedString]’ 함수는 ‘라디오 전송 [“”]’ 함수와 상응하는 함수로, 예를 들어 name이란 글자 값을 받았을 때 receivedString의 값이 name이라면 실행되는 함수다.

‘라디오 그룹 설정 [1]’은 마이크로비트 내의 라디오 숫자를 설정하는 것으로, 중간에 라디오 숫자를 바꿔줄 수 있다.

‘라디오 전송 강도 설정 [7]’은 마이크로비트 내의 라디오 전송 함수를 사용할 때 라디오의 전송 강도를 설정할 수 있는 함수다.

‘라디오 시리얼 번호 전송 설정 [참(true)]’은 라디오 전송 함수를 사용할 때 라디오 내의 시리얼 번호를 변수화해, 다른 마이크로비트에 설정할 수 있는 여부에 대한 함수다.

‘라디오 수신 패킷을 시리얼로 전송’ 함수는 라디오가 제대로 수신됐는지에 대한 패킷을 마이크로비트에 다시 전송하는 함수다.

 

논리 함수

If 함수는 가장 기본적이고 중요한 함수로, 조건문이 참이거나 거짓일 때 그에 맞는 기능을 수행한다. 조건은 논리 함수(and, or 등), 계산식(더하기, 빼기, 곱하기, 나누기) 등을 조합해 만들 수 있고, 이를 통해 동작하고자 하는 알고리즘을 수행할 수 있다.

다음은 부등호 함수다. 조건식에 주로 사용되며 보통 센서 값이 일정수치보다 크거나 작을 때 그에 따른 동작을 시키기 위해 사용된다. 보통 >, <, = 등 3개가 많이 사용되며, 적용할 수 있는 6가지 부등호가 존재한다.

이 블록은 그리고(and), 또는(or) 조건식을 만들 수 있다. 그리고(and) 함수는 두 조건이 모두 참일 때 참을 출력하고 그 외의 경우는 거짓을 출력한다. 또는(or) 함수는 두 조건 중 하나라도 만족될 경우 참을 출력하고, 둘 다 거짓일 경우만 거짓을 출력한다.

반대로 (not)블록은 결과를 반대로 만들어준다. 입력이 참일 경우 거짓을, 입력이 거짓일 경우 참을 출력한다.

참(ture), 거짓(false)블록은 말 그대로 참과 거짓을 바로 출력해준다.

 

변수
코딩의 꽃인 ‘변수’에 대해 알아보자. 변수는 마이크로비트와 연결된 센서 값이나 임의의 연산을 진행할 때 필수라 할 수 있는 부분이다. 변수를 만들어 센서 값을 실시간으로 저장하고 출력할 수 있다. 마이크로비트 코딩에서의 변수는 필요한 개수만큼 지정해줘야 하는데, 개수가 부족하면 새로 만들어 주면 된다.

변수 만들기를 클릭하면 이와 같은 화면이 나온다. 이름을 입력하고 확인을 누르면 변수가 생성된다.

변수들은 생성되고 나면 변수 칸에 저장되며, 이를 끌어다가 사용할 수 있다. 오른쪽 아래의 방향 화살표를 눌러 다른 변수로 변경할 수도 있다.

위 블록은 변수 값을 저장하거나 임의로 증가시킬 수 있다. 변수 값을 저장하는 기능은 센서 값이나 임의의 숫자를 저장해 조건문, 연산 등에 사용된다. 증가시키는 기능은 카운터 기능에 주로 사용되며, 임의의 값에 수치를 보정해주기 위해 사용되기도 한다.

 

글: 전자 엔지니어 전문몰 아이씨뱅큐

#아이씨뱅큐#icbanq#마이크로비트#microbit#함수#led#블록#논리#변수#if#라디오#센서#부등호#스마트

정환용 기자  hyjeong@epnc.co.kr

<저작권자 © EP&C News, 무단 전재 및 재배포 금지>

정환용 기자의 다른기사 보기
icon인기기사
PREV NEXT

여백
여백
여백
여백
여백
icon
여백
여백
여백
신제품
여백
Back to Top