📝 응시자 정보 및 점수 산출
※ OX는 자동 채점됩니다. 서술형은 예시 답안과 비교하여 교사가 별도 채점할 수 있습니다.
🔗 프로젝트 바로가기
내장 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초 꺼지는 깜빡임 주기가 만들어진다.
외부 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 핀이 손상될 수 있다.
버튼 입력으로 LED 제어
💻 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이 된다.
버튼 누른 횟수 세기
💻 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를 반복문 끝에서 실행하는 이유를 서술하시오.
예시 답안 및 상세 풀이 보기
현재 버튼 상태를 다음 반복에서 이전 상태로 사용하기 위해서이다. 이를 통해 상태 변화, 즉 누르는 순간을 판별할 수 있다.
부저로 삐 소리 내기
💻 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초이다.
PWM 부저 음계 만들기
💻 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으로 만들어 부저가 더 이상 울리지 않게 하기 위해서이다.
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를 점점 어둡게 만든다. 그래서 숨쉬는 듯한 밝기 변화가 나타난다.
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이므로 노란색에 가깝다. 빛의 삼원색에서는 빨강+초록이 노랑으로 보인다.
가변저항 값 읽기
💻 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 사이의 정수로 변환해 반환한다. 전압이 높을수록 값이 커진다.
가변저항으로 LED 밝기 조절
💻 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 밝기라는 출력으로 바꾼다.
조도센서 값 읽기
💻 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. 조도센서 값을 주기적으로 출력하면 어떤 상황을 관찰할 수 있는지 서술하시오.
예시 답안 및 상세 풀이 보기
주변 밝기가 변할 때 센서값이 어떻게 증가하거나 감소하는지 관찰할 수 있다.
어두우면 LED 켜기
💻 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을 실험 환경에 맞게 바꾸어야 하는 이유를 서술하시오.
예시 답안 및 상세 풀이 보기
교실, 창가, 센서 모듈 종류에 따라 밝기 값이 다르게 측정되므로 실제 측정값을 보고 적절히 조정해야 한다.
토양 습도 센서 읽기
💻 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. 토양 습도 센서를 오래 사용할 때 주의할 점을 서술하시오.
예시 답안 및 상세 풀이 보기
금속 탐침이 흙 속에서 부식될 수 있으므로 계속 전원을 넣어 두지 않거나 부식 방지형 센서를 사용하는 것이 좋다.
자동 물주기 알림
💻 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. 이 예제를 실제 자동 물주기 장치로 확장하려면 어떤 장치가 추가로 필요한지 서술하시오.
예시 답안 및 상세 풀이 보기
부저 대신 또는 부저와 함께 워터펌프, 릴레이나 모터드라이버, 외부 전원이 필요하다.
온도 센서 LM35 읽기
💻 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을 곱하면 대략 섭씨 온도가 된다.
Pico 내부 온도 측정
💻 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. 내부 온도값이 주변 공기 온도와 정확히 같지 않을 수 있는 이유를 서술하시오.
예시 답안 및 상세 풀이 보기
칩 자체가 동작하면서 열을 내기 때문에 내부 온도는 주변 공기 온도보다 높거나 다르게 측정될 수 있다.
DHT11 온습도 읽기
💻 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은 너무 빠르게 연속 측정하면 정확하지 않을 수 있으므로 일정 시간 간격을 두고 측정한다.
DHT22 정밀 온습도
💻 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))로 센서 객체를 만들면 된다.
초음파 거리 측정
💻 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에 직접 넣으면 위험하므로 저항 분배나 레벨 시프터가 필요하다.
거리 가까우면 경고음
💻 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에 거리를 표시하면 더 직관적인 경고 장치가 된다.
PIR 인체 감지
💻 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, 데이터 핀 연결이 정확해야 한다.
기울기 센서
💻 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, 데이터 핀 연결이 정확해야 한다.
진동 센서 감지
💻 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, 데이터 핀 연결이 정확해야 한다.
자석 리드 스위치
💻 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, 데이터 핀 연결이 정확해야 한다.
서보모터 각도 제어
💻 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, 데이터 핀 연결이 정확해야 한다.
가변저항으로 서보 제어
💻 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, 데이터 핀 연결이 정확해야 한다.
릴레이 제어
💻 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, 데이터 핀 연결이 정확해야 한다.
7세그먼트 숫자 표시
💻 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, 데이터 핀 연결이 정확해야 한다.
I2C 주소 검색
💻 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, 데이터 핀 연결이 정확해야 한다.
OLED에 글자 출력
💻 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, 데이터 핀 연결이 정확해야 한다.
OLED에 센서값 표시
💻 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, 데이터 핀 연결이 정확해야 한다.
BMP280 기압 센서
💻 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, 데이터 핀 연결이 정확해야 한다.
MPU6050 가속도 읽기
💻 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, 데이터 핀 연결이 정확해야 한다.
RFID 카드 UID 읽기
💻 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, 데이터 핀 연결이 정확해야 한다.
UART GPS 데이터 읽기
💻 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, 데이터 핀 연결이 정확해야 한다.
블루투스 HC-05 UART
💻 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, 데이터 핀 연결이 정확해야 한다.
네오픽셀 LED 8개 제어
💻 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, 데이터 핀 연결이 정확해야 한다.
소리 센서 감지
💻 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, 데이터 핀 연결이 정확해야 한다.
화염 센서 경보
💻 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, 데이터 핀 연결이 정확해야 한다.
가스 센서 MQ-2 읽기
💻 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, 데이터 핀 연결이 정확해야 한다.
빗물 감지 센서
💻 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, 데이터 핀 연결이 정확해야 한다.
라인 트레이서 센서
💻 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, 데이터 핀 연결이 정확해야 한다.
IR 장애물 감지
💻 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, 데이터 핀 연결이 정확해야 한다.
미니 DC 모터 제어
💻 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, 데이터 핀 연결이 정확해야 한다.
DC 모터 속도 조절
💻 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, 데이터 핀 연결이 정확해야 한다.
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, 데이터 핀 연결이 정확해야 한다.
웹서버로 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, 데이터 핀 연결이 정확해야 한다.
웹페이지에 온습도 표시
💻 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, 데이터 핀 연결이 정확해야 한다.
IFTTT 웹훅 알림
💻 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, 데이터 핀 연결이 정확해야 한다.
ThingSpeak로 센서값 전송
💻 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, 데이터 핀 연결이 정확해야 한다.