Salı , 19 Mart 2024

Arduino Sınav Çalışma Sorusu


Devre Senaryosu

Devremizde ana program bloğunda 1-10 Arasında iki sayı üretiliyor ve bu sayılar bir fonksiyona gönderiliyor. Fonksiyona gönderilen sayılar burada Xy işlemi gerçekleştirilip sonuc ana program bloğuna geriye döndürülmektedir. Sonuc 2 ye tam bölünüyor ise ledler soldan sağa doğru 500 ms aralıklar ile yanıyor. Yanma işlemi bitiminde 1 saniye bekleniyor ve tam tersi istikamette 500 ms aralıkla ile ledlerimiz sönüyor. Eğer sayı 2 ye tam bölünmüyor ise ledlerimiz sağdan sola 500 ms aralıklar ile yanacaktır. Yanma işlemi bittikten sonra 1 saniye beklenecek ve tam tersi istikamette 500 ms aralıklar ile sönmeye başlayacaklardır. Serial monitörde gerekli olan tüm çıktılar hatasız olarak gösterilecektir.

Tinkercad Devre Şeması

Devre Kodları

// C++ code
//

void setup()
{
for(int damla=2;damla<=6;damla++)
pinMode(damla, OUTPUT);
Serial.begin(9600);
}
long hesapyap(int x, int y)
{
long sonuc=1;
for(int k=y;k>=1;k- -)
{
sonuc=sonuc*x;
}
Serial.print(“HESAPLAMA SONUCU=”);
Serial.println(sonuc);
return sonuc;

}

void loop()
{
int taban=random(1,10);
int ust=random(1,10);
Serial.print(“TABAN SAYISI=”);
Serial.println(taban);
Serial.print(“UST SAYISI=”);
Serial.println(ust);
long gelensonuc=hesapyap(taban,ust);
if(gelensonuc%2==0)
{
for(int ldy=2;ldy<=6;ldy++)
{
digitalWrite(ldy,1);

delay(500);
}
delay(1000);
for(int lds=6;lds>=2;lds- -)
{
digitalWrite(lds,0);

delay(500);
}

}
else
{

for(int ldy=6;ldy>=2;ldy- -)
{
digitalWrite(ldy,1);

delay(500);
}
delay(1000);
for(int lds=2;lds<=6;lds++)
{
digitalWrite(lds,0);

delay(500);
}

}
Serial.println(“——————————“);
}

Bu Konuda İlginizi Çekebilir

Arduino İle Buzzer Kullanımı

Buzzer Nedir Bu yazıda, Arduino ve buzzer kullanarak basit bir melodi çalmanın nasıl yapılabileceğini öğreneceğiz. …