라즈베리파이 피코 WH 프로젝트 예제 50개 평가형 자료

MicroPython 코드 + 개념확인 OX 50문항 + 코드 관련 서술형 50문항 + 상세 풀이

응시 후 학번_이름_피코_점수_응시날짜.txt 형식으로 결과 파일을 저장할 수 있습니다.

📝 응시자 정보 및 점수 산출

OX 맞힌 개수0 / 50
OX 점수0
서술형교사 채점

※ OX는 자동 채점됩니다. 서술형은 예시 답안과 비교하여 교사가 별도 채점할 수 있습니다.

🔗 프로젝트 바로가기

PROJECT 01

내장 LED 깜빡이기

핵심 개념기본 출력 / GPIO
준비물내장 LED
연결별도 연결 없음
주의Pico WH에서는 내장 LED를 Pin('LED')로 제어합니다.

💻 MicroPython 코드

from machine import Pin
import time

led = Pin("LED", Pin.OUT)

while True:
    led.value(1)
    time.sleep(0.5)
    led.value(0)
    time.sleep(0.5)

✅ 개념 확인 OX 퀴즈

문제 1-1. Pin('LED', Pin.OUT)은 Pico WH의 내장 LED를 출력 장치로 사용하기 위한 설정이다.

상세 풀이 보기

정답: O

Pin('LED', Pin.OUT)은 내장 LED를 출력 모드로 설정한다. led.value(1)은 켜기, led.value(0)은 끄기에 해당하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 1-2. 이 코드에서 time.sleep(0.5)가 하는 역할을 서술하시오.

예시 답안 및 상세 풀이 보기

time.sleep(0.5)는 프로그램을 0.5초 동안 멈추게 한다. 따라서 LED가 0.5초 켜지고 0.5초 꺼지는 깜빡임 주기가 만들어진다.

PROJECT 02

외부 LED 켜고 끄기

핵심 개념디지털 출력
준비물LED + 220Ω 저항
연결GP15 → 저항 → LED(+) / LED(-) → GND
주의LED에는 전류 제한 저항이 필요합니다.

💻 MicroPython 코드

from machine import Pin
import time

led = Pin(15, Pin.OUT)

while True:
    led.on()
    time.sleep(1)
    led.off()
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 2-1. led.on()과 led.off()는 GP15에 연결된 LED의 상태를 바꾸는 명령이다.

상세 풀이 보기

정답: O

led는 GP15 출력 핀 객체이다. led.on()은 HIGH 출력, led.off()는 LOW 출력을 만들어 LED를 켜고 끄므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 2-2. 외부 LED 회로에서 저항을 사용하는 이유를 서술하시오.

예시 답안 및 상세 풀이 보기

저항은 LED에 과도한 전류가 흐르는 것을 막는다. 저항 없이 연결하면 LED나 Pico WH의 GPIO 핀이 손상될 수 있다.

PROJECT 03

버튼 입력으로 LED 제어

핵심 개념디지털 입력 / 풀업
준비물버튼, LED
연결버튼: GP14-GND / LED: GP15
주의PULL_UP이면 버튼을 누르지 않았을 때 1, 누르면 0이 됩니다.

💻 MicroPython 코드

from machine import Pin
import time

button = Pin(14, Pin.IN, Pin.PULL_UP)
led = Pin(15, Pin.OUT)

while True:
    if button.value() == 0:
        led.on()
    else:
        led.off()
    time.sleep(0.05)

✅ 개념 확인 OX 퀴즈

문제 3-1. Pin.PULL_UP을 사용하면 버튼을 누르지 않았을 때 button.value()는 보통 1이다.

상세 풀이 보기

정답: O

내부 풀업 저항은 입력 핀을 기본적으로 HIGH 상태로 유지한다. 버튼을 누르면 GND와 연결되어 0이 되므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 3-2. 이 코드에서 if button.value() == 0 조건이 버튼이 눌렸다는 뜻인 이유를 서술하시오.

예시 답안 및 상세 풀이 보기

버튼 한쪽이 GND에 연결되어 있고 입력 핀은 PULL_UP 상태이다. 버튼을 누르면 GP14가 GND와 연결되어 LOW, 즉 0이 된다.

PROJECT 04

버튼 누른 횟수 세기

핵심 개념입력 이벤트 / 상태 변화
준비물버튼
연결버튼 한쪽 GP14, 다른쪽 GND
주의old와 now를 비교하여 누르는 순간만 카운트합니다.

💻 MicroPython 코드

from machine import Pin
import time

button = Pin(14, Pin.IN, Pin.PULL_UP)
count = 0
old = 1

while True:
    now = button.value()
    if old == 1 and now == 0:
        count += 1
        print("누른 횟수:", count)
        time.sleep(0.2)
    old = now

✅ 개념 확인 OX 퀴즈

문제 4-1. old == 1 and now == 0 조건은 버튼이 눌리는 순간을 감지하는 데 사용된다.

상세 풀이 보기

정답: O

이전 상태가 1이고 현재 상태가 0이면 버튼이 방금 눌린 순간이다. 계속 누르고 있는 동안 반복해서 세지 않도록 하는 조건이므로 O이다.

✍️ 코드 관련 서술형

문제 4-2. old = now를 반복문 끝에서 실행하는 이유를 서술하시오.

예시 답안 및 상세 풀이 보기

현재 버튼 상태를 다음 반복에서 이전 상태로 사용하기 위해서이다. 이를 통해 상태 변화, 즉 누르는 순간을 판별할 수 있다.

PROJECT 05

부저로 삐 소리 내기

핵심 개념디지털 출력
준비물능동 부저
연결부저 +: GP16 / -: GND
주의능동 부저는 HIGH 신호만으로 소리가 납니다.

💻 MicroPython 코드

from machine import Pin
import time

buzzer = Pin(16, Pin.OUT)

while True:
    buzzer.on()
    time.sleep(0.2)
    buzzer.off()
    time.sleep(0.8)

✅ 개념 확인 OX 퀴즈

문제 5-1. 능동 부저는 단순히 HIGH/LOW 신호를 주는 것만으로도 소리를 낼 수 있다.

상세 풀이 보기

정답: O

능동 부저 내부에는 발진 회로가 있어 전원을 주면 소리가 난다. 따라서 on/off만으로 삐 소리를 만들 수 있다.

