【Arduino】Unity3d交互燈帶的控制

Arudino代碼:

//燈帶變量
#include <Adafruit_NeoPixel.h>
#define PIN 8 //輸出引腳
#define PIN1 9 //輸出引腳
#define PIN2 10 //輸出引腳
#define PIN3 11 //輸出引腳

#define MAX_LED 100  //最大燈珠
#define ADD true
#define SUB false
int val = 0;
boolean stat = ADD;
boolean ifdown = SUB;
uint32_t white,red,black;
Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );
Adafruit_NeoPixel strip1 = Adafruit_NeoPixel( MAX_LED, PIN1, NEO_RGB + NEO_KHZ800 );
Adafruit_NeoPixel strip2 = Adafruit_NeoPixel( MAX_LED, PIN2, NEO_RGB + NEO_KHZ800 );
Adafruit_NeoPixel strip3 = Adafruit_NeoPixel( MAX_LED, PIN3, NEO_RGB + NEO_KHZ800 );

//狀態變量
int buttonState1 = 0;

//計時變量
unsigned long t1 = 0;
unsigned long t2 = 5;
unsigned long times = 0;

void setup() {

Serial.begin(9600);

white = strip.Color(255, 255, 255);         //選擇所顯示的顏色
red = strip.Color(0, 255, 0);  
black=strip.Color(0, 0, 0); 
strip.begin();           //初始化Adafruit_NeoPixel;
//for(int i =0;i<MAX_LED;i++)
//{
//   strip.setPixelColor(i,black);
//} 
strip.show();  


}

void loop() {



delay(1000);
//讀取Unity傳進來的值
 while(Serial.available())
   {
     char c = Serial.read();
     if(c=='H')
       {
         for(int i =0;i<MAX_LED;i++)
          {
             strip.setPixelColor(i,white);
          }
          strip.show();
       } 
        if(c=='T')
       {
         for(int i =0;i<MAX_LED;i++)
          {
             strip.setPixelColor(i,red);
          }
          strip.show();
       } 
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章