TSGames1 3 жил өмнө
commit
4468f0c2ef
1 өөрчлөгдсөн 78 нэмэгдсэн , 0 устгасан
  1. 78 0
      Digispark_Test.ino

+ 78 - 0
Digispark_Test.ino

@@ -0,0 +1,78 @@
+#include <Adafruit_NeoPixel.h>
+
+void HSVtoRGB(float H, float S,float V,int &R, int &G, int &B){
+    while(H>360) H-=360;
+    if(H>360 || H<0 || S>100 || S<0 || V>100 || V<0){
+        return;
+    }
+    float s = S/100;
+    float v = V/100;
+    float C = s*v;
+    float X = C*(1-abs(fmod(H/60.0, 2)-1));
+    float m = v-C;
+    float r,g,b;
+    if(H >= 0 && H < 60){
+        r = C,g = X,b = 0;
+    }
+    else if(H >= 60 && H < 120){
+        r = X,g = C,b = 0;
+    }
+    else if(H >= 120 && H < 180){
+        r = 0,g = C,b = X;
+    }
+    else if(H >= 180 && H < 240){
+        r = 0,g = X,b = C;
+    }
+    else if(H >= 240 && H < 300){
+        r = X,g = 0,b = C;
+    }
+    else{
+        r = C,g = 0,b = X;
+    }
+    R = (r+m)*255;
+    G = (g+m)*255;
+    B = (b+m)*255;
+}
+
+
+
+#define PIN            0
+#define NUMPIXELS      25 // 24
+#define CENTER 12.5
+Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
+double hue = 0.0;
+ void setup() {                
+   pixels.begin();
+   pinMode(1, OUTPUT); //LED on Model A   
+   pinMode(PIN, OUTPUT); //LED on Model A   
+  digitalWrite(1, HIGH);
+    delay(500);
+   digitalWrite(1, LOW);
+ }
+
+ // the loop routine runs over and over again forever:
+ void loop() {
+    
+   for(int i=0;i<NUMPIXELS;i++){
+    int r,g,b;
+    int hueOffset = (abs(CENTER-i)/(float)CENTER) * 75;
+    HSVtoRGB(hue + hueOffset, 100, 15,r,g,b);   
+    pixels.setPixelColor(i, pixels.Color(r,g,b)); // Moderately bright green color.
+   }
+   hue += 0.5;
+   if(hue>=360) {
+    hue -= 360;
+   }
+     pixels.show(); // This sends the updated pixel color to the hardware.
+    delay(15); // Delay for a period of time (in milliseconds).
+  }
+
+
+
+
+
+
+
+
+
+