본문 바로가기
푸닥거리

아두이노 플랫폼을 활용한 코딩 기초(릴리패드)-10

by ┌(  ̄∇ ̄)┘™ 2022. 4. 3.
728x90

아두이노 릴리패드(RallaPad) 코딩 기초 시리즈의 10번째 편입니다. 이번에는 NeoPixel(네오픽셀) — 개별 제어가 가능한 RGB LED — 을 다룹니다. 일반 LED와 달리 하나의 데이터 핀으로 여러 개의 LED를 각각 다른 색으로 제어할 수 있어, 화려한 조명 효과를 만들 수 있습니다. (원문의 실습 영상은 서비스 종료로 재생되지 않아 제거하고, 코드와 참고 링크로 대체합니다)

 

메이크샌드박스에 오신것을 환영합니다.

3-1. RallaPad 프레임워크 실습(아래 이미지 중 해당 번호를 클릭하면 해당 페이지로 넘어갑니다)

makesandbox.cc

 

[#욜로#랄라패드] #RallaPad_FrameWork_Lib(Library,라이브러리)_실습_네오픽셀(Neo pixel)

안녕하세요! 누구나 원하는걸 만들어보는 메이크샌드박스 입니다! 오늘 소개해 드릴 내용은 저희가 이번에 ...

blog.naver.com

NeoPixel 예제 코드

Adafruit NeoPixel 라이브러리를 사용해, 링에 달린 6개의 픽셀을 하나씩 빨간색으로 켜는 예제입니다.

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// Adafruit NeoPixel 라이브러리 (GPLv3)
#include 
#ifdef __AVR__
  #include <avr/power.h>
#endif

#define PIN        12   // NeoPixel이 연결된 핀
#define NUMPIXELS  6    // 픽셀(LED) 개수
#define DELAYVAL   500  // 픽셀 간 대기 시간(ms)

// 픽셀 수, 핀, 색상 순서/주파수 지정
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  pixels.begin();  // NeoPixel 초기화 (필수)
}

void loop() {
  pixels.clear();  // 모든 픽셀 끄기

  for (int i = 0; i < NUMPIXELS; i++) {   // 각 픽셀마다
    // Color(R, G, B) — 0~255. 여기서는 빨강
    pixels.setPixelColor(i, pixels.Color(255, 0, 0));
    pixels.show();     // 변경된 색을 하드웨어로 전송
    delay(DELAYVAL);   // 다음 픽셀 전에 대기
  }
}

핵심 개념

  • 라이브러리 설치 필요 — 아두이노 IDE의 라이브러리 매니저에서 "Adafruit NeoPixel"을 설치해야 #include가 동작합니다.
  • NEO_GRB — 네오픽셀은 색 순서가 GRB인 경우가 많습니다. 색이 이상하게 나오면 이 파라미터를 바꿔 보세요.
  • setPixelColor + show — 색을 지정(setPixelColor)한 뒤 반드시 show()를 호출해야 실제 LED에 반영됩니다.
  • Color(R, G, B) — 각 값 0~255. (255,0,0)=빨강, (0,255,0)=초록, (0,0,255)=파랑, (255,255,255)=흰색
  • NUMPIXELS를 실제 연결한 픽셀 수에 맞추고, PIN도 배선한 핀 번호로 바꿔야 합니다.

색을 바꾸거나 delay 값을 조절하면 다양한 애니메이션을 만들 수 있습니다. 무지개 효과 등은 라이브러리의 strandtest 예제를 참고하세요.

 

[메이크 코딩-메이크 샌드박스] 아두이노에서 라이브러리 추가

안녕하세요! 누구나 원하는걸 만들어보는 메이크샌드박스 입니다! 아두이노 IDE에서 라이브러리를 추가...

blog.naver.com

 

메이크샌드박스에 오신것을 환영합니다.

# 아두이노에 사용되는 라이브러리(Library) 모음

makesandbox.cc

728x90

댓글