Şimdi Ara

Void loop kodunu birleştirme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
428
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba ben bi kod yazdım fakat 2 si ayrı olarak bunları birleştirebilirmisiniz kodların sadece void loop kısmını vericem çünkü diğerlerini hallettim kodlar:


    void loop()

    {


    int olcum = mesafe(maximumRange, minimumRange);

    melodi(olcum*10);


    }


    int mesafe(int maxrange, int minrange)

    {

    seviye = analogRead(Sensor);

    if (seviye > esik)

    {

    digitalWrite (LED, HIGH);

    delay (1000);

    digitalWrite (LED, LOW);

    }

    else

    {

    digitalWrite(LED, LOW);

    }


    long duration, distance;


    digitalWrite(trigPin,LOW);

    delayMicroseconds(2);

    digitalWrite(trigPin, HIGH);

    delayMicroseconds(10);

    digitalWrite(trigPin, LOW);


    duration = pulseIn(echoPin, HIGH);

    distance = duration / 58.2;

    delay(50);


    if(distance >= maxrange || distance <= minrange)

    return 0;

    return distance;

    }


    int melodi(int dly)

    {

    tone(buzzerPin, 440);

    delay(dly);

    noTone(buzzerPin);

    delay(dly);


    }


    -----------------------------------------------------


    void loop()

    {

    if(basla==0)

    {

    if(digitalRead(baslaButton) == 1)

    {

    basla = 1;

    delay(500);

    }

    if(digitalRead(saatButton) == 1)

    {

    saat=saat+1;

    fnkFormat();

    delay(250);

    }

    if(digitalRead(dakikaButton) == 1)

    {

    dakika=dakika+1;

    if(dakika == 60)

    {

    dakika=0;

    saat=saat+1;

    }

    fnkFormat();

    delay(250);

    }

    }

    if(basla==1)

    {

    lcd.clear();

    fnkFormat();

    if(saniye == 0)

    {

    if(dakika == 0)

    {

    if(saat == 0)

    {

    digitalWrite(ledPin, HIGH);

    Serial.print("Time: ");

    time = millis();

    Serial.println(time);

    delay(500);

    if (time > 300000) {

    Serial.print ("Timer has ended ");

    digitalWrite(led10, HIGH);

    }

    }

    else

    {

    saat = saat - 1;

    dakika=59;

    saniye=59;

    }

    }

    else

    {

    dakika = dakika - 1;

    saniye=59;

    }

    }

    else

    {

    saniye = saniye - 1;

    }

    delay(1000);

    }

    }








  • Sorun nedir? Tek döngüde sen de yazabilirsin bu kodu. Çözemediğin konuda yardım etmeye çalışalım, derleme hatalarını vb... İşin işçiliğini yine sen yap olmaz mı :) ?

  • Kodlarını tek void loop içerisine yaz. Sadece mesafe(), melodi(), fnkFormat() gibi fonksiyonları loop döngüsü dışına taşı. Zaten kodu yazmışsın...

  • Yukaridaki kodlari ben yazdim diyorsun, sorduğun sorunun cevabı yazdığın kodlardan cok daha basit.

    Gerekli yönlendirmeyi yukaridaki arkadaşlar yapmışlar.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • tamam düzelttim teşekkürler

  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.