2부 · 한 걸음 더

버튼 하나로 켜고 끌 순 없을까요?

방금 만든 선풍기는 켤 때 A, 끌 때 B — 버튼이 두 개나 필요했어요.

우리 집 선풍기 스위치를 생각해봐요. 한 번 누르면 켜지고, 또 누르면 꺼지죠? 버튼 하나로 두 가지 일을 하는 거예요.

마이크로비트도 그렇게 만들 수 있어요. 대신 마이크로비트가 "지금 켜져 있나, 꺼져 있나"를 기억할 수 있어야 해요. 그 기억을 도와주는 게 바로 오늘 배울 변수예요.

🔌 하드웨어는 1부 그대로예요! 모터는 P1에 그냥 두고, 코드만 바꾸면 돼요.

🧠 변수 = "기억 상자"

변수는 무언가를 적어두는 작은 상자예요. 우리는 이 상자에 켜짐이라는 이름을 붙이고, 선풍기가 켜져 있으면 1, 꺼져 있으면 0을 적어둘 거예요.

📦 1

상자에 1 → 지금 켜짐

📦 0

상자에 0 → 지금 꺼짐

A 버튼을 누를 때마다 마이크로비트는 상자를 열어봐요 — "지금 0(꺼짐)이네? 그럼 켜고, 상자에 1이라고 바꿔 적자!" 다음에 또 누르면 "지금 1(켜짐)이네? 그럼 끄고, 상자에 0이라고 바꿔 적자!" 이렇게 상자를 보고 반대로 바꾸니까, 버튼 하나로 켰다 껐다 할 수 있는 거예요.

🛠️ 이렇게 바꿔요

1

변수 상자 '켜짐'을 만들어요

makecode에서 빨간색 변수 서랍을 열고 "변수 만들기"를 눌러요. 상자 이름은 켜짐이라고 적어요. 이제 이 상자를 코드에서 쓸 수 있어요.

2

블록을 이렇게 조립해요

아래 그림과 똑같이 맞춰요. 1부보다 블록이 조금 많지만, 천천히 하나씩 끼우면 돼요.

A 버튼 누를 때, 만약 켜짐=0 이면 P1에 1 출력하고 켜짐에 1 저장, 아니면 P1에 0 출력하고 켜짐에 0 저장하는 블록

🔍 새로 쓰는 블록은 어디에?

  • · 만약 ~ 이면 / 아니면 → 하늘색 논리 서랍에 있어요. (아래 +를 누르면 "아니면"이 생겨요.)
  • · = 비교 블록 (켜짐 = 0) → 같은 논리 서랍이에요.
  • · 켜짐에 1 저장 / 켜짐 값 → 빨간색 변수 서랍에서 꺼내요.
  • · P1에 디지털 값 출력 → 1부에서 쓴 고급 → 핀 블록 그대로예요.
3

옮겨 담고, 눌러서 확인해요!

다운로드로 마이크로비트에 옮긴 뒤, A 버튼을 눌러봐요.

A 한 번 → 돌아요 🌀 · A 또 한 번 → 멈춰요 ✋ · 또 누르면 → 다시 돌아요!

버튼 하나로 켰다 껐다! 방금 여러분은 변수를 처음 써봤어요. 👏

🩺 이상하게 움직여요?

  • 🔁계속 돌기만 하거나 안 돌아요? "만약 켜짐 = 0 이면" 부분에서 숫자가 0이 맞는지 봐요.
  • 📦'켜짐에 저장' 블록을 빠뜨리지 않았나요? 상자에 새 값을 안 적으면 마이크로비트가 계속 헷갈려요.
  • 📌핀이 P1인가요? 두 개의 "디지털 값 출력" 모두 P1이어야 해요.
  • 🙋블록 순서가 헷갈리면 위 그림과 한 줄씩 비교하거나 선생님을 불러요.