• Skip to primary navigation
  • Skip to main content

IoTmaker

사물인터넷에 대한 모든 것 여기서 해결하셔요!

  • 홈
  • 책:마이크로파이썬을 활용한 사물인터넷
  • 책:따라 하면서 배우는 사물인터넷
  • 온라인 교육 코스
  • 새로운 소식
  • 의견보내기
  • 내 수강정보
  • Log In
  • Register

IoTmaker ESP32 IoT 실습 키트 사용법(모델 K01)

마이크로파이썬 YES24에서 책 구입하기      교보문고에서 책 구입하기      개발 키트 구입하기
 📦🛡️키트의 실드에 대한 설명 📦🛡️키트의 실드에 대한 설명
 1  부품 전체 구성부품 전체 구성

이 키트는 책 ‘마이크로파이썬을 활용한 사물인터넷-챗GPT로 코딩하기‘를 기준으로 준비되었지만, 아두이노 환경에서도 사용 가능합니다.

이 키트에는 다음의 부품이 포함됩니다. 모든 부품은 미리 납땜이 되어 있으므로 즉시 연결하여 사용할 수 있습니다.

  1. 옥토보드(OctoBoard)
  2. 멀티원(Multi-one) 실드
  3. ESP32 S3 mini 개발 보드
  4. BH1730(조도) 실드
  5. DHT22 온습도 실드
  6. OLED(SSD1306) 실드
  7. 릴레이 실드
  8. PIR(동작감지) 실드
  9. DS18B20 온도 센서
  10. SD 카드/RTC 실드
  11. 프로토(Proto) 실드
  12. MQ-9 가스 센서
  13. USB-C 케이블

{끝:(1)부품 전체 구성}
 2  옥토보드(OctoBoard)옥토보드(OctoBoard)
  • 실드 장착 슬롯이 8개입니다.
  • ESP32 S3/S2 mini의 대부분의 핀에 연결 가능합니다.
  • 하단 맨 좌측 슬롯에는 마이크로 컨트롤러가 장착됩니다.
  • 하단 슬롯에는 ESP32 S3/S2 mini의 바깥 핀이 연결됩니다.
  • 상단 슬롯에는 ESP32 S3/S2 mini의 안쪽 핀이 연결됩니다.

{끝:(2)옥토보드(OctoBoard)}

 3  멀티원(Multi-one) 실드멀티원(Multi-one) 실드
  • 디지털 입출력과 아나로그 입출력을 학습하기 위하여 준비되었습니다.
  • 장착된 부품: 버튼 두 개, LED 두 개, 부저, 포텐시오미터, 가스 센서 장착 핀, 선택 스위치
  • 선택 스위치 위치: POT 방향으로 밀어서 연결하면 L2 핀이 포텐시오미터와 연결되고,GAS 방향으로 밀면 GAS 센서에 연결됩니다. 따라서 포텐시오미터와 GAS 센서는 선택적으로 사용됩니다.
  • GAS 센서 연결: 극성에 주의해야 연결해야 합니다.
  • L2 핀: 아나로그 입력. 포텐시오미터와 GAS 센서를 선택적으로 연결하여 사용합니다.
  • L3 핀: 디지털 입력. 버튼1. 누르면 low(0,False), 떼면 high(1,True). INPUT_PULLUP 지정해야 합니다.
  • L4 핀: 디지털 입력. 버튼2. 누르면 high(1,True), 떼면 low(0,False). INPUT_PULLDOWN 지정해야 합니다.
  • L5 핀: 디지털 출력. LED1. high(1,True) 값을 주면 켜집니다.
  • L6 핀: 디지털 출력. LED2. low(0,False) 값을 주면 켜집니다.
  • L7 핀: 디지털 출력. 액티브 부저


{끝:(3)멀티원(Multi-one) 실드}

 4  ESP32 S3 mini 개발 보드ESP32 S3 mini 개발 보드

<주요 사양>

  • ESP32-S3FH4R2 마이크로컨트롤러 장착
  • 2.4 GHz Wi-Fi
  • Bluetooth LE
  • Type-c USB
  • 디지털 입출력핀 27개, 모든 핀에서 interrupt/pwm/I2C/one-wire 지원
  • ADC, DAC, I2C, SPI, UART, USB OTG
  • MicroPython, Arduino 지원
  • 초기 설치 펌웨어: MicroPython
  • LOLIN(Wemos) D1 mini 실드와 호환


{끝:(4)ESP32 S3 mini 개발 보드}

 5  BH1730(조도) 실드BH1730(조도) 실드
  • 주변광의 조도를 알려 주는 실드입니다.
  • 센서 부분이 분리되지 않도록 글루건으로 접합되어 있습니다.
  • I2C 번지: 0x23(기본값)
  • I2C 핀: SCL(D1,R3),SDA(D2,R4)


{끝:(5)BH1730(조도) 실드}

 6  5. DHT22 온습도 실드5. DHT22 온습도 실드
  • 온습도를 알려주는 실드입니다.
  • 습도 범위: 0-100% , ±2% 오차
  • 온도 범위: -40 ~ 80 °C, ±0.5 °C 오차
  • 데이터 핀: D4(R6)


