정보나눔

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

조이스틱-네오픽셀 질문 드립니다.
이나경 | 2015-12-08

조이스틱을 이용해서 네오픽셀 개별 컨트롤을 하고 싶은데요.

코드 열심히 찾아봤는데 안나와서 가능한건지 궁금합니다ㅜ

구조는 네오픽셀 스트립에서 8개를 잘라 원형으로 만들었습니다. 가운데에 조이스틱을 붙여서 움직이는 형태이구요.

조이스틱은   X값 - A0 / Y값 - A1 / SW - 2           

네오픽셀은 13에 연결했습니다.

 

네오픽셀 라이브러리에 있는 아래 코드를 써서

조이스틱의 버튼을 눌러 끄고 - 색변화 - 다시 끔 까지는 되었는데요.

 // Check if state changed from high to low (button press).
  if (newState == LOW && oldState == HIGH) {
    // Short delay to debounce button.
    delay(20);
    // Check if button is still low after debounce.
    newState = digitalRead(BUTTON_PIN);
    if (newState == LOW) {
      showType++;
      if (showType > 9)
        showType=0;
      startShow(showType);
    }
   

  }

 

 

  // Set the last button state to the old state.
  oldState = newState;
}

void startShow(int i) {
  switch(i){
    case 0: colorWipe(strip.Color(0, 0, 0), 50);    // Black/off
            break;
    case 1: colorWipe(strip.Color(255, 0, 0), 50);  // Red
            break;
    case 2: colorWipe(strip.Color(90, 255, 0), 50);  // Yellow
            break;
    case 3: colorWipe(strip.Color(0, 255, 0), 50);  // green
            break;
    case 4: colorWipe(strip.Color(0, 90, 255), 50);  // Cyan
            break;
    case 5: colorWipe(strip.Color(0, 0, 255), 50);  // Blue
            break;
    case 6: colorWipe(strip.Color(80, 0, 255), 50);  // Magenta
            break;
  }

------------------------------------------------------------------------------------------------------

여기에 X,Y값 변동으로 몇개의 네오픽셀LED만 끄고 키려고 하는데 개별제어가 되는건가요?

어떤 값일때 어디가 켜질껀지는 정해놓았어요.

아래 사진처럼 조이스틱을 움직였을때 반대위치의 LED가 켜지는 식입니다.

 

일반 LED로 할때는 선을 하나씩 연결해주니까 되던데 네오픽셀은 코드가 다른것같아서ㅠ  어렵네요.

감사합니다.

 

 

 

 

이전글   |    오렌지 BLE 보드 Android library 2015-12-08
다음글   |    사운드센서로 측정되는 소리량을 5개의 LED로 제어하고싶은데 질문있습니다.... 2015-12-08