Çö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. :D

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. :D
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.
Ama hocam Fade efekti olmadı. Bu arada kodu kendiniz yazdıysanız benim kodda önemli bir not var. 0 yazan değer 255 yerine geçiyor. Yani ona göre çalışıyor. :D

Emeğiniz için teşekkürler. :)

Ne zaman yardıma ihtiyacınız olursa etiket atabilirsiniz. :)
Hocam yanlis okumusum. Siz yavas renk gecisi istiyormussunuz. Ama bulmussunuz sanirim. Kolay gelsin.
 
Bulamadım hocam. :D

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);
}
 
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
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 direk hepsini almayin dikkat edin.
Tamamdır. Teşekkürler. Deneyip yazacağım. Televizyonun arkasında güzel durur eğer çalışırsa.
 
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 direk hepsini almayin dikkat edin.
Gereken kütüphane: tinkersprojects/RGB_LED


Teşekkürler hocam. Tam istediğim gibi oldu.
 

Geri
Yukarı