{끝:(6)5. DHT22 온습도 실드}

 7  6. OLED(SSD1306) 실드6. OLED(SSD1306) 실드
  • 64×48 픽셀을 가진 표시 장치입니다.
  • SSD1306 드라이브를 사용합니다.
  • I2C 번지: 0x3d(기본값),0x3c. 제품에 따라 기본값이 다를 수 있으므로 I2C번지를 스캔 프로그램 (scan_i2c_addr.py)으로 미리 확인해야 합니다.
  • I2C 핀: SCL(D1,R3),SDA(D2,R4)


{끝:(7)6. OLED(SSD1306) 실드}

 8  릴레이 실드릴레이 실드
  • 1 채널 릴레이가 장착되어 있습니다.
  • 데이터 핀: D1(R3). I2C의 SCL핀과 중복되므로 조심하여야 합니다.


{끝:(8)릴레이 실드}

 9  PIR 실드PIR 실드
  • 열을 가진 사물의 움직임을 감지하는 실드입니다.
  • 데이터 핀: D3(R5)


{끝:(9)PIR 실드}

 10  DS18B20 온도 실드DS18B20 온도 실드
  • OneWire 방식으로 연결되는 온도 센서가 장착되어 있습니다.
  • 데이터 핀: D2(R4). I2C의 SDA핀과 중복되므로 조심하여야 합니다.


{끝:(10)DS18B20 온도 실드}

 11  SD 카드/RTC 실드SD 카드/RTC 실드
  • 앞면에 SPI 방식으로 연결되는 마이크로 SD카드 슬롯이 있습니다.
  • 마이크로 SD 카드는 제품에 포함되어 있지 않습니다.
  • DS1307 RTC 부품은 I2C 방식으로 연결됩니다.
  • 뒷면의 CR1220 배터리 홀더에는 제품 출고시 배터리를 장착하여 발송합니다.
  • 배터리는 +극(편평한 면)이 실드의 외부 방향으로 오도록 장착해야 합니다.
  • [RTC] I2C 번지: 0x68(기본값)
  • [RTC] I2C 핀: SCL(D1,R3),SDA(D2,R4)
  • [SD카드] SPI핀: SCK(D5,L4), MISO(D6,L5), MOSI(D7,L6), CS(D8,L7)
  • 이 실드와 멀티원 실드는 핀이 중복되지 않도록 분리하여 장착하여야 합니다.


{끝:(11)SD 카드/RTC 실드}

 12  프로토(Proto) 실드프로토(Proto) 실드
  • 부품을 납땜하여 장착할 수 있는 실드입니다.
  • 롱헤더 핀이 미리 납땜되어 있습니다.
  • ESP32 S3 mini를 브레드보드에 장착할 때는 중간에 이 실드를 끼워야 합니다.


{끝:(12)프로토(Proto) 실드}

 13  MQ-9 가스센서MQ-9 가스센서
  • 가연성 가스와 일산화 탄소의 공기중 농도를 알려 주는 센서입니다.
  • 이 센서는 멀티원 실드의 가스 핀에 장착하고, 셀렉터를 GAS로 옮겨야 합니다. (극성에 유의하세요)

{끝:(13)MQ-9 가스센서}

 14  USB-C 케이블USB-C 케이블
  • 양끝에 USB-A와 USB-C 단자를 가진 케이블입니다.
  • 케이블 길이와 제품 색깔은 상황에 따라 달라질 수 있습니다.

{끝:(14)USB-C 케이블}
 15  유의사항유의사항
  • ⚠️ 안전: 실드의 남땜 부위는 날카로우므로 탈부착할 때는 반드시 보호 장구를 착용하여 부상을 입지 않도록 유의하시기 바랍니다.
  • 🎓용도: 이 키트는 책 “마이크로파이썬을 활용한 사물인터넷”의 학습을 위하여 만들어진 제품이지만, 다른 용도로도 사용할 수 있습니다.
  • 🔄구성품: 키트의 구성품은 설계 변경 또는 부품 수급 상황에 따라 유사한 기능을 갖는 다른 제품으로 교체될 수 있습니다.
  • 🛠️보강: 키트의 내구성을 높이기 위하여 글루건 등으로 제품을 보강한 부분이 있으며, 이 과정에서 생긴 흠은 제품 하자가 아닙니다.
  • 🚀부품 변경: 제품 성능 향상을 위하여 특정 실드는 일부 부품이 삭제되거나 변경되어 있습니다. 이러한 변경은 제품의 하자가 아닙니다.
  • ⚙️펌웨어: 제공되는 마이크로컨트롤러에는 마이크로파이썬 펌웨어가 미리 설치되어 있습니다.
  • 💾프로그램: 학습이나 키트의 테스트를 위한 프로그램이 미리 설치되어 있을 수 있습니다.


{끝:(15)유의사항}

▲모두 닫기  |  {끝:()📦🛡️키트의 실드에 대한 설명}
 📘책 '마이크로파이썬을 활용한 사물인터넷' 안내 페이지  📘책 '마이크로파이썬을 활용한 사물인터넷' 안내 페이지