✍️ 코드 관련 서술형

문제 5-2. 이 코드에서 부저가 한 주기 동안 켜져 있는 시간과 꺼져 있는 시간을 쓰시오.

예시 답안 및 상세 풀이 보기

부저는 0.2초 동안 켜지고 0.8초 동안 꺼진다. 따라서 전체 반복 주기는 약 1초이다.

PROJECT 06

PWM 부저 음계 만들기

핵심 개념PWM / 주파수
준비물수동 부저
연결부저 +: GP16 / -: GND
주의수동 부저는 주파수를 바꾸어 음 높이를 조절합니다.

💻 MicroPython 코드

from machine import Pin, PWM
import time

buzzer = PWM(Pin(16))
notes = [262, 294, 330, 349, 392, 440, 494, 523]

for n in notes:
    buzzer.freq(n)
    buzzer.duty_u16(30000)
    time.sleep(0.3)

buzzer.duty_u16(0)

✅ 개념 확인 OX 퀴즈

문제 6-1. buzzer.freq(n)은 부저에서 나는 소리의 높이를 결정하는 주파수를 바꾼다.

상세 풀이 보기

정답: O

PWM의 주파수를 바꾸면 수동 부저의 진동 주파수가 달라져 음의 높이가 바뀐다. 따라서 O이다.

✍️ 코드 관련 서술형

문제 6-2. 마지막에 buzzer.duty_u16(0)을 실행하는 이유를 서술하시오.

예시 답안 및 상세 풀이 보기

PWM 출력의 듀티를 0으로 만들어 부저가 더 이상 울리지 않게 하기 위해서이다.

PROJECT 07

LED 밝기 조절

핵심 개념PWM 출력
준비물LED + 220Ω 저항
연결GP15 → 저항 → LED → GND
주의PWM 듀티비가 커질수록 LED가 더 밝게 보입니다.

💻 MicroPython 코드

from machine import Pin, PWM
import time

led = PWM(Pin(15))
led.freq(1000)

while True:
    for duty in range(0, 65535, 2000):
        led.duty_u16(duty)
        time.sleep(0.03)
    for duty in range(65535, 0, -2000):
        led.duty_u16(duty)
        time.sleep(0.03)

✅ 개념 확인 OX 퀴즈

문제 7-1. PWM 듀티 값이 커지면 LED가 켜져 있는 비율이 증가하여 더 밝게 보인다.

상세 풀이 보기

정답: O

PWM은 빠르게 켜고 끄는 방식이다. duty_u16 값이 커질수록 켜져 있는 시간이 길어져 평균 밝기가 증가한다.

✍️ 코드 관련 서술형

문제 7-2. 이 코드에서 두 개의 for문이 각각 어떤 효과를 만드는지 서술하시오.

예시 답안 및 상세 풀이 보기

첫 번째 for문은 LED를 점점 밝게 만들고, 두 번째 for문은 LED를 점점 어둡게 만든다. 그래서 숨쉬는 듯한 밝기 변화가 나타난다.

PROJECT 08

RGB LED 색 바꾸기

핵심 개념PWM 3채널
준비물RGB LED
연결R:GP13 / G:GP14 / B:GP15
주의공통 음극 RGB LED 기준입니다.

💻 MicroPython 코드

from machine import Pin, PWM
import time

r = PWM(Pin(13)); g = PWM(Pin(14)); b = PWM(Pin(15))
for x in (r, g, b):
    x.freq(1000)

colors = [(65535,0,0), (0,65535,0), (0,0,65535), (65535,65535,0), (0,65535,65535)]

while True:
    for cr, cg, cb in colors:
        r.duty_u16(cr); g.duty_u16(cg); b.duty_u16(cb)
        time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 8-1. RGB LED는 빨강, 초록, 파랑 LED의 밝기 조합으로 여러 색을 표현할 수 있다.

상세 풀이 보기

정답: O

RGB LED는 세 가지 기본 색상의 밝기를 각각 조절하여 혼합색을 만든다. 코드에서는 세 PWM 듀티 값을 조합한다.

✍️ 코드 관련 서술형

문제 8-2. colors 리스트의 (65535, 65535, 0)은 어떤 색에 가까운지 쓰고 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

빨강과 초록이 최대이고 파랑이 0이므로 노란색에 가깝다. 빛의 삼원색에서는 빨강+초록이 노랑으로 보인다.

PROJECT 09

가변저항 값 읽기

핵심 개념ADC 아날로그 입력
준비물가변저항
연결가운데: GP26 / 양끝: 3V3, GND
주의ADC 값은 0~65535 범위로 읽힙니다.

💻 MicroPython 코드

from machine import ADC
import time

pot = ADC(26)

while True:
    value = pot.read_u16()
    print("가변저항:", value)
    time.sleep(0.2)

✅ 개념 확인 OX 퀴즈

문제 9-1. ADC(26)은 GP26 핀을 아날로그 입력으로 사용한다.

상세 풀이 보기

정답: O

Pico WH의 ADC 입력 핀 중 하나가 GP26이다. ADC(26)은 이 핀의 전압을 디지털 값으로 변환한다.

✍️ 코드 관련 서술형

문제 9-2. read_u16()이 반환하는 값의 의미를 서술하시오.

예시 답안 및 상세 풀이 보기

read_u16()은 입력 전압의 크기를 0부터 65535 사이의 정수로 변환해 반환한다. 전압이 높을수록 값이 커진다.

PROJECT 10

가변저항으로 LED 밝기 조절

핵심 개념ADC + PWM
준비물가변저항, LED
연결ADC:GP26 / LED:GP15
주의ADC 값을 LED PWM 듀티 값으로 직접 사용합니다.

💻 MicroPython 코드

from machine import Pin, ADC, PWM
import time

pot = ADC(26)
led = PWM(Pin(15))
led.freq(1000)

while True:
    value = pot.read_u16()
    led.duty_u16(value)
    print(value)
    time.sleep(0.05)

✅ 개념 확인 OX 퀴즈

문제 10-1. 가변저항에서 읽은 ADC 값을 PWM 듀티 값으로 사용하면 LED 밝기를 조절할 수 있다.

상세 풀이 보기

정답: O

