Void loop kodları nasıl birleştirilir?

Ashro

Picopat
Katılım
23 Ekim 2020
Mesajlar
17
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.
 

Eray Türkay

Hectopat
Katılım
28 Ocak 2020
Mesajlar
6.288
Makaleler
10
Çözümler
82
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?
@İbrahim Zdemir hocamın dediği gibi Loop() fonksiyonu 1 defa yazılabilir. Ne yapacaksanız tek Loop() içinde yapmanız lazım.
 
KS
Ashro

Ashro

Picopat
Katılım
23 Ekim 2020
Mesajlar
17
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

Yukarı