Çözüldü Bu koda fade efekti ekleyebilir misiniz?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Affansen

Hectopat
Katılım
17 Nisan 2020
Mesajlar
4.766
Makaleler
1
Çözümler
29
İyi geceler hepinize.

Öncelikle şunu belirteyim, bu bir ödev değildir. Evde tarayıcıdan söktüğüm led için bakıyorum.

İstediğim şey: Renkler arasında yumuşak bir geçiş olması. Yani direkt olarak renk geçişini sevmiyorum.

Kodun bir kısmı tamam. İnternetten bir örnek ile sonuna bir beyaz fade ekledim ama diğerleri istediğim gibi olmadı. Yardımcı olacaklara şimdiden teşekkürler.

Eğer zor bir şey ise belirtin lütfen.
C++:
int ledPin_red =    9; // PWM-Port Arduino UNO
int ledPin_green = 10; // PWM-Port
int ledPin_blue =  11; // PWM-Port 

void setup() {
  // ,Setup boş :)
}

void loop() { // Renkler tersine döner: GND (=0)
//  beyaz:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 0);
    delay(2000);
//  yeşil:
    analogWrite(ledPin_red, 255);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 255);
    delay(1400);
//  açık yeşil:
    analogWrite(ledPin_red, 127);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 255);
    delay(1400);
//  kırmızı:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 255);
    analogWrite(ledPin_blue, 255);
    delay(2000);
// açık kırmızı:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 255);
    analogWrite(ledPin_blue, 0);
    delay(2000);
//  mavi:
    analogWrite(ledPin_red, 255);
    analogWrite(ledPin_green, 255);
    analogWrite(ledPin_blue, 0);
    delay(1400);
//  açık mavi:
    analogWrite(ledPin_red, 255);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 0);
    delay(2000);
//  lacivert :
    analogWrite(ledPin_red, 255);
    analogWrite(ledPin_green, 127);
    analogWrite(ledPin_blue, 0);
    delay(2000);
//  sarı:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 255);
    delay(2000);
//   mor:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 255);
    analogWrite(ledPin_blue, 0);
    delay(2000);
//   beyaz fading:
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
    analogWrite(ledPin_red, fadeValue);
    analogWrite(ledPin_green, fadeValue);
    analogWrite(ledPin_blue, fadeValue);
    delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
    analogWrite(ledPin_red, fadeValue);
    analogWrite(ledPin_green, fadeValue);
    analogWrite(ledPin_blue, fadeValue);
    delay(30);
}
    
}
 
Çözüm
Fade;

#include <RGB_LED.h>

RGB_LED LED(9,10,11);

void setup()
{
LED.setFunction(Fade);
}

void loop()
{
LED.run();
}

Two Leds;

#include <RGB_LED.h>

RGB_LED LED1(9,10,11);
RGB_LED LED2(3,4,5);

void setup()
{
LED1.setFunction(Fade);
LED2.setFunction(Step);
}

void loop()
{
LED1.run();
LED2.run();
}

Set speed;

#include <RGB_LED.h>

#define upButtonPin 4
#define downButtonPin 5

unsigned int speed = 1000;

RGB_LED LED(9,10,11);

void setup()
{
pinMode(upButtonPin,INPUT);
pinMode(downButtonPin,INPUT);
LED.setFunction(Fade);
}

void loop()
{
LED.run();

if(digitalRead(downButtonPin)==HIGH && speed<100)
{
speed--;
LED.setSpeed(speed);
LED.delay(10);
}
if(digitalRead(upButtonPin)==HIGH && speed>20000)
{
speed++;
LED.setSpeed(speed);
LED.delay(10);
}
}
Hocam baslik baslik ayirdim, direkt hepsini almayin dikkat edin.
Hocam yanlis okumusum. Siz yavas renk gecisi istiyormussunuz. Ama bulmussunuz sanirim. Kolay gelsin.
 
Bulamadım hocam.

Konu güncel.
int led = 3; // the pin that the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by

// the setup routine runs once when you press reset:
void setup() {
// declare pin 3 to be an output:
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
// set the brightness of pin 3:
analogWrite(led, brightness);

// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;

// reverse the direction of the fading at the ends of the fade:
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
 
Hocam led RGB. Yani renkler arası yumuşak geçiş istemiştim. Galiba bu tek led için.
 
Fade;

#include <RGB_LED.h>

RGB_LED LED(9,10,11);

void setup()
{
LED.setFunction(Fade);
}

void loop()
{
LED.run();
}

Two Leds;

#include <RGB_LED.h>

RGB_LED LED1(9,10,11);
RGB_LED LED2(3,4,5);

void setup()
{
LED1.setFunction(Fade);
LED2.setFunction(Step);
}

void loop()
{
LED1.run();
LED2.run();
}

Set speed;

#include <RGB_LED.h>

#define upButtonPin 4
#define downButtonPin 5

unsigned int speed = 1000;

RGB_LED LED(9,10,11);

void setup()
{
pinMode(upButtonPin,INPUT);
pinMode(downButtonPin,INPUT);
LED.setFunction(Fade);
}

void loop()
{
LED.run();

if(digitalRead(downButtonPin)==HIGH && speed<100)
{
speed--;
LED.setSpeed(speed);
LED.delay(10);
}
if(digitalRead(upButtonPin)==HIGH && speed>20000)
{
speed++;
LED.setSpeed(speed);
LED.delay(10);
}
}
Hocam baslik baslik ayirdim, direkt hepsini almayin dikkat edin.
 
Çözüm
Tamamdır. Teşekkürler. Deneyip yazacağım. Televizyonun arkasında güzel durur eğer çalışırsa.
 
Gereken kütüphane: tinkersprojects/RGB_LED


Teşekkürler hocam. Tam istediğim gibi oldu.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…