ADC 값과 PWM duty_u16 값은 모두 0~65535 범위를 사용한다. 그래서 가변저항 값이 LED 밝기로 자연스럽게 연결된다.

✍️ 코드 관련 서술형

문제 10-2. 이 코드는 입력과 출력이 어떻게 연결된 예제인지 서술하시오.

예시 답안 및 상세 풀이 보기

가변저항은 사용자의 회전 입력을 아날로그 전압으로 만들고, Pico WH는 이를 ADC 값으로 읽는다. 그 값을 PWM 듀티로 사용하여 LED 밝기라는 출력으로 바꾼다.

PROJECT 11

조도센서 값 읽기

핵심 개념ADC / 빛 센서
준비물LDR 조도센서 모듈
연결AO:GP26 / VCC:3V3 / GND:GND
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import ADC
import time

light = ADC(26)

while True:
    value = light.read_u16()
    print("밝기값:", value)
    time.sleep(0.5)

✅ 개념 확인 OX 퀴즈

문제 11-1. light.read_u16()은 빛의 세기를 디지털 값으로 읽는다.

상세 풀이 보기

정답: O

조도센서 모듈의 아날로그 출력은 빛의 세기에 따라 달라지며 ADC로 읽을 수 있다.

✍️ 코드 관련 서술형

문제 11-2. 조도센서 값을 주기적으로 출력하면 어떤 상황을 관찰할 수 있는지 서술하시오.

예시 답안 및 상세 풀이 보기

주변 밝기가 변할 때 센서값이 어떻게 증가하거나 감소하는지 관찰할 수 있다.

PROJECT 12

어두우면 LED 켜기

핵심 개념조건문 + ADC
준비물조도센서, LED
연결LDR AO:GP26 / LED:GP15
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import Pin, ADC
import time

light = ADC(26)
led = Pin(15, Pin.OUT)

while True:
    value = light.read_u16()
    if value < 25000:
        led.on()
    else:
        led.off()
    print(value)
    time.sleep(0.2)

✅ 개념 확인 OX 퀴즈

문제 12-1. if value < 25000 조건은 어두운 상태를 판단하기 위한 임계값 비교이다.

상세 풀이 보기

정답: O

센서 회로에 따라 값의 방향은 달라질 수 있지만, 이 코드에서는 25000보다 작을 때 어둡다고 판단한다.

✍️ 코드 관련 서술형

문제 12-2. 임계값 25000을 실험 환경에 맞게 바꾸어야 하는 이유를 서술하시오.

예시 답안 및 상세 풀이 보기

교실, 창가, 센서 모듈 종류에 따라 밝기 값이 다르게 측정되므로 실제 측정값을 보고 적절히 조정해야 한다.

PROJECT 13

토양 습도 센서 읽기

핵심 개념ADC / 환경 데이터
준비물토양 습도 센서
연결AO:GP27 / VCC:3V3 / GND:GND
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import ADC
import time

soil = ADC(27)

while True:
    value = soil.read_u16()
    print("토양 습도 원시값:", value)
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 13-1. 토양 습도 센서는 흙의 상태를 아날로그 값으로 나타낼 수 있다.

상세 풀이 보기

정답: O

센서의 AO 핀은 습도 변화에 따른 전압을 출력하고 GP27의 ADC가 이를 숫자로 바꾼다.

✍️ 코드 관련 서술형

문제 13-2. 토양 습도 센서를 오래 사용할 때 주의할 점을 서술하시오.

예시 답안 및 상세 풀이 보기

금속 탐침이 흙 속에서 부식될 수 있으므로 계속 전원을 넣어 두지 않거나 부식 방지형 센서를 사용하는 것이 좋다.

PROJECT 14

자동 물주기 알림

핵심 개념ADC + 부저
준비물토양습도센서, 부저
연결SOIL:GP27 / BUZZER:GP16
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import Pin, ADC
import time

soil = ADC(27)
buzzer = Pin(16, Pin.OUT)

while True:
    value = soil.read_u16()
    if value > 45000:
        buzzer.on()
        print("흙이 건조합니다!")
    else:
        buzzer.off()
        print("습도 적당:", value)
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 14-1. value > 45000일 때 부저가 울리는 것은 건조 상태를 알리기 위한 조건이다.

상세 풀이 보기

정답: O

이 코드는 토양 센서값이 임계값보다 크면 건조하다고 판단하여 부저를 켠다.

✍️ 코드 관련 서술형

문제 14-2. 이 예제를 실제 자동 물주기 장치로 확장하려면 어떤 장치가 추가로 필요한지 서술하시오.

예시 답안 및 상세 풀이 보기

부저 대신 또는 부저와 함께 워터펌프, 릴레이나 모터드라이버, 외부 전원이 필요하다.

PROJECT 15

온도 센서 LM35 읽기

핵심 개념ADC / 온도 변환
준비물LM35
연결OUT:GP26 / VCC:3V3 / GND:GND
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import ADC
import time

sensor = ADC(26)

while True:
    raw = sensor.read_u16()
    voltage = raw * 3.3 / 65535
    temp_c = voltage * 100
    print("온도:", temp_c, "°C")
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 15-1. voltage = raw * 3.3 / 65535는 ADC 원시값을 전압으로 바꾸는 계산이다.

상세 풀이 보기

정답: O

ADC 값은 0~65535이고 기준 전압은 약 3.3V이므로 비례식을 이용해 전압을 계산한다.

✍️ 코드 관련 서술형

문제 15-2. temp_c = voltage * 100의 의미를 LM35 특성과 연결하여 설명하시오.

예시 답안 및 상세 풀이 보기

LM35는 섭씨 1도당 약 10mV를 출력하므로 전압 V에 100을 곱하면 대략 섭씨 온도가 된다.

PROJECT 16

Pico 내부 온도 측정

핵심 개념내장 ADC
준비물내부 온도 센서
연결별도 연결 없음
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import ADC
import time

sensor = ADC(4)
conversion = 3.3 / 65535

while True:
    voltage = sensor.read_u16() * conversion
    temp = 27 - (voltage - 0.706) / 0.001721
    print("내부 온도:", temp)
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 16-1. ADC(4)는 Pico 내부 온도 센서 값을 읽는 데 사용된다.

상세 풀이 보기

