DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir
10
Cevap
377
Tıklama
0
Öne Çıkarma
Arduino WS211 led flaş effecti yapamıyorum.
E
3 yıl (14 mesaj)
Er
Konu Sahibi

Merhaba

ben 3. fren lambami arduino ile effectli hale getirmek istiyorum.

2 haftadır arduino ile ilgileniyorum. mevcut yazılan kodları inceliyorum. zaman buldukca video derslere bakıyorum. bir şeyler yapmaya çalıştım. bir yerde tıkandı olay.

flash effecti yapıp ardından ışığın sabit bir şekilde pinden sinyal geldiği sürece yanmasını istiyorum. void FRENONS kısmına ne yaptıysam 3 kere yakıp söndürüp ardından sabit bir renk yakamadım.

Yardım ederseniz sevinirim.

@rafet32
@japon_japon
@ipli jeton



 

Ayrıca hem devreyi hemde kodu canlı yürütmek için similasyon sitesindede düzenledim. isteyene link atarım.

Kod Bloğu 




#include "Arduino.h"

#include <FastLED.h>


#define LED_PIN 2 //Bilgi pin

#define park 3 //park ledi

#define fren 5 //fren ledi

#define acil 7 //fordan çık


#define NUM_LEDS 21 //toplam led


int durum=0;


CRGB leds[NUM_LEDS];



void setup() {

FastLED.addLeds<WS2811, LED_PIN, GRB>(leds, NUM_LEDS);

pinMode(park, INPUT);

pinMode(fren, INPUT);

pinMode(7, INPUT);







}




void loop()

{




if(digitalRead(fren)==0) // fren ledi söndür

{

if(digitalRead(park)==0)

{  

FRENOFF();

}

}




if(digitalRead(fren)==1)

{

if(digitalRead(park)==0) // fren ledini yak

{  

FRENONS();

}

}




if(digitalRead(park)==1)

{

if(digitalRead(fren)==1) //Fren ledini yak

{  

FRENONS();

}

}




if(digitalRead(park)==1)

{

if(digitalRead(fren)==0) // park ledini yak

{  

PARKON();

}

}







}




void ALLOFF() // hepsini söndür.

{

  for (int i = 0; i > NUM_LEDS; i++)

  {

    leds[i] = CRGB(0, 0, 0);

  }

    FastLED.show();  

}




void FRENONS() // FREN LEDİNİ YAK

{

  for (int i = 0; i < NUM_LEDS; i++)

  {

    leds[i].setRGB(255, 0, 0);

    FastLED.show();

  }

    delay(80);

   

  for (int i = 0; i < NUM_LEDS; i++)

  {

    leds[i].setRGB(0, 0, 0);

    FastLED.show();

  }

    delay(80);




      for (int i = 0; i < NUM_LEDS; i++)

  {

    leds[i].setRGB(255, 0, 0);

    FastLED.show();

  }

    delay(80);




      for (int i = 0; i < NUM_LEDS; i++)

  {

    leds[i].setRGB(255, 0, 0);

    FastLED.show();

  }

    delay(80);




 

 

     for (int i = 21; i >=0; i++)

  {

    leds[i] = CRGB(255, 0, 0);

  }

    FastLED.show();  

 




}




void FRENOFF() // fren söndür.

{

  for (int i = 0; i < NUM_LEDS; i++)

  {

    leds[i] = CRGB(0, 0, 0);

  }

    FastLED.show();  

}













void PARKON() // PARK lambasini yak

{




for (int i = 4; i < 16; i++)

{




leds[i].setRGB(0, 0, 0);

leds[i+1].setRGB(255, 0, 0);

leds[i+2].setRGB(255, 0,0 );

   delay(100);

 

  durum = digitalRead(7);







   if(durum == HIGH) // fordan yedi piniyle çık

   {

    break;

    }

   

     FastLED.show();

    }




for (int j = 16; j > 4; j--)

{




leds[j].setRGB(255, 0, 0);

leds[j+1].setRGB(255, 0, 0);

leds[j+2].setRGB(0, 0,0 );







   delay(100);




     durum = digitalRead(7);







   if(durum == HIGH) // fordan 7 piniyle çık

   {

    break;

    }

   

     FastLED.show();    

  }




}



< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi Emreöztrk -- 17 Haziran 2023; 12:47:31 >


Bu mesajda bahsedilenler: @rafet32 , @japon_japon , @ipli jeton
K
3 yıl (6388 mesaj)
Yarbay

https://forum.donanimhaber.com/onemli-konular-onemli-uyeler-onemli-bilgiler--155252903 konusundan alakalı uzman üyelerden etiketleyebilirsiniz.

#include "Arduino.h"

#include <FastLED.h>
Yukarıdaki pencereyi kopyalalayıp yapıştırıp içindekileri değiştirerek kod ekranı gibi yazabilirsiniz komutlarınızı.





< Bu mesaj bu kişi tarafından değiştirildi karafetva -- 16 Haziran 2023; 21:59:17 >
Bu mesaja 1 cevap geldi.
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.