Void loop kodları nasıl birleştirilir?

378894

Hectopat
Katılım
23 Ekim 2020
Mesajlar
381
Çözümler
1
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.
 
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:

Yeni konular

Geri
Yukarı