정답: O

MicroPython에서 ADC(4)는 RP2040 내부 온도 센서 입력에 해당한다.

✍️ 코드 관련 서술형

문제 16-2. 내부 온도값이 주변 공기 온도와 정확히 같지 않을 수 있는 이유를 서술하시오.

예시 답안 및 상세 풀이 보기

칩 자체가 동작하면서 열을 내기 때문에 내부 온도는 주변 공기 온도보다 높거나 다르게 측정될 수 있다.

PROJECT 17

DHT11 온습도 읽기

핵심 개념디지털 센서
준비물DHT11
연결DATA:GP15 / VCC:3V3 / GND:GND
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import Pin
import dht
import time

sensor = dht.DHT11(Pin(15))

while True:
    sensor.measure()
    print("온도:", sensor.temperature(), "°C")
    print("습도:", sensor.humidity(), "%")
    time.sleep(2)

✅ 개념 확인 OX 퀴즈

문제 17-1. sensor.measure()를 실행한 뒤 temperature()와 humidity() 값을 읽는다.

상세 풀이 보기

정답: O

DHT 센서는 측정 명령 후 온도와 습도 데이터를 갱신한다.

✍️ 코드 관련 서술형

문제 17-2. DHT11 예제에서 time.sleep(2)를 사용하는 이유를 서술하시오.

예시 답안 및 상세 풀이 보기

DHT11은 너무 빠르게 연속 측정하면 정확하지 않을 수 있으므로 일정 시간 간격을 두고 측정한다.

PROJECT 18

DHT22 정밀 온습도

핵심 개념디지털 센서
준비물DHT22
연결DATA:GP15
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import Pin
import dht
import time

sensor = dht.DHT22(Pin(15))

while True:
    sensor.measure()
    print("온도:", sensor.temperature())
    print("습도:", sensor.humidity())
    time.sleep(2)

✅ 개념 확인 OX 퀴즈

문제 18-1. DHT22는 DHT11보다 일반적으로 더 정밀한 온습도 측정에 사용된다.

상세 풀이 보기

정답: O

DHT22는 DHT11보다 측정 범위와 정밀도가 좋은 센서로 많이 사용된다.

✍️ 코드 관련 서술형

문제 18-2. DHT11 코드에서 DHT22로 바꿀 때 코드상 핵심 변경점을 서술하시오.

예시 답안 및 상세 풀이 보기

dht.DHT11(Pin(15)) 대신 dht.DHT22(Pin(15))로 센서 객체를 만들면 된다.

PROJECT 19

초음파 거리 측정

핵심 개념펄스 시간 측정
준비물HC-SR04
연결TRIG:GP3 / ECHO:GP2
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import Pin, time_pulse_us
import time

trig = Pin(3, Pin.OUT)
echo = Pin(2, Pin.IN)

while True:
    trig.low()
    time.sleep_us(2)
    trig.high()
    time.sleep_us(10)
    trig.low()

    duration = time_pulse_us(echo, 1)
    distance = duration * 0.0343 / 2
    print("거리:", distance, "cm")
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 19-1. distance = duration * 0.0343 / 2는 왕복 시간을 이용하여 거리를 계산한다.

상세 풀이 보기

정답: O

초음파는 물체까지 갔다가 되돌아오므로 왕복 거리이다. 그래서 시간에 음속을 곱한 뒤 2로 나눈다.

✍️ 코드 관련 서술형

문제 19-2. HC-SR04의 Echo 신호를 Pico WH에 연결할 때 주의할 점을 서술하시오.

예시 답안 및 상세 풀이 보기

Echo가 5V로 출력되는 모듈은 Pico WH GPIO에 직접 넣으면 위험하므로 저항 분배나 레벨 시프터가 필요하다.

PROJECT 20

거리 가까우면 경고음

핵심 개념초음파 + 부저
준비물HC-SR04, 부저
연결TRIG:GP3 / ECHO:GP2 / BUZZER:GP16
주의센서 모듈별 핀 배열을 확인하세요.

💻 MicroPython 코드

from machine import Pin, time_pulse_us
import time

trig = Pin(3, Pin.OUT)
echo = Pin(2, Pin.IN)
buzzer = Pin(16, Pin.OUT)

while True:
    trig.low(); time.sleep_us(2)
    trig.high(); time.sleep_us(10)
    trig.low()
    duration = time_pulse_us(echo, 1)
    distance = duration * 0.0343 / 2

    buzzer.value(distance < 20)
    print(distance)
    time.sleep(0.2)

✅ 개념 확인 OX 퀴즈

문제 20-1. buzzer.value(distance < 20)는 거리가 20cm보다 작으면 부저를 켠다.

상세 풀이 보기

정답: O

비교식 distance < 20의 결과는 True 또는 False이고, value에 전달되어 부저를 켜거나 끈다.

✍️ 코드 관련 서술형

문제 20-2. 이 예제를 주차 보조 장치처럼 개선하려면 어떤 방식이 좋을지 서술하시오.

예시 답안 및 상세 풀이 보기

거리가 가까워질수록 부저의 울림 간격을 짧게 하거나 OLED에 거리를 표시하면 더 직관적인 경고 장치가 된다.

PROJECT 21

PIR 인체 감지

핵심 개념디지털 입력
준비물PIR 센서
연결OUT:GP14
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

pir = Pin(14, Pin.IN)
led = Pin("LED", Pin.OUT)

while True:
    if pir.value():
        print("움직임 감지!")
        led.on()
    else:
        led.off()
    time.sleep(0.2)

✅ 개념 확인 OX 퀴즈

문제 21-1. PIR 센서는 사람의 움직임을 디지털 신호로 감지할 수 있다.

상세 풀이 보기

정답: O

PIR 인체 감지 예제의 핵심 개념은 디지털 입력이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 21-2. PIR 센서를 보안등에 활용하는 원리를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: PIR 센서를 보안등에 활용하는 원리를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 22

기울기 센서

핵심 개념디지털 입력
준비물Tilt sensor
연결OUT:GP14
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

tilt = Pin(14, Pin.IN, Pin.PULL_UP)

while True:
    if tilt.value() == 0:
        print("기울어짐")
    else:
        print("정상")
    time.sleep(0.5)

