• Skip to primary navigation
  • Skip to main content

IoTmaker

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

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

AI 프롬프트 활용 3-22: 마이크로파이썬에서 neopixel 색깔 변경하기

마이크로파이썬 > AI 프롬프트

프롬프트

  프롬프트 영역으로 마우스를 옮기고 Copy 버튼을 누르면 클립보드에 프롬프트의 내용이 복사됩니다.
마이크로파이썬 코드를 다음 조건에 맞게 만들어 줘.
• ESP32의 47번 핀에 neopixel이 1개 연결되어 있음3
• tuple 자료형에 빨강(0, 255, 0), 초록(255, 0, 0), 파랑(0, 0, 255)을 차례대로 지정함
• 다음을 반복함
- 3가지 색깔을 1초 간격으로 차례대로 표시함
- 2초 동안 off

AI가 만든 결과

아래 코드는 ESP32의 GPIO 47번 핀에 네오픽셀(WS2812 등) 1개가 연결되어 있다고 가정하고,
주어진 조건에 따라 빨강(0,255,0) → 초록(255,0,0) → 파랑(0,0,255) 순서로 1초씩, 이후 2초 off를 반복하는 예시입니다.

import machine
import neopixel
import time

# 1. 네오픽셀 초기화
# - GPIO 47번 핀에 연결
# - LED 개수: 1
pin = machine.Pin(47, machine.Pin.OUT)
np = neopixel.NeoPixel(pin, 1)

# 2. 색상 튜플 정의 (빨강, 초록, 파랑)
#   - 문제에서 주어진 값대로 (0, 255, 0), (255, 0, 0), (0, 0, 255)
colors = [
    (0, 255, 0),   # 빨강
    (255, 0, 0),   # 초록
    (0, 0, 255)    # 파랑
]

while True:
    # 3가지 색깔을 1초 간격으로 순서대로 표시
    for color in colors:
        np[0] = color
        np.write()
        time.sleep(1)  # 1초 대기

    # 2초 동안 off
    np[0] = (0, 0, 0)  # 꺼짐(검정)
    np.write()
    time.sleep(2)

코드 설명

  1. 네오픽셀 초기화

    • machine.Pin(47)로 ESP32의 47번 핀을 제어용으로 사용합니다.
    • neopixel.NeoPixel(pin, 1)로 LED가 1개인 네오픽셀 객체를 생성합니다.
  2. 색상 튜플 정의

    • 문제에서 요구한 색상 값은 일반적인 RGB 순서와 다르므로, 제공된 그대로 사용합니다.
      • 빨강: (0, 255, 0)
      • 초록: (255, 0, 0)
      • 파랑: (0, 0, 255)
  3. 무한 반복

    • for color in colors:로 튜플에 들어있는 3가지 색상을 순서대로 꺼내서 LED에 설정합니다.
    • 각 색상을 설정한 뒤 time.sleep(1)로 1초 대기합니다.
    • 색상 3가지를 모두 보여준 다음, LED를 (0,0,0)으로 설정(off)하고 2초 동안 유지합니다.

Copyright © 2025 ·로그인