Void loop kodları nasıl birleştirilir?

Ashroo

Hectopat
Katılım
23 Ekim 2020
Mesajlar
381
Çözümler
1
Daha fazla  
Sistem Özellikleri
Ryzen 5 5600 | Asus Dual Rtx 3070 | Asus Tuf B550m-e | Xpg 2x8 Ram| Corsair H100 Sıvı Soğutma | WD Blue M2 SSD | Kingston 1 TB KC3000 | M2 SSD | Asus Tuf Gaming 650W Psu | Asus Tuf Gaming GT301
Cinsiyet
Erkek
Arkadaşlar merhaba ben bir kod yazdım fakat ikisi ayrı olarak bunları birleştirebilir misiniz? Kodların sadece Void loop kısmını vereceğim çünkü diğerlerini hallettim. Kodlar:

Kod:
Void loop()
{

İnt olcum = mesafe(maximumrange, minimumrange);
Melodi(olcum*10);

}

İnt mesafe(int maxrange, int minrange)
{
Seviye = analogread(sensor);
İf (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 = pulseın(echopin, High);
Distance = duration / 58.2;
Delay(50);

İf(distance >= maxrange || distance <= minrange)
Return 0;
Return distance;
}

İnt melodi(int dly)
{
Tone(buzzerpin, 440);
Delay(dly);
Notone(buzzerpin);
Delay(dly);

}

Void loop()
{
İf(basla==0)
{
İf(Digitalread(baslabutton) == 1)
{
Basla = 1;
Delay(500);
}
İf(Digitalread(saatbutton) == 1)
{
Saat = saat+1;
fnkFormat();
Delay(250);
}
İf(Digitalread(dakikabutton) == 1)
{
Dakika = dakika+1;
İf(dakika == 60)
{
Dakika = 0;
Saat = saat+1;
}
fnkFormat();
Delay(250);
}
}
İf(basla==1)
{
lcd.clear();
fnkFormat();
İf(saniye == 0)
{
İf(dakika == 0)
{
İf(saat == 0)
{
Digitalwrite(ledpin, High);
Serial. Print("time: ");
Time = millis();
Serial. Println(time);
Delay(500);
İf (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);
}
}

Yapabilirseniz sevinirim.
 
Arkadaşlar merhaba ben bir kod yazdım fakat ikisi ayrı olarak bunları birleştirebilir misiniz? Kodların sadece Void loop kısmını vereceğim çünkü diğerlerini hallettim. Kodlar:

Kod:
Void loop()
{

İnt olcum = mesafe(maximumrange, minimumrange);
Melodi(olcum*10);

}

İnt mesafe(int maxrange, int minrange)
{
Seviye = analogread(sensor);
İf (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 = pulseın(echopin, High);
Distance = duration / 58.2;
Delay(50);

İf(distance >= maxrange || distance <= minrange)
Return 0;
Return distance;
}

İnt melodi(int dly)
{
Tone(buzzerpin, 440);
Delay(dly);
Notone(buzzerpin);
Delay(dly);

}

Void loop()
{
İf(basla==0)
{
İf(Digitalread(baslabutton) == 1)
{
Basla = 1;
Delay(500);
}
İf(Digitalread(saatbutton) == 1)
{
Saat = saat+1;
fnkFormat();
Delay(250);
}
İf(Digitalread(dakikabutton) == 1)
{
Dakika = dakika+1;
İf(dakika == 60)
{
Dakika = 0;
Saat = saat+1;
}
fnkFormat();
Delay(250);
}
}
İf(basla==1)
{
lcd.clear();
fnkFormat();
İf(saniye == 0)
{
İf(dakika == 0)
{
İf(saat == 0)
{
Digitalwrite(ledpin, High);
Serial. Print("time: ");
Time = millis();
Serial. Println(time);
Delay(500);
İf (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);
}
}

Yapabilirseniz sevinirim.

Birleştirmeden kastınız nedir?
@SideWinder hocamın dediği gibi Loop() fonksiyonu 1 defa yazılabilir. Ne yapacaksanız tek Loop() içinde yapmanız lazım.
 
Yani 2 kodu da bir araya getirip tek loop yazıcaktım
 
Evet bikaç gündür uğraşıyorum artık kafayı yiycem.
Abi 1. kod mesafe sensörü ve ses ile led yakma 2. kod ise l2c ile timer ve zaman bitince led yakma kodu.
Abi şimdi sen kodu yapıcan mı?
 
Son düzenleme:

Geri
Yukarı