✅ 개념 확인 OX 퀴즈

문제 22-1. 기울기 센서는 기울어진 상태를 0 또는 1로 감지할 수 있다.

상세 풀이 보기

정답: O

기울기 센서 예제의 핵심 개념은 디지털 입력이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 22-2. 기울기 센서가 디지털 입력 예제에 적합한 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 기울기 센서가 디지털 입력 예제에 적합한 이유를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 23

진동 센서 감지

핵심 개념디지털 입력
준비물진동 센서
연결DO:GP14
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

vibration = Pin(14, Pin.IN)

while True:
    if vibration.value():
        print("진동 발생!")
    time.sleep(0.1)

✅ 개념 확인 OX 퀴즈

문제 23-1. 진동 센서는 충격이나 흔들림을 감지할 때 사용할 수 있다.

상세 풀이 보기

정답: O

진동 센서 감지 예제의 핵심 개념은 디지털 입력이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 23-2. 진동 센서를 도난 경보 장치에 활용하는 방법을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 진동 센서를 도난 경보 장치에 활용하는 방법을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 24

자석 리드 스위치

핵심 개념문 열림 감지
준비물리드 스위치
연결GP14-GND
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

door = Pin(14, Pin.IN, Pin.PULL_UP)

while True:
    if door.value():
        print("문 열림")
    else:
        print("문 닫힘")
    time.sleep(0.5)

✅ 개념 확인 OX 퀴즈

문제 24-1. 리드 스위치는 자석의 접근 여부에 따라 회로가 열리거나 닫힌다.

상세 풀이 보기

정답: O

자석 리드 스위치 예제의 핵심 개념은 문 열림 감지이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 24-2. 문 열림 감지 장치에서 리드 스위치와 자석을 어떻게 배치하는지 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 문 열림 감지 장치에서 리드 스위치와 자석을 어떻게 배치하는지 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 25

서보모터 각도 제어

핵심 개념PWM 제어
준비물SG90 서보
연결Signal:GP15
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin, PWM
import time

servo = PWM(Pin(15))
servo.freq(50)

def angle(a):
    min_duty = 1638
    max_duty = 8192
    duty = int(min_duty + (max_duty - min_duty) * a / 180)
    servo.duty_u16(duty)

while True:
    for a in [0, 45, 90, 135, 180]:
        angle(a)
        time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 25-1. 서보모터는 PWM 신호의 펄스 폭에 따라 각도가 달라진다.

상세 풀이 보기

정답: O

서보모터 각도 제어 예제의 핵심 개념은 PWM 제어이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 25-2. 서보모터에 외부 전원을 권장하는 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 서보모터에 외부 전원을 권장하는 이유를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 26

가변저항으로 서보 제어

핵심 개념ADC + PWM
준비물가변저항, 서보
연결ADC:GP26 / SERVO:GP15
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin, PWM, ADC
import time

pot = ADC(26)
servo = PWM(Pin(15))
servo.freq(50)

while True:
    raw = pot.read_u16()
    duty = int(1638 + raw * (8192 - 1638) / 65535)
    servo.duty_u16(duty)
    print(raw, duty)
    time.sleep(0.05)

✅ 개념 확인 OX 퀴즈

문제 26-1. 가변저항의 ADC 값을 PWM 듀티로 변환하면 서보 각도를 제어할 수 있다.

상세 풀이 보기

정답: O

가변저항으로 서보 제어 예제의 핵심 개념은 ADC + PWM이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 26-2. 이 예제에서 입력 장치와 출력 장치를 각각 쓰고 동작 원리를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 이 예제에서 입력 장치와 출력 장치를 각각 쓰고 동작 원리를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 27

릴레이 제어

핵심 개념디지털 출력
준비물릴레이 모듈
연결IN:GP15
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

relay = Pin(15, Pin.OUT)

while True:
    relay.on()
    print("릴레이 ON")
    time.sleep(2)
    relay.off()
    print("릴레이 OFF")
    time.sleep(2)

✅ 개념 확인 OX 퀴즈

문제 27-1. 릴레이는 작은 제어 신호로 더 큰 전기 회로를 켜고 끄는 데 사용된다.

상세 풀이 보기

정답: O

릴레이 제어 예제의 핵심 개념은 디지털 출력이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 27-2. 릴레이로 고전압 장치를 제어할 때 주의해야 할 점을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 릴레이로 고전압 장치를 제어할 때 주의해야 할 점을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 28

7세그먼트 숫자 표시

핵심 개념다중 GPIO
준비물7세그먼트
연결a~g:GP2~GP8
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

pins = [Pin(i, Pin.OUT) for i in range(2, 9)]
nums = {0:[1,1,1,1,1,1,0], 1:[0,1,1,0,0,0,0], 8:[1,1,1,1,1,1,1]}

while True:
    for n in [0, 1, 8]:
        for p, v in zip(pins, nums[n]):
            p.value(v)
        time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 28-1. 7세그먼트는 여러 LED 조각을 조합하여 숫자를 표시한다.

상세 풀이 보기

정답: O

7세그먼트 숫자 표시 예제의 핵심 개념은 다중 GPIO이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 28-2. 숫자 8을 표시할 때 대부분의 세그먼트가 켜지는 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 숫자 8을 표시할 때 대부분의 세그먼트가 켜지는 이유를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 29

I2C 주소 검색

핵심 개념I2C 기본
준비물I2C 센서/OLED
연결SDA:GP0 / SCL:GP1
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin, I2C

i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
print("I2C 주소:", i2c.scan())

✅ 개념 확인 OX 퀴즈

문제 29-1. i2c.scan()은 연결된 I2C 장치의 주소 목록을 찾는 데 사용된다.

상세 풀이 보기

정답: O

I2C 주소 검색 예제의 핵심 개념은 I2C 기본이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 29-2. I2C 장치 주소를 먼저 확인해야 하는 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: I2C 장치 주소를 먼저 확인해야 하는 이유를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 30

OLED에 글자 출력

핵심 개념I2C OLED
준비물SSD1306 OLED
연결SDA:GP0 / SCL:GP1
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin, I2C
from ssd1306 import SSD1306_I2C

i2c = I2C(0, sda=Pin(0), scl=Pin(1))
oled = SSD1306_I2C(128, 64, i2c)

