예제 (Recipes)
이 섹션은 ``espzero``를 사용하여 다양한 센서와 부품을 제어하는 실전 예제를 다룹니다. 모든 예제는 ``import espzero; espzero.begin()``이 호출되었다고 가정합니다.
내장 LED (Built-in LED)
보드에 내장된 LED를 제어하는 가장 간단한 방법입니다.
from espzero import esp_led
from time import sleep
esp_led.on() # 켜기
sleep(1)
esp_led.off() # 끄기
esp_led.blink() # 백그라운드에서 깜빡이기
디지털 출력 (LED)
일반 LED를 특정 핀에 연결하여 제어합니다.
from espzero import LED
led = LED(4) # GPIO 4번
led.on()
led.off()
led.toggle()
# 0.5초 켜지고 0.5초 꺼지기를 5번 반복 (비동기)
led.blink(on_time=0.5, off_time=0.5, n=5)
PWM 제어 (밝기 조절)
led.value = 0.5 # 50% 밝기
led.pulse() # 서서히 밝아졌다 어두워졌다 반복
RGB LED
빨강, 초록, 파랑 핀을 각각 연결하여 다양한 색상을 만듭니다.
from espzero import RGBLED
rgb = RGBLED(red=25, green=26, blue=27)
rgb.color = (255, 0, 0) # 빨간색
rgb.color = (0, 255, 0) # 초록색
rgb.color = (255, 255, 0) # 노란색 (빨강+초록)
rgb.off()
부저 및 스피커 (Buzzer & Speaker)
단순 경고음 (Beep)
from espzero import Buzzer
bz = Buzzer(15)
bz.beep(on_time=0.1, off_time=0.1, n=3) # "삑-삑-삑"
멜로디 연주 (Play)
from espzero import Speaker
spk = Speaker(15)
# (음계, 박자) 튜플의 리스트
tune = [
('c4', 0.5), ('d4', 0.5), ('e4', 0.5), ('c4', 0.5),
('e4', 0.5), ('c4', 0.5), ('g4', 1.0)
]
spk.play(tune)
입력 장치 (Input Devices)
가변저항 (Potentiometer)
from espzero import Pot
pot = Pot(34) # 아날로그 핀 (ADC)
print("현재 값 (0-1):", pot.value)
print("전압 (V):", pot.voltage)
초음파 거리 센서 (Distance Sensor)
HC-SR04 등의 초음파 센서를 사용하여 거리를 측정합니다.
from espzero import DistanceSensor
# echo=14, trigger=13
ds = DistanceSensor(echo=14, trigger=13)
while True:
print("거리: ", ds.distance, "m")
sleep(0.5)
온도 센서 (Temperature Sensor)
내장 온도 센서
ESP32 칩 내부의 온도를 측정합니다. (주의: 외부 기온과는 차이가 있을 수 있습니다.)
from espzero import esp_temp_sensor
print("칩 내부 온도:", esp_temp_sensor.temp, "C")
복합 예제: 버튼으로 조명 제어
버튼을 누를 때마다 LED가 토글되는 예제입니다.
from espzero import LED, Button, begin
begin()
led = LED(4)
btn = Button(5)
btn.when_pressed = led.toggle
while True:
pass # 이벤트 대기