crbgz 发表于 2016-9-1 11:00:51

如何用按键增加减少int PIXEL_COUNT= 80;的值????

#include <Adafruit_NeoPixel.h>

#define PIN 6      //#定義6 PIN
int PIXEL_COUNT= 80;


Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIN, NEO_GRB + NEO_KHZ800);   




void setup()
{

   strip.begin();
strip.show(); // Initialize all pixels to 'off'      strip.show(); //初始化所有像素“關”


}
void loop()
{   //空隙環(){

rainbowCycle2(5);//5速度,越细越快

}

void rainbowCycle2(uint8_t wait) //無效rainbowCycle(uint8_t有等待){
{
   
uint16_t i,j;
//uint16_t i,j;

for(j=0; j<256; j++)
       { // 5 cycles of all colors on wheel      對於(J = 0;Ĵ<256 * 5; J ++){// 5個週期輪上的所有顏色
    for(i=0; i< strip.numPixels(); i++)
         {            //對於(i = 0;我<strip.numPixels();我++){
            strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) - j) & 255));   // -i正转,+i 反转。+j前细后大,-j前大后细
            
//strip.setPixelColor(strip.numPixels()-i, Wheel(((i * 254 / strip.numPixels()) - j) & 255)); // 顺时针跑
                }
    strip.show();
    delay(wait);      //    延遲(等待);
}
}

uint32_t Wheel(byte WheelPos) {                   //uint32_t的車輪(字節WheelPos){
// WheelPos = 255 - WheelPos;
if(WheelPos < 30)//拖尾长度
       {                      //WheelPos = 100;   //如果(WheelPos <85){
               return strip.Color( 255 ,WheelPos , WheelPos );   //前跑馬灯颜色
         //return strip.Color(0,0 , 0);   //前跑馬灯颜色
             //0绿色,
      }




               else
               {         // }其他{
                   // WheelPos -= 170;      
                     return strip.Color( 0, 0, 0);   //背景灯光颜色
                   // return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);                // 返回strip.Color(WheelPos * 3,255 - WheelPos * 3,0);
               }
}

crbgz 发表于 2016-9-1 11:05:14

arduino``````````````````````

164335413 发表于 2016-9-1 14:39:48

Arduino ,先获取按键的按下状态,一般使用digitalRead(pin),读取引脚的值进行判断,这个过程需要消抖,也就是先测量一次,间隔10ms再测量一次。如果两个状态都是按下的状态,那就说明已经按下。然后可以改变PIXEL_COUNT值。
页: [1]
查看完整版本: 如何用按键增加减少int PIXEL_COUNT= 80;的值????