- sınıf öğrencisiyim performans ödevim için şu videodaki https://www.youtube.com/watch?v=SatHOy9JK1I devreyi yaptım çalıştırdım fakat hoca arduino kodlarını açıp şu satır ne işe yarıyor dediğinde sap gibi kalmamak için kod bilgisi olan birinden yardım almam gerekiyor kod bilgim baya az bildiklerimi yazdım, acaba sonuna ‘//’ koyduğum satırların ne işe yaradığını yazarmısınız ? teşekkürler
int ses_sensoru = 4; // 4. pinin adını ses_sensoru oalrak değiştirdik int role = 5; // 5. pinin adını role olarak değiştirdik int alkis = 0; // long algilama_araligi_baslangic = 0; // long algilama_araligi = 0; // boolean isik_durumu = false; // void setup() { pinMode(ses_sensoru, INPUT); // 4. pini çıkış olarak ayarladık pinMode(role, OUTPUT); // 5. pini çıkış olarak ayarladık } void loop() { int sensor_durumu = digitalRead(ses_sensoru); // if (sensor_durumu == 0) // { if (alkis == 0) // { algilama_araligi_baslangic = algilama_araligi = millis(); // alkis++; // } else if (alkis > 0 && millis()-algilama_araligi >= 50) // { algilama_araligi = millis(); // alkis++; // } } if (millis()-algilama_araligi_baslangic >= 400) // iki ses arasındaki süreyi 400 ms olarak ayarladık { if (alkis == 2) // { if (!isik_durumu) // { isik_durumu = true; // digitalWrite(role, HIGH); // } else if (isik_durumu) // { isik_durumu = false; // digitalWrite(role, LOW); // } } alkis = 0; // } }
int ses_sensoru = 4; // 4. pinin adını ses_sensoru oalrak değiştirdik int role = 5; // 5. pinin adını role olarak değiştirdik int alkis = 0; // long algilama_araligi_baslangic = 0; // algilama_araligi_baslangic adında bir değişken long(32bit) formatta tanımlandı ve ilk değeri olarakta 0 atandı. long algilama_araligi = 0; //algilama_araligi adında bir değişken long(32bit) formatta tanımlandı ve ilk değeri olarakta 0 atandı. boolean isik_durumu = false; // değişken tipi yalnızca 2 durumdan oluşur true(1) veya false(0) void setup() { pinMode(ses_sensoru, INPUT); // 4. pini çıkış olarak ayarladık pinMode(role, OUTPUT); // 5. pini çıkış olarak ayarladık } void loop() { int sensor_durumu = digitalRead(ses_sensoru); //4.pini(ses_sensoru) oku ve okuduğun değeri sensor_durumu değişkeninin içine yaz if (sensor_durumu == 0) // eğer okuduğun sensor_durumu değeri “0” ise bu komutun içine gir { if (alkis == 0) //eğer okuduğun alkis değeri “0” ise bu komutun içine gir { algilama_araligi_baslangic = algilama_araligi = millis(); //milis, milisaniye cinsinden sayan bir sayaçtır. algilama_araligi_baslangic değişkenine ve algilama_araligi değişkenine o anki milis sayacı neyse o değeri ata alkis++; // alkis değişkenini 1 arttır. } else if (alkis > 0 && millis()-algilama_araligi >= 50) // eğer (0 && millis()-algilama_araligi) fonksiyonunun değeri 50den büyük ve eşit aynı zamanda alkis değişkeninin değerinden küçük ise bu komuta gir. { algilama_araligi = millis(); // algilama_araligi değişkenine o anki milis sayacı hangi değerde ise onu ata. alkis++; // alkis değişkenini 1 arttır } } if (millis()-algilama_araligi_baslangic >= 400) // iki ses arasındaki süreyi 400 ms olarak ayarladık { if (alkis == 2) // eğer alkis değişkeni 2 değerine eşitse bu komuta gir. { if (!isik_durumu) // eğer isik_durumu değişkeninin değeri false(“0”) ise bu komuta gir. { isik_durumu = true; // isik_durumu değişkenini true (“1”) yap. digitalWrite(role, HIGH); // role pinini HIGH (“1”) yap (aktif et) } else if (isik_durumu) //eğer isik_durumu değişkeninin değeri true(“1”) ise bu komuta gir. { isik_durumu = false; // isik_durumu değişkenini false (“0”) yap. digitalWrite(role, LOW); // role pinini LOW (“0”) yap (pasif et) } } alkis = 0; // alkis değişkenini sıfırla. } }
Teşekkürler ekmekci iyi forumlar ![]()