Bir proje ödevim var ve rgb led ile arduino mega bağlantısının nasıl yapılacağını bilemiyorum. Bana bu konuda yardımcı olun lütfen. Özellikle fritzing çizimi ile yardımcı olabilirseniz çok sevinirim. Projeyi teslim etmem için sayılı günlerim kaldı.
// çeşitli beyaz tonlar #define white 0x7affff//0xffffff #define whiteHalf 0x234444//0x444444 #define whiteQuarter 0x001111 #define coolWhite 0xccffcc #define warmWhite 0xff66cc
#define nolight 0x000000
// koşu paternleri için değişkenler unsigned long pattern[5]; int length; int frames; int framerate; int edgeLength;
// button stuff için değişkenler (geri dönüşlü) const int buttonPin = 2; // basmalı pimin sayısı volatile const int limit = 7; // düğme sayacını sıfırlamak için; en yüksek durum kodu volatile int counter = 0; volatile int state = LOW; int old_counter = 0;
void setup(){ FastLED.addLeds<TM1803, 8>(leds[0], NUM_LEDS); // ilk sıradaki ledleri kontrol etmek için pin 8'i atar FastLED.addLeds<TM1803, 9>(leds[1], NUM_LEDS); FastLED.addLeds<TM1803, 10>(leds[2], NUM_LEDS); FastLED.addLeds<TM1803, 11>(leds[3], NUM_LEDS); FastLED.addLeds<TM1803, 12>(leds[4], NUM_LEDS); FastLED.addLeds<TM1803, 13>(leds[5], NUM_LEDS);
if (old_counter != counter){ // durum değişiyorsa, rengin taşınmasını önlemek için ledleri temizleyin clearLEDs(); if (counter ==4){ for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü leds[y] = whiteHalf; // diziden belirli led için otomatik olarak renk ayarlama } } for (int z = 0; z<8; z++){ edgeLEDs[z] = whiteHalf; } } delay(100); }
old_counter = counter;
switch (counter){ // her desen için durum; renkleri ve kare hızını tanımla
case 0: // serin kırık dalga: kenar aynı renkteki dalgadır {long pattern[] = {purple, indigo, blue, teal, green, teal, blue, indigo}; length = sizeof(pattern)/sizeof(long); // dizi uzunluğunu hesaplar frames = length; // kalıpların dizinin bir tam dönüşü olduğunu farz etmek framerate = 200;
for(int x = 0; x < frames; x++) { // kareler arasında döngü for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü // set top colors for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y+i)%length]; // diziden belirli led için otomatik olarak renk ayarlama } }
// kenar renkleri ayarla for (int z = 0; z<8; z++){ edgeLEDs[z] = pattern[(x+z)%length]; }
if (state == HIGH){ // düğmesine basıldığında durumdan çıkar state = LOW; break; }
FastLED.show(); delay(framerate); }} break;
case 1: // sıcak katı dalga: kenar aynı renkteki dalgadır {long pattern[] = {coral, red, orange, yellow, orange, red}; length = sizeof(pattern)/sizeof(long); // dizi uzunluğunu hesaplar frames = length; // kalıpların dizinin bir tam dönüşü olduğunu farz etmek framerate = 200;
for(int x = 0; x < frames; x++) { // kareler arasında döngü for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y)%length]; // diziden belirli led için otomatik olarak renk ayarlama } } //if (state == HIGH){ //state = LOW; // break; }
// kenar renkleri ayarla for (int z = 0; z<8; z++){ edgeLEDs[z] = pattern[(x+z)%length]; }
if (state == HIGH){ // düğmesine basıldığında durumdan çıkar state = LOW; break; }
FastLED.show(); delay(framerate); }} break;
case 2: // kuyruklu yıldız tipi desen (ileri geri): kenar kuyruklu yıldızla aynı renkteki dalgadır {long pattern[] = {nolight, nolight, nolight, nolight, nolight, nolight, white, paleYellow, paleOrange, nolight, nolight, nolight, nolight, nolight, nolight};//nolight, nolight, nolight, nolight, nolight, nolight, whiteQuarter, whiteHalf, white, nolight}; length = sizeof(pattern)/sizeof(long); // dizi uzunluğunu hesaplar frames = length; // kalıpların dizinin bir tam dönüşü olduğunu farz etmek framerate = 75;
for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü for(int x = 0; x < frames; x++) { // kareler arasında döngü // even strips if (i%2 == 0){ for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y)%length]; // diziden belirli led için otomatik olarak renk ayarlama }
//FastLED.show(); // delay(framerate); }
if (state == HIGH){ break; }
// odd strips if (i%2 != 0){ for (int y = 0; y<NUM_LEDS; y++){ // loop through leds
leds[NUM_LEDS-y-1] = pattern[(x+y)%length]; // diziden belirli led için otomatik olarak renk ayarlama }
//FastLED.show(); // delay(framerate); }
if (state == HIGH){ break; }
// edge leds for (int z = 0; z<8; z++){ edgeLEDs[z] = edgePattern[(x+z)%edgeLength]; }
if (state == HIGH){ //state = LOW; break; }
FastLED.show(); delay(framerate); }
if (state == HIGH){ state = LOW; break; } }} break;
for(int x = 0; x < frames; x++) { // kareler arasında döngü for (int i = 0; i<NUM_STRIPS/2; i++){ // şeritler arasında döngü for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü // ayna çerçevelerini aynı çerçevelerde olacak şekilde ayarlama leds[y] = pattern[(x+i)%frames][(y)%length]; // 0-2 iplikçikleri için doğru leds[(NUM_STRIPS -1) - i][y] = pattern[(x+i)%frames][(y)%length]; // iplikler 3-5 için doğru } } for (int z = 0; z<8; z++){ // kenar ledleri if (x == (frames-1)){ edgeLEDs[z] = white; } else{ edgeLEDs[z] = nolight; } }
if (state == HIGH){ state = LOW; break; }
FastLED.show(); delay(framerate); } } break;
case 4: // sözde rastgele parıldayan - sürekli: kenar parıldayarak dahil edilir {framerate = 200;
int i = random(NUM_STRIPS+1); // rastgele bir şeritten rastgele bir yol seç int y = random(NUM_LEDS);
int z = random(10);
if (z%2 == 0){ if (i<=NUM_STRIPS){ leds[y] = dimIndigo; // bazen açtı } else{ edgeLEDs[y%8] = dimIndigo; } } else{ if (i<=NUM_STRIPS){ leds[y] = whiteHalf; // bazen kapalı } else{ edgeLEDs[y%8] = whiteHalf; } }
FastLED.show(); delay(framerate);}
break;
case 5: // sözde rasgele pırıltı - kısa: kenar pırıltıya dahil edilir {framerate = 200;
int i = random(NUM_STRIPS+1); // rastgele bir şeritten rastgele bir yol seç int y = random(NUM_LEDS);
if (i<=NUM_STRIPS){ leds[y] = paleBlue; // LED'i açın } else{ edgeLEDs[y%8] = paleBlue; } //leds[y] = paleBlue; // ledi aç
int i = random(NUM_STRIPS); // rastgele bir şerit seç int j = random(10);
for(int x = 0; x < frames; x++) { // kareler arasında döngü if (j%2 ==0){ // even, along strips for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü leds[y] = pattern[(x+y+5)%length]; // diziden belirli led için otomatik olarak renk ayarlama } }
else { // odd, across strips for (int y = 0; y<NUM_LEDS; y++){ leds[y] = pattern[(x+y+5)%length]; // diziden belirli led için otomatik olarak renk ayarlama } }
for (int z = 0; z<8; z++){ //loop through edge leds edgeLEDs[z] = whiteHalf; }
if (state == HIGH){ state = LOW; break; }
FastLED.show(); delay(framerate); }} break;
case 7: // Gökkuşağı modu: kenar desenlerin devamıdır {long pattern[] = {red, orange, yellow, green, blue, indigo, purple}; length = sizeof(pattern)/sizeof(long); // dizi uzunluğunu hesaplar frames = length; // kalıpların dizinin bir tam dönüşü olduğunu farz etmek framerate = 100;
// solid wave for(int x = 0; x < frames; x++) { // kareler arasında döngü for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y)%length]; // diziden belirli led için otomatik olarak renk ayarlama } }
for (int z = 0; z<8; z++){ edgeLEDs[z] = pattern[(x+z)%length]; }
if (state == HIGH){ //düğmesine basıldığında durumdan çıkar state = LOW; break; }
FastLED.show(); delay(framerate); }
// broken wave for(int x = 0; x < frames; x++) { // kareler arasında döngü for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü leds[y] = pattern[(x+y+i)%length]; // diziden belirli led için otomatik olarak renk ayarlama } }
for (int z = 0; z<8; z++){ edgeLEDs[z] = pattern[(x+z)%length]; }
if (state == HIGH){ // düğmesine basıldığında durumdan çıkar state = LOW; break; }
FastLED.show(); delay(framerate); }} break;
} }
void changeLED(){ // kesme işlevi static unsigned long last_interrupt_time = 0; static unsigned int debounce_delay = 300; unsigned long interrupt_time = millis();
if (interrupt_time - last_interrupt_time > debounce_delay){ // geri dönüş için gecikme counter ++; // sayacı artırmak state = HIGH; //durumu değiştir, böylece davalar kapanacak if (counter > limit){ // sayacı w / in limitinde tutar (bunun yerine% yapabilir) counter = 0; } last_interrupt_time = interrupt_time; } }
void clearLEDs(){ // turns off all leds for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü leds[y] = nolight; // diziden belirli led için otomatik olarak renk ayarlama } FastLED.show(); } for (int z = 0; z<8; z++){ //kenar ledleri boyunca döngü edgeLEDs[z] = nolight; } FastLED.show(); }
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Bir proje ödevim var ve rgb led ile arduino mega bağlantısının nasıl yapılacağını bilemiyorum. Bana bu konuda yardımcı olun lütfen. Özellikle fritzing çizimi ile yardımcı olabilirseniz çok sevinirim. Projeyi teslim etmem için sayılı günlerim kaldı.
Projenin orjinal linki :https://www.instructables.com/id/Light-Up-Disco-Table/
diğer link ise :https://projehocam.com/rgb-led-disko-isikli-masa/
#include "FastLED.h"
#define NUM_STRIPS 6 // şerit sayısı
#define NUM_LEDS 6 // şerit başına led sayısı
CRGB leds[NUM_STRIPS][NUM_LEDS]; // LED nesnesini kurar
CRGB edgeLEDs[8];
// TANIM RENKLERİ (not: R B G, R G B DEĞİL)
// temel renkler
#define red 0xff0000
#define coral 0xff3333
#define pink 0xff7700
#define purple 0x99ff00
#define indigo 0x55ff00
#define blue 0x00ff00
#define teal 0x0077ff
#define green 0x0000ff
#define lime 0x6600ff
#define yellow 0xbb008f //0x8f008f
#define orange 0xff0077
// soluk hafif renkli
#define paleBlue 0x11ff99//0x33ff99
#define paleOrange 0x883399//0xff3399
#define paleYellow 0x58338f//0x8f338f
// loş hafifçe aydınlatılmış demektir
#define dimPurple 0x226600//0x224400
#define dimIndigo 0x118800//0x114400
// çeşitli beyaz tonlar
#define white 0x7affff//0xffffff
#define whiteHalf 0x234444//0x444444
#define whiteQuarter 0x001111
#define coolWhite 0xccffcc
#define warmWhite 0xff66cc
#define nolight 0x000000
// koşu paternleri için değişkenler
unsigned long pattern[5];
int length;
int frames;
int framerate;
int edgeLength;
// button stuff için değişkenler (geri dönüşlü)
const int buttonPin = 2; // basmalı pimin sayısı
volatile const int limit = 7; // düğme sayacını sıfırlamak için; en yüksek durum kodu
volatile int counter = 0;
volatile int state = LOW;
int old_counter = 0;
void setup(){
FastLED.addLeds<TM1803, 8>(leds[0], NUM_LEDS); // ilk sıradaki ledleri kontrol etmek için pin 8'i atar
FastLED.addLeds<TM1803, 9>(leds[1], NUM_LEDS);
FastLED.addLeds<TM1803, 10>(leds[2], NUM_LEDS);
FastLED.addLeds<TM1803, 11>(leds[3], NUM_LEDS);
FastLED.addLeds<TM1803, 12>(leds[4], NUM_LEDS);
FastLED.addLeds<TM1803, 13>(leds[5], NUM_LEDS);
FastLED.addLeds<TM1803, 7>(edgeLEDs, 8); // kenar ledleri
pinMode(buttonPin, INPUT);
attachInterrupt(0, changeLED, RISING); // kesme, düğmeye basıldığında sayacı artırır
Serial.begin(9600);
delay(100);
}
void loop() {
Serial.println(counter);
Serial.println(old_counter);
if (old_counter != counter){ // durum değişiyorsa, rengin taşınmasını önlemek için ledleri temizleyin
clearLEDs();
if (counter ==4){
for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü
for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = whiteHalf; // diziden belirli led için otomatik olarak renk ayarlama
}
}
for (int z = 0; z<8; z++){
edgeLEDs[z] = whiteHalf;
}
}
delay(100);
}
old_counter = counter;
switch (counter){
// her desen için durum; renkleri ve kare hızını tanımla
case 0: // serin kırık dalga: kenar aynı renkteki dalgadır
{long pattern[] = {purple, indigo, blue, teal, green, teal, blue, indigo};
length = sizeof(pattern)/sizeof(long); // dizi uzunluğunu hesaplar
frames = length; // kalıpların dizinin bir tam dönüşü olduğunu farz etmek
framerate = 200;
for(int x = 0; x < frames; x++) { // kareler arasında döngü
for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü
// set top colors
for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y+i)%length]; // diziden belirli led için otomatik olarak renk ayarlama
}
}
//if (state == HIGH){ // düğmesine basıldığında durumdan çıkar
//state = LOW;
//break; }
// kenar renkleri ayarla
for (int z = 0; z<8; z++){
edgeLEDs[z] = pattern[(x+z)%length];
}
if (state == HIGH){ // düğmesine basıldığında durumdan çıkar
state = LOW;
break; }
FastLED.show();
delay(framerate);
}}
break;
case 1: // sıcak katı dalga: kenar aynı renkteki dalgadır
{long pattern[] = {coral, red, orange, yellow, orange, red};
length = sizeof(pattern)/sizeof(long); // dizi uzunluğunu hesaplar
frames = length; // kalıpların dizinin bir tam dönüşü olduğunu farz etmek
framerate = 200;
for(int x = 0; x < frames; x++) { // kareler arasında döngü
for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü
for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y)%length]; // diziden belirli led için otomatik olarak renk ayarlama
}
}
//if (state == HIGH){
//state = LOW;
// break; }
// kenar renkleri ayarla
for (int z = 0; z<8; z++){
edgeLEDs[z] = pattern[(x+z)%length];
}
if (state == HIGH){ // düğmesine basıldığında durumdan çıkar
state = LOW;
break; }
FastLED.show();
delay(framerate);
}}
break;
case 2: // kuyruklu yıldız tipi desen (ileri geri): kenar kuyruklu yıldızla aynı renkteki dalgadır
{long pattern[] = {nolight, nolight, nolight, nolight, nolight, nolight, white, paleYellow, paleOrange, nolight, nolight, nolight, nolight, nolight, nolight};//nolight, nolight, nolight, nolight, nolight, nolight, whiteQuarter, whiteHalf, white, nolight};
length = sizeof(pattern)/sizeof(long); // dizi uzunluğunu hesaplar
frames = length; // kalıpların dizinin bir tam dönüşü olduğunu farz etmek
framerate = 75;
long edgePattern[] = {white, white, paleYellow, paleYellow, paleOrange, paleOrange};
edgeLength = sizeof(edgePattern)/sizeof(long);
for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü
for(int x = 0; x < frames; x++) { // kareler arasında döngü
// even strips
if (i%2 == 0){
for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y)%length]; // diziden belirli led için otomatik olarak renk ayarlama
}
//FastLED.show();
// delay(framerate);
}
if (state == HIGH){
break; }
// odd strips
if (i%2 != 0){
for (int y = 0; y<NUM_LEDS; y++){ // loop through leds
leds[NUM_LEDS-y-1] = pattern[(x+y)%length]; // diziden belirli led için otomatik olarak renk ayarlama
}
//FastLED.show();
// delay(framerate);
}
if (state == HIGH){
break; }
// edge leds
for (int z = 0; z<8; z++){
edgeLEDs[z] = edgePattern[(x+z)%edgeLength];
}
if (state == HIGH){
//state = LOW;
break; }
FastLED.show();
delay(framerate);
}
if (state == HIGH){
state = LOW;
break; }
}}
break;
case 3: // beyaz dalgaların - işler: kenar dalgaların devamıdır
{long pattern[][10]={{nolight, nolight, nolight, nolight, nolight, nolight},
{nolight, nolight, nolight, nolight, nolight, nolight},
{nolight, nolight, white, white, nolight, nolight},
{nolight, white, nolight, nolight, white, nolight},
{white, nolight, nolight, nolight, nolight, white},
{nolight, nolight, nolight, nolight, nolight, nolight}};
/*long pattern[][10]={nolight, nolight, nolight, nolight, nolight, nolight},
{nolight, nolight, nolight, nolight, nolight, nolight},
{nolight, nolight, white, white, nolight, nolight},
{nolight, white, nolight, nolight, white, nolight},
{white, nolight, nolight, nolight, nolight, white},
{nolight, nolight, nolight, nolight, nolight, nolight}}; works, length = 10, frames = 6*/
length = 6;
frames = 6;
framerate = 200;
for(int x = 0; x < frames; x++) { // kareler arasında döngü
for (int i = 0; i<NUM_STRIPS/2; i++){ // şeritler arasında döngü
for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
// ayna çerçevelerini aynı çerçevelerde olacak şekilde ayarlama
leds[y] = pattern[(x+i)%frames][(y)%length]; // 0-2 iplikçikleri için doğru
leds[(NUM_STRIPS -1) - i][y] = pattern[(x+i)%frames][(y)%length]; // iplikler 3-5 için doğru
}
}
for (int z = 0; z<8; z++){ // kenar ledleri
if (x == (frames-1)){
edgeLEDs[z] = white;
}
else{
edgeLEDs[z] = nolight;
}
}
if (state == HIGH){
state = LOW;
break; }
FastLED.show();
delay(framerate);
}
}
break;
case 4: // sözde rastgele parıldayan - sürekli: kenar parıldayarak dahil edilir
{framerate = 200;
int i = random(NUM_STRIPS+1); // rastgele bir şeritten rastgele bir yol seç
int y = random(NUM_LEDS);
int z = random(10);
if (z%2 == 0){
if (i<=NUM_STRIPS){
leds[y] = dimIndigo; // bazen açtı
}
else{
edgeLEDs[y%8] = dimIndigo;
}
}
else{
if (i<=NUM_STRIPS){
leds[y] = whiteHalf; // bazen kapalı
}
else{
edgeLEDs[y%8] = whiteHalf;
}
}
FastLED.show();
delay(framerate);}
break;
case 5: // sözde rasgele pırıltı - kısa: kenar pırıltıya dahil edilir
{framerate = 200;
int i = random(NUM_STRIPS+1); // rastgele bir şeritten rastgele bir yol seç
int y = random(NUM_LEDS);
if (i<=NUM_STRIPS){
leds[y] = paleBlue; // LED'i açın
}
else{
edgeLEDs[y%8] = paleBlue;
}
//leds[y] = paleBlue; // ledi aç
FastLED.show(); // renk göster
delay(framerate);
if (i<=NUM_STRIPS){
leds[y] = nolight;
}
else{
edgeLEDs[y%8] = nolight;
}
//leds[y] = nolight; // ledi kapat
FastLED.show();
delay(framerate);}
break;
case 6: // "rain": edge is solid soft white
{long pattern[] = {white, whiteHalf, whiteQuarter, nolight, nolight, nolight, nolight, nolight, nolight, nolight, nolight, nolight, nolight};
length = sizeof(pattern)/sizeof(long); // dizi uzunluğunu hesaplar
frames = length-1;
framerate = 100;
int i = random(NUM_STRIPS); // rastgele bir şerit seç
int j = random(10);
for(int x = 0; x < frames; x++) { // kareler arasında döngü
if (j%2 ==0){ // even, along strips
for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y+5)%length]; // diziden belirli led için otomatik olarak renk ayarlama
}
}
else { // odd, across strips
for (int y = 0; y<NUM_LEDS; y++){
leds[y] = pattern[(x+y+5)%length]; // diziden belirli led için otomatik olarak renk ayarlama
}
}
for (int z = 0; z<8; z++){ //loop through edge leds
edgeLEDs[z] = whiteHalf;
}
if (state == HIGH){
state = LOW;
break; }
FastLED.show();
delay(framerate);
}}
break;
case 7: // Gökkuşağı modu: kenar desenlerin devamıdır
{long pattern[] = {red, orange, yellow, green, blue, indigo, purple};
length = sizeof(pattern)/sizeof(long); // dizi uzunluğunu hesaplar
frames = length; // kalıpların dizinin bir tam dönüşü olduğunu farz etmek
framerate = 100;
// solid wave
for(int x = 0; x < frames; x++) { // kareler arasında döngü
for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü
for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y)%length]; // diziden belirli led için otomatik olarak renk ayarlama
}
}
for (int z = 0; z<8; z++){
edgeLEDs[z] = pattern[(x+z)%length];
}
if (state == HIGH){ //düğmesine basıldığında durumdan çıkar
state = LOW;
break; }
FastLED.show();
delay(framerate);
}
// broken wave
for(int x = 0; x < frames; x++) { // kareler arasında döngü
for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü
for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = pattern[(x+y+i)%length]; // diziden belirli led için otomatik olarak renk ayarlama
}
}
for (int z = 0; z<8; z++){
edgeLEDs[z] = pattern[(x+z)%length];
}
if (state == HIGH){ // düğmesine basıldığında durumdan çıkar
state = LOW;
break; }
FastLED.show();
delay(framerate);
}}
break;
}
}
void changeLED(){ // kesme işlevi
static unsigned long last_interrupt_time = 0;
static unsigned int debounce_delay = 300;
unsigned long interrupt_time = millis();
if (interrupt_time - last_interrupt_time > debounce_delay){ // geri dönüş için gecikme
counter ++; // sayacı artırmak
state = HIGH; //durumu değiştir, böylece davalar kapanacak
if (counter > limit){ // sayacı w / in limitinde tutar (bunun yerine% yapabilir)
counter = 0;
}
last_interrupt_time = interrupt_time;
}
}
void clearLEDs(){ // turns off all leds
for (int i = 0; i<NUM_STRIPS; i++){ // şeritler arasında döngü
for (int y = 0; y<NUM_LEDS; y++){ // ledleri arasında döngü
leds[y] = nolight; // diziden belirli led için otomatik olarak renk ayarlama
}
FastLED.show();
}
for (int z = 0; z<8; z++){ //kenar ledleri boyunca döngü
edgeLEDs[z] = nolight;
}
FastLED.show();
}
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.