Arduino kodu DELAY kısmında hata veriyor

Katılım
20 Ekim 2020
Mesajlar
2.672
Çözümler
26
3 saattir uğraşıyorum. Butonlu trafik lambası yapacağım ancak kodu yapamadım/bulamadım bir türlü. Yabancı siteden buldum ancak DELAY(FADE)'de hata veriyor.
Kod:
int button = 7;

void setup() {
pinMode(button, INPUT);
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, LOW);
digitalWrite(ledGreen, HIGH);

}

void loop() {
 if(digitalRead(button) == HIGH) {
   delay(15);                        
   if(digitalRead(button) == HIGH){  
     fadeLights();                   
   }
 } else {
   digitalWrite(ledRed, LOW);        
   digitalWrite(ledYellow, LOW);     
   digitalWrite(ledGreen, HIGH);
  }
}

void fadeLights(){
 for (int i = 255; i >= 0; i--) {
   analogWrite(ledGreen, i);
   delay (fade);
 }
 //ledYellow
 for (int i = 0; i <= 255; i++) {
   analogWrite(ledYellow, i);
   delay (fade);
 }
 for (int i = 255; i >= 0; i--) {
   analogWrite(ledYellow, i);
   delay (fade);
 }
 //ledRed
 for (int i = 0; i <= 255; i++) {
   analogWrite(ledRed, i);
   delay (fade);
 }
 for (int i = 255; i >= 0; i--) {
   analogWrite(ledRed, i);
   delay (fade);
 }
 //ledYellow
 for (int i = 0; i <= 255; i++) {
   analogWrite(ledYellow, i);
   delay (fade);
 }
 for (int i = 255; i >= 0; i--) {
   analogWrite(ledYellow, i);
   delay (fade);
 }
 //ledGreen
 for (int i = 0; i <= 255; i++) {
   analogWrite(ledGreen, i);
   delay (fade);
 }
 }
 
Son satırda ki.

Kod:
delay(fade);

Kısmını.

Kod:
delay (1000);

İle değiştirip dener misiniz?
 
Son satırda ki.

Kod:
delay(fade);

Kısmını.

Kod:
delay (1000);

İle değiştirip dener misiniz?
Hocam onu yapmadim ancak baska bir kodla degistirdim oldu.

Son satırda ki.

Kod:
delay(fade);

Kısmını.

Kod:
delay (1000);

İle değiştirip dener misiniz?
Hocam ben kirmizinin biraz daha uzun yanmasini istiyorum.Hangi kodu değiştirmem gerekir?
Kod:
int ledRed = 2;
int ledYellow = 4;
int ledGreen = 5;
int button = 7;
const int fade = 10;



void setup() {
  pinMode(ledRed, OUTPUT);
  pinMode(ledYellow, OUTPUT);
  pinMode(ledGreen, OUTPUT);
  pinMode(button, INPUT);
  digitalWrite(ledRed, LOW);
  digitalWrite(ledYellow, LOW);
  digitalWrite(ledGreen, HIGH);
}


void loop() {

  if (digitalRead(button) == HIGH) {
    delay(15);
    if (digitalRead(button) == HIGH) {
      fadeLights();
    }
  } else {
    digitalWrite(ledRed, LOW);
    digitalWrite(ledYellow, LOW);
    digitalWrite(ledGreen, HIGH);
  }
}

void fadeLights() {

  for (int i = 255; i >= 0; i--) {
    analogWrite(ledGreen, i);
    delay (fade);
  }
  //ledYellow
  for (int i = 0; i <= 255; i++) {
    analogWrite(ledYellow, i);
    delay (fade);
  }
  for (int i = 255; i >= 0; i--) {
    analogWrite(ledYellow, i);
    delay (fade);
  }

  //ledRed
  for (int i = 0; i <= 255; i++) {
    analogWrite(ledRed, i);
    delay (fade);
  }
  for (int i = 255; i >= 0; i--) {
    analogWrite(ledRed, i);
    delay (fade);
  }

  //ledYellow
  for (int i = 0; i <= 255; i++) {
    analogWrite(ledYellow, i);
    delay (fade);
  }
  for (int i = 255; i >= 0; i--) {
    analogWrite(ledYellow, i);
    delay (fade);
  }


  //ledGreen
  for (int i = 0; i <= 255; i++) {
    analogWrite(ledGreen, i);
    delay (fade);
  }

}
 

Delay fade kısmını sanırım, ya da int girişini arttırın bakalım ne olacak. Yazmayalı seneler oldu bunu da özlemişim.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…