<head>
<meta charset="UTF-8" />
<title> 마이크로파이썬 기초 문법 및 ESP32 하드웨어 제어 완벽 정리 | 양파고 </title>
<meta
name="description" content="마이크로파이썬(MicroPython)으로 하드웨어를 제어하는 핵심 문법을 정리함. Pin 설정, ADC, PWM부터 타이머 비동기 처리까지, 실제 작동하는 ESP32 예제 코드로 하드웨어 코딩 기초를 빠르게 마스터할 수 있음." />
<meta name="keywords" content="마이크로파이썬 기초, MicroPython 문법, ESP32 파이썬 코딩, machine 모듈 사용법, 하드웨어 제어 기초, 아두이노 파이썬, 양파고, Yang Phago, 노션, 양파고 노션, notion" />
<meta property="og:title" content="마이크로파이썬 기초 문법 및 ESP32 하드웨어 제어 완벽 정리" />
<meta property="og:description" content="파이썬으로 아두이노(ESP32)를 제어하고 싶다면? 꼭 알아야 할 핵심 모듈 사용법과 실습 코드를 지금 바로 확인해보셈., 양파고, Yang Phago, 노션, 양파고 노션" />
<meta property="og:image" content="<https://oopy.lazyrockets.com/api/v2/notion/image?src=attachment%3A2cc67702-5549-4c33-9739-05cd507efb87%3Aimage.png&blockId=2df62b09-b72b-8014-8bc4-e7ae8a5fb8fd>" />
<meta property="og:url" content="<https://yangphago.oopy.io/2df62b09-b72b-8010-9a70-edf7833b7561>" />
<meta property="og:type" content="website" />
</head>
<aside> 💡 핀맵과 함께 보는 것을 추천
</aside>

하드웨어 제어의 가장 기본이 되는 핀 설정과 입출력 함수를 모아 놓은 모듈
📌LED를 켜거나 버튼 입력을 받을 때 사용
Pin 객체는 단순히 디지털 제어뿐만 아니라, 다른 고급 기능들을 활성화하기 위한 '기본 재료'로도 필수적으로 사용
ADC(Pin(34))와 같이 Pin 객체를 ADC 클래스에 넣어주어야 함PWM(Pin(15))처럼 Pin 객체를 PWM 클래스에 전달해야 함from machine import Pin
led = Pin(2, Pin.OUT) # 2번 핀을 출력으로 설정 (내장 LED)
button = Pin(33, Pin.IN) # 33번 핀을 입력으로 설정
# 출력 제어 (1: 켜짐/High, 0: 꺼짐/Low)
led.value(1) # LED 켜기
led.value(0) # LED 끄기
# 입력 값 읽기
status = button.value() # 버튼 상태 읽기 (눌리면 1, 안 눌리면 0 등)
참고: led.on() 또는 led.off() 함수도 사용가능
🎛️조도 센서, 가변 저항 등 연속적인 값을 읽을 때 사용
from machine import ADC, Pin
# ADC 객체 생성 (GPIO 32~39번 권장)
pot = ADC(Pin(34))
# 전압 감쇠 설정 (3.3V 입력을 받으려면 필수!)
# ATTN_11DB: 0V ~ 3.3V 범위 측정
pot.atten(ADC.ATTN_11DB)
# 해상도 설정 (기본 12bit: 0 ~ 4095)
pot.width(ADC.WIDTH_12BIT)
# 값 읽기
val = pot.read() # 0 ~ 4095 사이의 정수 값 반환
주의: 와이파이 사용 시 ADC2 핀(GPIO 0, 2, 4, 12-15, 25-27)은 사용할 수 없으므로 ADC1 핀(32-39)을 사용