Arduino kod birleştirme

Arkadaşlar ben bir proje yaptım fakat 3 adet ayrı kod olarak ben Arduino'da biraz yeniyim, bu yüzden süslü parantezleri karıştırıyorum. Kod olarak ben pinleri tanıttım ve Void setup kodunu yazdım ama sıkıntı Void loopta başlıyor. Kodlar:

Mesafe sensörü kodum:
Kod:
#Define echopin 6.
#Define trigpin 7.
#Define buzzerpin 8.

İnt maximumrange = 60;
İnt minimumrange = 0;

Void setup() {
Pinmode(trigpin, output);
Pinmode(echopin, ınput);
Pinmode(buzzerpin, output);

}

Void loop()
{

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

}

İnt mesafe(int maxrange, int minrange)
{
Long duration, distance;

Digitalwrite(trigpin, low);
Delaymicroseconds(2);
Digitalwrite(trigpin, hıgh);
Delaymicroseconds(10);
Digitalwrite(trigpin, low);

Duration = pulseın(echopin, hıgh);
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);

}
LED ile yaptığı timer (süreler geçince LED'ler otomatik olarak yanıyor):
Kod:
İnt analed = 13;
İnt LED3 = 10;
İnt LED1 = 11;
İnt LED2 = 12;
Unsigned long Ti'me;

Void setup(){
Pinmode(led, output);
Pinmode(led1, output);
Pinmode(led2, output);
Pinmode(led3, output);
Serial. Begin(9600);
}
Void loop()
{
Digitalwrite(led, hıgh);
Serial. Print("time: ");
Ti'me = millis();
Serial. Println(time);
Delay(500);
İf (time > 100) {
Serial. Print ("timer has ended ");
Digitalwrite(led3, hıgh);
} Else;
Digitalwrite(analed, low);
Delay (500);

Digitalwrite(led, hıgh);
Serial. Print("time: ");
Ti'me = millis();
Serial. Println(time);
Delay(500);
İf (time > 200) {
Serial. Print ("timer has ended ");
Digitalwrite(led1, hıgh);
} Else;
Digitalwrite(analed, low);
Delay (500);

Digitalwrite(led, hıgh);
Serial. Print("time: ");
Ti'me = millis();
Serial. Println(time);
Delay(500);
İf (time > 300) {
Serial. Print ("timer has ended ");
Digitalwrite(led2, hıgh);
} Else;
Digitalwrite(analed, low);
Delay (500);
}
Sıcaklık sensörüm temperature and humidity sensörü ile ölçüp yazıyı ı2C ekrana veriyor:
Kod:
#İnclude <LiquidCrystal_I2C.h>
Liquidcrystal_ı2C LCD(0x27, 16, 2);
Byte degree_symbol[8] =
{
0B00111,
0B00101,
0B00111,
0B00000,
0B00000,
0B00000,
0B00000,
0B00000.
};
İnt gate=11;
Volatile unsigned long duration=0;
Unsigned char i[5];
Unsigned int j[40];
Unsigned char value=0;
Unsigned answer=0;
İnt z=0;
İnt b=1;
Void setup()
{
lcd.init();
lcd.init();
lcd.backlight();
LCD. Print("temp = ");
LCD. Setcursor(0, 1);
LCD. Print("humidity = ");
LCD. Createchar(1, degree_symbol);
LCD. Setcursor(9, 0);
LCD. Write(1);
LCD. Print("c");
LCD. Setcursor(13, 1);
LCD. Print("%");
}

Void loop()
{

Delay(1000);
While(1)
{
Delay(1000);
Pinmode(gate, output);
Digitalwrite(gate, low);
Delay(20);
Digitalwrite(gate, hıgh);
Pinmode(gate, ınput_pullup);

Duration=pulseın(gate, low);
İf(duration <= 84 && duration >= 72)
{
While(1)
{
Duration=pulseın(gate, hıgh);

İf(duration <= 26 && duration >= 20){
Value=0;}

Else if(duration <= 74 && duration >= 65){
Value=1;}

Else if(z==40){
Break;}

İ[z/8]|=value<<(7- (z%8));
J[z]=value;
Z++;
}
}
Answer=i[0]+i[1]+i[2]+i[3];

İf(answer==i[4] && answer!=0)
{
LCD. Setcursor(7, 0);
LCD. Print(i[2]);
LCD. Setcursor(11, 1);
LCD. Print(i[0]);
}

Z=0;
İ[0]=i[1]=i[2]=i[3]=i[4]=0;
}
}

Yazılan harf hatalarının ve oluşan diğer sorunların çoğunu Arduino'nun derleyicisi zaten size gösterir. Ayrıca burada temel olarak baz almanız gereken şey, yazdığınız kodların nesnesel olması ve kod düzenidir. Arduino derleyicisi malum bir şekilde geliştiriciye çoğu yerde katkı sağlamayan, gereksiz bir derleyici olduğu için herhangi bir kodu yazarken aniden saçma bir sorun ile karşılaşmanız ihtimal. Bu yüzden size önerim alternatif derleyici olarak VS Code kullanın. PlatformIO eklentisi ile Arduino üzerinde destek sağlıyor ve mikrodenetleyicinizide kolayca programlayabiliyor. Yani demek istediğimi özetlersek süslü parantez kullanımı, temel c++ Syntax'ını ve IDE kullanımı öğrenirseniz bu sizin için başlangıç seviyede yeterli olacaktır. Ayrıca programlama öğrenmeye direkt olarak proje bazlı girmeyin. Önce for, if, else, staticler vs. temel kullanımları fonksiyonları öğrenmekten başlayın bu işe. Nesnesel programlama için bir nimet olan Class'lar bunlar çok çok önemli şeyler. Direkt olarak bu işe girerseniz en basit hatalarda bile başınız ağrıyacak seviyeye gelirsiniz ve zamanla bu işten soğursunuz.
 
Tamam çok teşekkürler bugünden C++ başlama kararı aldım bakalım nasıl olucak iyi günler, konu kilit.
Peki size son birşey sorucam sizce C++ mı öğrenmem daha yararlı , C# mi?
 

Geri
Yukarı