‘마이크로파이썬을 활용한 사물인터넷’ 안내 페이지

▲모두 닫기  |  {끝:()📘책 '마이크로파이썬을 활용한 사물인터넷' 안내 페이지 }
 📥학습 자료 다운로드하기 📥학습 자료 다운로드하기

학습에 필요한 라이브러리와 프로그램을 다운로드 받아서 설치할 수 있습니다. 만약 제공된 마이크로컨트롤러에 미리 프로그램이 설치되어 있으면, 이 과정은 불필요할 수도 있습니다.

학습 자료 다운로드하기

▲모두 닫기  |  {끝:()📥학습 자료 다운로드하기}
 🧰실습 키트 데모 프로그램 🧰실습 키트 데모 프로그램

설치된 프로그램에서 iotmaker_esp32_kit_demo.py를 실행하면, KIT의 모든 실드를 단계별로 테스트할 수 있습니다. 각 단계의 내용은 OLED실드와 Thonny에 출력됩니다.


▲모두 닫기  |  {끝:()🧰실습 키트 데모 프로그램}
 🔍I2C로 연결된 실드의 번호 확인하기  🔍I2C로 연결된 실드의 번호 확인하기

I2C로 연결되는 실드(OLED 실드, BH1730 실드, SD 카드/RTC 실드)는 고유한 I2C 주소를 가지고 있고, 프로그램에서 이 주소를 지정해야 하는 경우도 있습니다. 연결된 실드의 I2C 주소는 다음 프로그램을 실행하여 확인할 수 있습니다. 이 프로그램은 다운로드 받은 학습 자료에 포함되어 있습니다.
file명: …\micropython\scan_i2c_addr.py

📍I2C 주소 스캔 프로그램: scan_i2c_addr.py📍I2C 주소 스캔 프로그램: scan_i2c_addr.py
from machine import Pin, I2C

# 1) I2C 버스 핀 번호 지정하기 
SCL = 36 # ESP32 S3 mini:36, S2 mini:35, C3 mini/Pico:10
SDA = 35 # ESP32 S3 mini:35, S2 mini:33, C3 mini/Pico:8

# 2) I2C 버스 초기화
#    id=0 혹은 id=1 중 하나를 선택. 보드에 따라 다르니 확인하세요.
i2c = I2C(
    0,             # 하드웨어 I2C 버스 번호 (0 또는 1)
    sda=Pin(SDA),  # SDA 핀 번호
    scl=Pin(SCL),  # SCL 핀 번호
    freq=400000    # 통신 속도(Hz)
)

# 3) 연결된 장치 주소 스캔
devices = i2c.scan()


# 4) 예상되는 번지와 이름 나열
i2c_addr = [0x23    , 0x3c  , 0x3d  , 0x68]
i2c_name = ['BH1750', 'OLED', 'OLED', 'RTC']

# 5) 결과 출력
if devices:
    print(f"발견된 I2C 주소:{len(devices)}개")
    for addr in devices:
        try: 
            # 16진수 형태로 보기 편하게 변환
            print(" - ",hex(addr), i2c_name[i2c_addr.index(addr)])
        except ValueError:
            # i2c_name에 없는 번지는 "Unknown"으로 출력 
            print(" - ",hex(addr), "Unknown")
else:
    print("I2C 버스에서 장치를 찾을 수 없습니다.")

{끝:()📍I2C 주소 스캔 프로그램: scan_i2c_addr.py}

출력 결과 예시:

발견된 I2C 주소:3개
 -  0x23 BH1750
 -  0x3d OLED
 -  0x68 RTC

앞의 출력 결과에 따르면, OLED 실드의 I2C 번지는 0x3d입니다. 그래서 oled를 사용하는 프로그램에서는 다음과 같이 addr=0x3d를 지정해야 합니다.

# 중간 생략...
oled = SSD1306_I2C(WIDTH, HEIGHT, i2c, addr=0x3d ) # 또는 addr=0x3c
# 중간 생략...

▲모두 닫기  |  {끝:()🔍I2C로 연결된 실드의 번호 확인하기 }
 🔎OLED의 I2C 번지를 자동으로 연결하기  🔎OLED의 I2C 번지를 자동으로 연결하기

I2C로 연결되는 OLED실드는 I2C 주소를 0x3c와 0x3d중에서 선택할 수 있지만 기본값은 제품마다 다릅니다. 다음 함수를 사용하면 연결된 OLED 실드를 찾아서 자동으로 지정할 수 있습니다. 이 프로그램은 다운로드 받은 학습 자료에 포함되어 있습니다.
file명: …\micropython\lib\oled_i2c.py

oled_i2c.addr함수를 사용하는 예제:
from oled_i2c import addr #
# 중간 생략...
oled = SSD1306_I2C(WIDTH, HEIGHT, i2c, addr=addr(i2c))
# 중간 생략...

▲모두 닫기  |  {끝:()🔎OLED의 I2C 번지를 자동으로 연결하기 }

Copyright © 2026 ·로그인