이 책에서는 마이크로소프트의 자바스크립트 블록 에디터에 대해서 살펴보는데, 먼저 이해하기 쉬운 블록에 대해서 알아보고 각 장의 마지막에서 자바스크립트에 대해서 살펴본다. 이를 위해 먼저 이번 장에서는 BBC micro:bit를 사용하는 데 필요한 개발환경에 대해서 알아보고, 프로그래밍에 사용되는 블록들에 대해서 살펴본다. 그리고 ‘Hello World!’ 프로그래밍을 통해 BBC micro:bit를 위한 애플리케이션의 작성 과정에 대해서 살펴보도록 하겠다.
--- p.38
자바스크립트 블록 에디터에서는 프로젝트의 생성과 삭제 등의 기능을 제공한다. 새로운 코드를 작성하고 싶은 경우 그림 2-13의 프로젝트 팝업에서 새 프로젝트(New Project...) 버튼을 클릭한다. 버튼을 클릭하면 새로운 프로젝트를 코딩을 작업할 수 있도록 비어있는 개발환경을 바로 표시된다. 또한, 생성한 프로젝트를 삭제하고 싶은 경우에는 프로젝트 관리 버튼을 누르면 ‘프로젝트 삭제(Delete Project)’ 항목을 선택하면 된다.
--- p.51
이제 앞의 코드를 좀 더 수정해보자. 5×5 LED 매트릭스는 y축에서는 0번의 첫 번째 줄만 사용하고 있다. X축으로 0부터 4까지 LED를 켜고 나서 다음 y축으로 다시 진행하려면 어떤 식으로 수정하면 될까? 이때는 x축의 방향과 y축의 방향으로 두 번의 반복이 필요하다. 그림 5-16의 순서도와 같이 2개의 ‘for’ 루프를 사용하면 되는데, 앞의 코드를 다시 수정해보자.
--- p.159
변수에 값을 설정하기 위해서는 “할당(assign)” 블록이 필요하다. “산술 연산” 블록은 혼자서는 사용할 수 없고, “할당” 블록이나 “변환(change)” 블록을 사용해야 하고, 현재 변수에 설정된 값을 “획득(get)” 블록을 이용해서 가져올 수 있다. 블록과 자바스크립트에서는 변수와 산술 연산자 등을 이용해서 다양한 계산을 지원하고 있다.
--- p.255
앞의 블록에서 주사위 게임은 “기본(Basic)” 코딩 블록의 “LED 표시(showLeds)” 함수를 사용해서 간단하게 스크린의 LED 패턴을 설정하였다. 그렇지만 여기에서는 2장에서 설명한 사용자 함수와 “Led” 코딩 블록의 “표시(plot)” 함수를 사용해서 주사위를 만들어보겠다. 주사위의 눈을 보면 앞에서 설명한 것과 같이 ‘3’은 ‘1’과 ‘2’를 동시에 표시하면 되고, ‘5’는 ‘4’와 ‘1’을 동시에 표시하면 된다.
--- p.311
확장 꾸러미는 기본적으로 제공되는 블록 이외에도 다양한 부품을 편하게 사용할 수 있도록 해줍니다. 여기서 다운로드한 neopixel은 여러 색이 나오는 LED를 쉽게 사용할 수 있도록 다른 사용자가 만든 블록인 셈이죠! 이렇게 ‘확장 프로그램’을 사용하면 다른 부품을 사용할 때도 어렵게 코딩하지 않고 쉽게 사용할 수 있습니다.
--- p.55
토양 습도 센서의 값이 700보다 크다는 것은 거짓말을 해서 손에 땀이 난 상태를 의미합니다. 거짓말을 했다는 것을 다같이 알 수 있도록 LED 모듈과 디스플레이를 사용해 보겠습니다. 핀 꾸러미에서 ‘P0’에 디지털 값 ‘0’ 출력 블록을 가져와 LED 모듈을 배선한 ‘P2’로 변경하고, LED를 켜기(ON) 위해 출력을 1로 변경해 주세요.
--- p.79
이 프로젝트는 마이크로비트 두 개를 사용합니다. 하나는 ‘송신부’로, 다른 하나는 ‘수신부’로 사용하므로 코드도 송신부와 수신부 하나씩 총 두 개를 만들어야 합니다. 수신부는 송신부에서 보내는 값에 따라 LED를 켜고 끄는 역할을 하며, 송신부는 마치 리모콘처럼 수신부 마이크로비트에 신호를 보냅니다.
--- p.114
이 코드는 먼저 마이크로비트의 내장 버튼 A와 B를 눌러 원하는 숫자 두 개를 만들어 변수 A와 B에 저장합니다(버튼을 누를 때마다 각 변수 값이 1씩 증가). 그리고 ADKey의 A 버튼을 누르면 변수 A와 B를 합한 값을 출력하고, B 버튼을 누르면 변수 A와 B를 뺄셈한 값을 출력하고, C 버튼을 누르면 변수 A와 B를 곱한 값을 출력하고, D 버튼을 누르면 변수 A와 B를 나눈 값을 출력합니다. 마지막으로, E 버튼을 누르면 모든 변수에 저장된 값을 초기화합니다.
--- p.179
이 블록 코드는 아날로그 광센서를 통해 서보 모터를 동작하여 쓰레기통이 열리고 닫히는 동작을 구현합니다. 여기서 변수 ‘A’는 약 0.5초마다 빛 센서 값을 저장하며, 현재 측정되고 있는 빛 센서 값과 비교하여 0.5초 전보다 어두워졌다면, 즉 사람이 쓰레기통에 다가가 빛을 가려 어두워졌다면 서보 모터 동작을 통해 쓰레기통을 열고, 0.5초 전보다 어둡지 않다면 쓰레기통을 닫힌 상태로 지속합니다.
--- p.198