정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

LED strip 을 동시에 여러개 제어 하는 방법 없을까요?
최오규 | 2016-01-05

Neo pixel LED strip  3개를 3개 핀을 이용해서 각각 출력하려고 합니다.

Neo pixel 라이브러리를 이용하고 있는데...

 

한번에 2개이상의 strip 을 사용할순 없을까요?

예를들어 rainbow cycl

프로필사진

이연정 2016-01-06 10:38:01

안녕하세요!

각각 입력 받은 LED를 각각 객체를 따로 선언해서 제어하면 될 것 같습니다.

 

예를 들어 3개 LED를 3번 5번 6번을 통해 입력을 받으며 각각의 LED 개수가 5개, 3개, 8개인 LED의 객체를 선언한다면

#define A_PIN 3 // 3번을 통해 입력 받은 핀
#define B_PIN 5 // 5번을 통해 입력 받은 핀
#define C_PIN 6 // 6번을 통해 입력 받은 핀

Adafruit_NeoPixel A_strip= Adafruit_NeoPixel(5, A_PIN, NEO_GRB + NEO_KHZ800); // LED의 개수가 5개인 A_PIN의 객체 선언
Adafruit_NeoPixel B_strip= Adafruit_NeoPixel(3, B_PIN, NEO_GRB + NEO_KHZ800); // LED의 개수가 3개인 B_PIN의 객체 선언
Adafruit_NeoPixel C_strip= Adafruit_NeoPixel(8, C_PIN, NEO_GRB + NEO_KHZ800); // LED의 개수가 8개인 C_PIN의 객체 선언

로 해주시면 될 것 같습니다!^^

프로필사진

최오규 2016-01-07 01:42:43

답장주셔서 감사합니다!

말씀하신대로 LED를 선언한후에, 기본예제로 들어있는 rainbow cycle 을 사용하려고 해도

loop으로 돌리려고 하면  한번에 하나 밖에 안되더라구요 ㅠ 

프로필사진

Klant 2016-01-07 08:54:16

안녕하세요! 

rainbow cycle 함수를 살펴보면 하나의 LED 객체가 함수를 실행할 동안 다른 LED 객체는 켜지지 않습니다. 

동시에 제어하시려면 rainbow cycle안에 다른 LED 객체 제어에 관련된 코드를 넣어주셔야 할 것 같네요;)

이전글   |    블루투스 범위가 1m인 부품이 있나요?? 2016-01-04
다음글   |    이 블루투스 칩? 모듈? 아두이노에 쓸 수 있나요??... 2016-01-06