oled.fill(0)
oled.text("Pico WH", 0, 0)
oled.text("MicroPython", 0, 16)
oled.show()

✅ 개념 확인 OX 퀴즈

문제 30-1. oled.text()는 OLED 화면에 문자열을 출력하는 데 사용된다.

상세 풀이 보기

정답: O

OLED에 글자 출력 예제의 핵심 개념은 I2C OLED이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 30-2. oled.fill(0)과 oled.show()의 역할을 각각 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: oled.fill(0)과 oled.show()의 역할을 각각 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 31

OLED에 센서값 표시

핵심 개념I2C + ADC
준비물OLED, 가변저항
연결OLED I2C / POT:GP26
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin, I2C, ADC
from ssd1306 import SSD1306_I2C
import time

i2c = I2C(0, sda=Pin(0), scl=Pin(1))
oled = SSD1306_I2C(128, 64, i2c)
pot = ADC(26)

while True:
    value = pot.read_u16()
    oled.fill(0)
    oled.text("ADC Value", 0, 0)
    oled.text(str(value), 0, 20)
    oled.show()
    time.sleep(0.3)

✅ 개념 확인 OX 퀴즈

문제 31-1. 센서값을 OLED에 표시하려면 읽기, 화면 지우기, 문자열 출력, show 순서가 필요하다.

상세 풀이 보기

정답: O

OLED에 센서값 표시 예제의 핵심 개념은 I2C + ADC이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 31-2. 센서값을 화면에 계속 갱신할 때 화면을 지우는 과정이 필요한 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 센서값을 화면에 계속 갱신할 때 화면을 지우는 과정이 필요한 이유를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 32

BMP280 기압 센서

핵심 개념I2C 환경센서
준비물BMP280
연결SDA:GP0 / SCL:GP1
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin, I2C
import time
import bmp280

i2c = I2C(0, sda=Pin(0), scl=Pin(1))
bmp = bmp280.BMP280(i2c)

while True:
    print("온도:", bmp.temperature)
    print("기압:", bmp.pressure)
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 32-1. BMP280은 I2C 방식으로 온도와 기압 데이터를 읽을 수 있는 센서이다.

상세 풀이 보기

정답: O

BMP280 기압 센서 예제의 핵심 개념은 I2C 환경센서이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 32-2. 기압 센서 데이터를 날씨 관찰에 활용하는 방법을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 기압 센서 데이터를 날씨 관찰에 활용하는 방법을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 33

MPU6050 가속도 읽기

핵심 개념I2C 모션센서
준비물MPU6050
연결SDA:GP0 / SCL:GP1
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin, I2C
import time
from mpu6050 import MPU6050

i2c = I2C(0, sda=Pin(0), scl=Pin(1))
mpu = MPU6050(i2c)

while True:
    acc = mpu.read_accel_data()
    print(acc)
    time.sleep(0.5)

✅ 개념 확인 OX 퀴즈

문제 33-1. MPU6050은 가속도와 자이로 데이터를 측정하는 모션 센서이다.

상세 풀이 보기

정답: O

MPU6050 가속도 읽기 예제의 핵심 개념은 I2C 모션센서이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 33-2. 가속도 데이터를 이용해 기울기나 움직임을 판단하는 원리를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 가속도 데이터를 이용해 기울기나 움직임을 판단하는 원리를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 34

RFID 카드 UID 읽기

핵심 개념SPI 통신
준비물MFRC522 RFID
연결SPI 핀 연결
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin, SPI
import mfrc522
import time

reader = mfrc522.MFRC522(spi_id=0, sck=18, miso=16, mosi=19, cs=17, rst=20)

while True:
    stat, tag_type = reader.request(reader.REQIDL)
    if stat == reader.OK:
        stat, uid = reader.SelectTagSN()
        if stat == reader.OK:
            print("카드 UID:", uid)
    time.sleep(0.2)

✅ 개념 확인 OX 퀴즈

문제 34-1. RFID 리더는 카드의 UID를 읽어 사용자를 구분하는 데 사용할 수 있다.

상세 풀이 보기

정답: O

RFID 카드 UID 읽기 예제의 핵심 개념은 SPI 통신이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 34-2. RFID 출입 시스템에서 UID가 어떤 역할을 하는지 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: RFID 출입 시스템에서 UID가 어떤 역할을 하는지 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 35

UART GPS 데이터 읽기

핵심 개념UART 통신
준비물GPS 모듈
연결TX→GP1 / RX→GP0
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import UART, Pin
import time

uart = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))

while True:
    if uart.any():
        line = uart.readline()
        print(line)
    time.sleep(0.1)

✅ 개념 확인 OX 퀴즈

문제 35-1. UART는 TX와 RX 선을 이용해 직렬 데이터를 주고받는다.

상세 풀이 보기

정답: O

UART GPS 데이터 읽기 예제의 핵심 개념은 UART 통신이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 35-2. GPS 모듈의 TX를 Pico의 RX에 연결하는 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: GPS 모듈의 TX를 Pico의 RX에 연결하는 이유를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 36

블루투스 HC-05 UART

핵심 개념UART 문자열 통신
준비물HC-05
연결TX→GP1 / RX→GP0
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import UART, Pin

uart = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))

while True:
    if uart.any():
        msg = uart.readline()
        print("받음:", msg)
        uart.write(b"OK\n")

✅ 개념 확인 OX 퀴즈

문제 36-1. HC-05는 UART 통신으로 문자열 데이터를 주고받을 수 있다.

상세 풀이 보기

정답: O

블루투스 HC-05 UART 예제의 핵심 개념은 UART 문자열 통신이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 36-2. 스마트폰에서 보낸 문자를 Pico가 받는 과정을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 스마트폰에서 보낸 문자를 Pico가 받는 과정을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 37

네오픽셀 LED 8개 제어

핵심 개념NeoPixel
준비물WS2812B
연결DIN:GP15
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import neopixel
import time

np = neopixel.NeoPixel(Pin(15), 8)

while True:
    for i in range(8):
        np.fill((0, 0, 0))
        np[i] = (30, 0, 0)
        np.write()
        time.sleep(0.1)

✅ 개념 확인 OX 퀴즈

문제 37-1. 네오픽셀은 하나의 데이터 핀으로 여러 LED의 색을 제어할 수 있다.

