#include #include #define LED_PIN 3 #define NUM_LEDS 20 int STARLONG = 10; int part1h = 9; int part1f = 0; int part2h = 19; int part2f = 10; int partfullh = 18; int partfullf = -1; int parthead = part1h; int partfoot = part1f; int closehead = part2h; int closefoot = part2f; int colorcode = 255 / STARLONG; #define acik 1 #define kapali 0 boolean durum = kapali; CRGB leds[NUM_LEDS + 5]; RCSwitch mySwitch = RCSwitch(); int anicolor = 255; int anispeed = 200; int ekstra_parlaklik = 50; int progvalue = -1; int farkli = 0; int renk = progvalue; int R, G, B; void setup() { FastLED.addLeds(leds, NUM_LEDS); FastLED.setMaxPowerInVoltsAndMilliamps(12, 500); FastLED.clear(); FastLED.show(); //FastLED.addLeds(Strip1, Num_Strip1); Serial.begin(9600); mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 } //bu da renk ve hız ayarları void editcolor() { if (mySwitch.available()) { unsigned long int num = mySwitch.getReceivedValue(); Serial.println("Gelen Kod: " + String(num)); Serial.print("Gelen Renk: "); switch (num) { case 9458945: mySwitch.disableReceive();//kırmızı Serial.println("aç"); parthead = part1h; partfoot = part1f; closehead = part2h; closefoot = part2f; renk = progvalue; durum = acik; break; case 9458947: mySwitch.disableReceive();//kapat Serial.println("kapat"); anicolor = 255; renk = farkli; R = 0; G = 0; B = 0; durum = kapali; break; case 9458954: mySwitch.disableReceive();//kırmızı Serial.println("kırmızı"); anicolor = 255; renk = farkli; R = 255; G = 0; B = 0; break; case 9458955: mySwitch.disableReceive();//yesil Serial.println("yesil"); anicolor = 190; renk = farkli; R = 0; G = 255; B = 0; break; case 9458956: mySwitch.disableReceive();//mavi Serial.println("mavi"); anicolor = 90; renk = farkli; R = 0; G = 0; B = 255; break; case 9458957: mySwitch.disableReceive(); //sarı Serial.println("sarı"); anicolor = 210; renk = farkli; R = 255; G = 255; B = 0; //////////// break; case 9458958: mySwitch.disableReceive(); //turuncu Serial.println("turuncu"); anicolor = 210; renk = farkli; R = 255; G = 153; B = 51; break; case 9458959: mySwitch.disableReceive(); //turuncu Serial.println("turuncu--2"); anicolor = 230; renk = farkli; R = 255; G = 128; B = 0; break; case 9458960: mySwitch.disableReceive(); // Bu hangi renk Serial.println("----1111"); anicolor = 220; renk = farkli; R = 255; G = 50; B = 0; break; case 9458961: mySwitch.disableReceive(); //mavi Serial.println("mavi"); anicolor = 110; renk = farkli; R = 0; G = 0; B = 204; break; case 9458962: mySwitch.disableReceive(); // Bu hangi renk Serial.println("lacivert"); anicolor = 130; renk = farkli; R = 0; G = 50; B = 255; break; case 9458963: mySwitch.disableReceive(); //pembe Serial.println("pembe"); anicolor = 75; renk = farkli; R = 255; G = 0; B = 255; break; case 9458964: mySwitch.disableReceive(); //yesil Serial.println("yesil"); renk = farkli; anicolor = 170; R = 51; G = 255; B = 51; break; case 9458965: mySwitch.disableReceive(); //beyaz olmalı Serial.println("beyaz"); //anicolor = 0; renk = farkli; R = 255; G = 255; B = 255; break; case 9458948: mySwitch.disableReceive(); Serial.print("hız++: "); if (anispeed <= 500) { anispeed += 100; } Serial.println(anispeed); break; case 9458951: mySwitch.disableReceive(); Serial.print("hız--: "); if (anispeed >= 150) //Burası 150 olmalı çünkü 50 olduğu zaman içine girerse yeni değer -50 olur { anispeed -= 100; } Serial.println(anispeed); break; // bu ikisi //9458950 //artan //9458953 //azalan case 9458950: mySwitch.disableReceive(); Serial.print("ekstra_parlaklik++: "); if (ekstra_parlaklik <= 500) { ekstra_parlaklik += 20; } Serial.println(ekstra_parlaklik); break; case 9458953: mySwitch.disableReceive(); Serial.print("ekstra_parlaklik--: "); if (ekstra_parlaklik >= 20) { ekstra_parlaklik -= 20; } Serial.println(ekstra_parlaklik); break; case 9458949: mySwitch.disableReceive(); Serial.print("ilk 10'lu "); parthead = part1h; partfoot = part1f; closehead = part2h; closefoot = part2f; progvalue += 1 ; renk = progvalue; Serial.println("açıldı"); break; case 9458952: mySwitch.disableReceive(); Serial.print("ikinci 10'lu: "); parthead = part2h; partfoot = part2f; closehead = part1h; closefoot = part1f; renk = progvalue; Serial.println("açıldı"); break; case 9458946: mySwitch.disableReceive(); Serial.print("20'si birden "); parthead = part2h; partfoot = part1f; closehead = 21; closefoot = 20; renk = progvalue; progvalue += 1 ; Serial.println("açıldı"); break; default: break; } mySwitch.resetAvailable(); mySwitch.enableReceive(0); } } void loop() { if (durum = kapali) { for (int k = 0; k <= 19; k++) { leds[k].setRGB(0, 0, 0); } } if (progvalue >= 3) { progvalue = 0; } //kapali olacak bölüm if (renk == progvalue) { for (int k = closefoot; k <= closehead; k++) { leds[k].setRGB(0, 0, 0); } } //Serial.println(progvalue); if (renk == progvalue) { progvalue += 1; int newvalue = progvalue + 1; //Serial.println("beyaz"); // for (int s = partfoot; s <= parthead; s++) // { // leds[w + s].setRGB((colorcode + ekstra_parlaklik), (colorcode + ekstra_parlaklik), (colorcode + ekstra_parlaklik)); // } if (durum = acik) { // 1. animasyon başla if (progvalue == 1) { for (int g = 0; g < 3; g++) { leds[parthead - 5] = CHSV(210, 180, 180); leds[parthead - 4].setRGB(0, 0, 0); leds[parthead - 3] = CHSV(210, 210, 210); leds[parthead - 2].setRGB(0, 0, 0); leds[parthead - 1] = CHSV(210, 255, 255); leds[parthead + 0].setRGB(0, 0, 0); delay(100); FastLED.show(); leds[parthead - 5].setRGB(0, 0, 0); leds[parthead - 4] = CHSV(210, 120, 120); leds[parthead - 3].setRGB(0, 0, 0); leds[parthead - 2] = CHSV(210, 150, 150); leds[parthead - 1].setRGB(0, 0, 0); leds[parthead + 0] = CHSV(210, 180, 180); delay(100); FastLED.show(); } leds[parthead - 5].setRGB(0, 0, 0); leds[parthead - 4].setRGB(0, 0, 0); leds[parthead - 3].setRGB(0, 0, 0); leds[parthead - 2].setRGB(0, 0, 0); leds[parthead - 1].setRGB(0, 0, 0); leds[parthead + 0].setRGB(0, 0, 0); delay(100); FastLED.show(); } // 1. animasyon bitiş // 2. animasyon başla if (progvalue == 2) { leds[partfoot].setRGB(255, 255, 255); delay(anispeed); leds[partfoot].setRGB(180, 180, 180); leds[partfoot + 1].setRGB(255, 255, 255); delay(anispeed); leds[partfoot].setRGB(120, 120, 120); leds[partfoot + 1].setRGB(180, 180, 180); leds[partfoot + 2].setRGB(255, 255, 255); delay(anispeed); FastLED.show(); for (int s = partfoot; s < parthead - 2; s++) { leds[s - 1].setRGB(0, 0, 0); leds[s + 0].setRGB(60, 60, 60); leds[s + 1].setRGB(120, 120, 120); leds[s + 2].setRGB(180, 180, 180); leds[s + 3].setRGB(255, 255, 255); delay(anispeed); FastLED.show(); } leds[parthead - 3].setRGB(0, 0, 0); leds[parthead - 2].setRGB(60, 60, 60); leds[parthead - 1].setRGB(120, 120, 120); leds[parthead].setRGB(180, 180, 180); delay(anispeed); FastLED.show(); leds[parthead - 2].setRGB(0, 0, 0); leds[parthead - 1].setRGB(60, 60, 60); leds[parthead].setRGB(120, 120, 120); delay(anispeed); FastLED.show(); leds[parthead - 1].setRGB(0, 0, 0); leds[parthead].setRGB(60, 60, 60); delay(anispeed); FastLED.show(); leds[parthead].setRGB(0, 0, 0); delay(anispeed); FastLED.show(); delay(1000); FastLED.show(); } // 2. animasyon bitiş // 3. animasyon başla if (progvalue == 3) { leds[parthead].setRGB(255, 0, 255); delay(500); FastLED.show(); leds[parthead].setRGB(0, 0, 0); delay(500); FastLED.show(); leds[parthead].setRGB(0, 0, 255); delay(500); FastLED.show(); leds[parthead].setRGB(0, 0, 0); delay(500); FastLED.show(); } } // 3. bitiş } if (renk == farkli) { //Serial.print("anicolor: "); //Serial.println(anicolor); for (int s = partfoot; s <= parthead; s++) { //leds[s + w] = CHSV(anicolor * s, colorcode * s, colorcode * s); //leds[w + s].setRGB(anicolor , anicolor * s, anicolor * s); Serial.print("R: "); Serial.println(R); Serial.print("G: "); Serial.println(G); Serial.print("B: "); Serial.println(B); leds[s].setRGB(R , G, B); } } delay(anispeed); // unsigned long baslangic_sure = millis() + anispeed;//250; // while (millis() <= baslangic_sure) // { // editcolor(); // } FastLED.show(); Serial.print("anispeed: "); Serial.println(anispeed); Serial.flush(); unsigned long baslangic_sure1 = millis() + anispeed; while (millis() <= baslangic_sure1) { editcolor(); } }