Arduino kodu DELAY kısmında hata veriyor

Geforce Mx130

Hectopat
Katılım
20 Ekim 2020
Mesajlar
1.676
Çözümler
16
Daha fazla  
Sistem Özellikleri
Ryzen 5 5500 3.6GHz-Sapphire RX5700XT 8GB GDDR6-Gigabyte B550m Ds3h rev 1.4-Viper Steel 8x2GB 3600Mhz CL17 Ram-Apacer Panther As340 240GB-Aerocool Vx Plus 500W-Bitfeniz Helios Mesh kasa 🙂
Cinsiyet
Erkek
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?
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);
  }

}
 
Hocam onu yapmadim ancak baska bir kodla degistirdim oldu.

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.
 

Geri
Yukarı