상세 풀이 보기

정답: O

네오픽셀 LED 8개 제어 예제의 핵심 개념은 NeoPixel이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 37-2. np.write()가 필요한 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: np.write()가 필요한 이유를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 38

소리 센서 감지

핵심 개념아날로그/디지털
준비물마이크 소리 센서
연결AO:GP26
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import ADC
import time

sound = ADC(26)

while True:
    value = sound.read_u16()
    print("소리 크기:", value)
    time.sleep(0.1)

✅ 개념 확인 OX 퀴즈

문제 38-1. 소리 센서의 아날로그 출력은 소리 크기에 따라 달라질 수 있다.

상세 풀이 보기

정답: O

소리 센서 감지 예제의 핵심 개념은 아날로그/디지털이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 38-2. 소리 센서값으로 박수 감지 장치를 만드는 방법을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 소리 센서값으로 박수 감지 장치를 만드는 방법을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 39

화염 센서 경보

핵심 개념디지털 입력
준비물Flame sensor
연결DO:GP14 / BUZZER:GP16
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

flame = Pin(14, Pin.IN)
buzzer = Pin(16, Pin.OUT)

while True:
    if flame.value() == 0:
        print("화염 감지!")
        buzzer.on()
    else:
        buzzer.off()
    time.sleep(0.2)

✅ 개념 확인 OX 퀴즈

문제 39-1. 화염 센서는 불꽃을 감지하면 경보 장치와 연결해 사용할 수 있다.

상세 풀이 보기

정답: O

화염 센서 경보 예제의 핵심 개념은 디지털 입력이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 39-2. 화염 센서 실험에서 안전상 주의할 점을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 화염 센서 실험에서 안전상 주의할 점을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 40

가스 센서 MQ-2 읽기

핵심 개념아날로그 입력
준비물MQ-2
연결AO:GP26
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import ADC
import time

gas = ADC(26)

while True:
    value = gas.read_u16()
    print("가스 센서값:", value)
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 40-1. MQ-2 센서는 가스 농도 변화에 따라 아날로그 값이 달라질 수 있다.

상세 풀이 보기

정답: O

가스 센서 MQ-2 읽기 예제의 핵심 개념은 아날로그 입력이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 40-2. 가스 센서값을 바로 절대 농도로 믿으면 안 되는 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 가스 센서값을 바로 절대 농도로 믿으면 안 되는 이유를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 41

빗물 감지 센서

핵심 개념ADC 센서
준비물Rain sensor
연결AO:GP27
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import ADC
import time

rain = ADC(27)

while True:
    value = rain.read_u16()
    print("빗물 감지값:", value)
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 41-1. 빗물 센서는 물이 닿았을 때 저항이나 전압 변화가 생긴다.

상세 풀이 보기

정답: O

빗물 감지 센서 예제의 핵심 개념은 ADC 센서이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 41-2. 빗물 감지 센서를 자동 창문 닫기 장치에 활용하는 방법을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 빗물 감지 센서를 자동 창문 닫기 장치에 활용하는 방법을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 42

라인 트레이서 센서

핵심 개념디지털 입력
준비물IR 라인 센서
연결OUT:GP14
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

line = Pin(14, Pin.IN)

while True:
    if line.value():
        print("흰색 또는 반사 많음")
    else:
        print("검정선 감지")
    time.sleep(0.2)

✅ 개념 확인 OX 퀴즈

문제 42-1. 라인 센서는 바닥의 검정/흰색 반사 차이를 감지한다.

상세 풀이 보기

정답: O

라인 트레이서 센서 예제의 핵심 개념은 디지털 입력이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 42-2. 라인 트레이서 로봇이 선을 따라가는 기본 원리를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 라인 트레이서 로봇이 선을 따라가는 기본 원리를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 43

IR 장애물 감지

핵심 개념디지털 입력
준비물IR obstacle sensor
연결OUT:GP14
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

ir = Pin(14, Pin.IN)
led = Pin("LED", Pin.OUT)

while True:
    detected = ir.value() == 0
    led.value(detected)
    print("장애물:", detected)
    time.sleep(0.2)

✅ 개념 확인 OX 퀴즈

문제 43-1. IR 장애물 센서는 적외선 반사를 이용하여 물체 유무를 감지한다.

상세 풀이 보기

정답: O

IR 장애물 감지 예제의 핵심 개념은 디지털 입력이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 43-2. 장애물 감지 로봇에서 이 센서를 어떻게 활용할 수 있는지 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 장애물 감지 로봇에서 이 센서를 어떻게 활용할 수 있는지 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 44

미니 DC 모터 제어

핵심 개념모터드라이버
준비물DC 모터
연결IN:GP15
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin
import time

motor = Pin(15, Pin.OUT)

while True:
    motor.on()
    print("모터 ON")
    time.sleep(2)
    motor.off()
    print("모터 OFF")
    time.sleep(2)

✅ 개념 확인 OX 퀴즈

문제 44-1. DC 모터는 Pico GPIO에 직접 연결하지 않고 드라이버를 사용하는 것이 안전하다.

상세 풀이 보기

정답: O

미니 DC 모터 제어 예제의 핵심 개념은 모터드라이버이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 44-2. 모터를 GPIO에 직접 연결하면 안 되는 이유를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 모터를 GPIO에 직접 연결하면 안 되는 이유를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 45

DC 모터 속도 조절

핵심 개념PWM 모터 제어
준비물모터드라이버
연결PWM:GP15
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

from machine import Pin, PWM
import time

motor = PWM(Pin(15))
motor.freq(1000)

while True:
    for speed in range(0, 65535, 5000):
        motor.duty_u16(speed)
        time.sleep(0.2)
    motor.duty_u16(0)
    time.sleep(1)

✅ 개념 확인 OX 퀴즈

문제 45-1. PWM 듀티를 바꾸면 DC 모터의 평균 전압이 달라져 속도가 변한다.

상세 풀이 보기

정답: O

DC 모터 속도 조절 예제의 핵심 개념은 PWM 모터 제어이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 45-2. PWM으로 모터 속도를 제어하는 원리를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: PWM으로 모터 속도를 제어하는 원리를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 46

Wi-Fi 연결 확인

핵심 개념Pico WH Wi-Fi
준비물내장 무선 기능
연결없음
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

import network
import time

ssid = "YOUR_WIFI"
password = "YOUR_PASSWORD"

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)

while not wlan.isconnected():
    print("연결 중...")
    time.sleep(1)

print("연결 완료:", wlan.ifconfig())

✅ 개념 확인 OX 퀴즈

문제 46-1. network.WLAN(network.STA_IF)는 Pico WH를 무선 공유기에 연결하는 스테이션 모드이다.

상세 풀이 보기

정답: O

Wi-Fi 연결 확인 예제의 핵심 개념은 Pico WH Wi-Fi이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 46-2. wlan.ifconfig()로 확인할 수 있는 정보를 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: wlan.ifconfig()로 확인할 수 있는 정보를 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 47

웹서버로 LED 제어

핵심 개념Wi-Fi 웹서버
준비물내장 LED
연결없음
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

import network
import socket
from machine import Pin
import time

ssid = "YOUR_WIFI"
password = "YOUR_PASSWORD"
led = Pin("LED", Pin.OUT)

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)

while not wlan.isconnected():
    time.sleep(1)

addr = socket.getaddrinfo("0.0.0.0", 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(1)

print("접속 주소:", wlan.ifconfig()[0])

while True:
    cl, addr = s.accept()
    request = cl.recv(1024).decode()
    if "/on" in request:
        led.on()
    if "/off" in request:
        led.off()
    html = "<h1>Pico WH LED</h1><a href='/on'>ON</a><br><a href='/off'>OFF</a>"
    cl.send("HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n")
    cl.send(html)
    cl.close()

✅ 개념 확인 OX 퀴즈

문제 47-1. Pico WH는 socket을 이용하여 간단한 웹서버로 동작할 수 있다.

상세 풀이 보기

정답: O

웹서버로 LED 제어 예제의 핵심 개념은 Wi-Fi 웹서버이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 47-2. 브라우저에서 /on 주소에 접속하면 LED가 켜지는 과정을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 브라우저에서 /on 주소에 접속하면 LED가 켜지는 과정을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 48

웹페이지에 온습도 표시

핵심 개념Wi-Fi + DHT
준비물DHT11/DHT22
연결DATA:GP15
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

import network, socket, time
from machine import Pin
import dht

ssid = "YOUR_WIFI"
password = "YOUR_PASSWORD"
sensor = dht.DHT11(Pin(15))

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)

while not wlan.isconnected():
    time.sleep(1)

s = socket.socket()
s.bind(("0.0.0.0", 80))
s.listen(1)
print("IP:", wlan.ifconfig()[0])

while True:
    cl, addr = s.accept()
    sensor.measure()
    t = sensor.temperature()
    h = sensor.humidity()
    page = f"<h1>Pico WH Weather</h1><p>Temp: {t} C</p><p>Humidity: {h}%</p>"
    cl.recv(1024)
    cl.send("HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n")
    cl.send(page)
    cl.close()

✅ 개념 확인 OX 퀴즈

문제 48-1. 웹서버 응답 HTML에 센서값을 넣으면 브라우저에서 실시간 값을 볼 수 있다.

상세 풀이 보기

정답: O

웹페이지에 온습도 표시 예제의 핵심 개념은 Wi-Fi + DHT이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 48-2. 이 예제에서 센서값이 HTML 페이지로 바뀌는 과정을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 이 예제에서 센서값이 HTML 페이지로 바뀌는 과정을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 49

IFTTT 웹훅 알림

핵심 개념HTTP 요청
준비물Wi-Fi + 센서
연결센서 자유
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

import network, urequests, time

ssid = "YOUR_WIFI"
password = "YOUR_PASSWORD"
event = "pico_alert"
key = "YOUR_IFTTT_KEY"

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)

while not wlan.isconnected():
    time.sleep(1)

url = f"https://maker.ifttt.com/trigger/{event}/with/key/{key}"
data = {"value1": "Pico WH", "value2": "Sensor Alert", "value3": "ON"}

response = urequests.post(url, json=data)
print(response.text)
response.close()

✅ 개념 확인 OX 퀴즈

문제 49-1. urequests.post()는 인터넷 서버로 데이터를 전송하는 HTTP 요청에 사용할 수 있다.

상세 풀이 보기

정답: O

IFTTT 웹훅 알림 예제의 핵심 개념은 HTTP 요청이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 49-2. 센서 경고를 스마트폰 알림으로 보내는 전체 흐름을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 센서 경고를 스마트폰 알림으로 보내는 전체 흐름을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.

PROJECT 50

ThingSpeak로 센서값 전송

핵심 개념IoT 데이터 업로드
준비물Wi-Fi + ADC 센서
연결ADC:GP26
주의모듈 전압과 핀 배열을 반드시 확인하세요.

💻 MicroPython 코드

import network, urequests, time
from machine import ADC

ssid = "YOUR_WIFI"
password = "YOUR_PASSWORD"
api_key = "YOUR_THINGSPEAK_WRITE_KEY"
sensor = ADC(26)

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)

while not wlan.isconnected():
    time.sleep(1)

while True:
    value = sensor.read_u16()
    url = f"https://api.thingspeak.com/update?api_key={api_key}&field1={value}"
    r = urequests.get(url)
    print("전송:", value, r.text)
    r.close()
    time.sleep(20)

✅ 개념 확인 OX 퀴즈

문제 50-1. ThingSpeak 전송 예제는 API Key와 field 값을 이용해 센서 데이터를 업로드한다.

상세 풀이 보기

정답: O

ThingSpeak로 센서값 전송 예제의 핵심 개념은 IoT 데이터 업로드이다. 제시문은 코드의 동작 원리와 일치하므로 O가 정답이다.

✍️ 코드 관련 서술형

문제 50-2. 클라우드에 센서값을 주기적으로 저장하면 좋은 점을 설명하시오.

예시 답안 및 상세 풀이 보기

예시 답안: 클라우드에 센서값을 주기적으로 저장하면 좋은 점을 할 때, 센서 입력값을 Pico WH가 읽고 조건문·통신·PWM·출력 장치 등을 이용해 원하는 동작으로 변환한다. 회로에서는 전원, GND, 데이터 핀 연결이 정확해야 한다.