Gerekli malzemeler:
Kartımızın bağlantı şeması şu şekilde:
Kodumuz ise şu şekilde:
Bu uygulamamızda, analog giriş kullanarak LDR’nin algıladığı ışık seviyesini sayısal bir değere dönüştürdük. Bu sayısal değer 0 ile 1023 arasında değiştiğinden, her 255 adımda bir fazla LED’in yanmasını sağladık.
- Arduino UNO
- Breadboard
- 4 adet LED
- 4 adet 330Ω direnç
- 1 adet 10kΩ direnç
- 1 LDR (fotosel)
- İki ucu erkek jumper kablo
Kartımızın bağlantı şeması şu şekilde:
Kodumuz ise şu şekilde:
Kod:
int ledler[] = {4, 5, 6, 7};
int led_sayisi = 4;
int ldr_pin = A0;
int deger = 0;
**** setup()
{
for (int i = 0 ; i < led_sayisi ; i++)
{
pinMode(ledler[i], OUTPUT);
}
}
**** loop()
{
deger = analogRead(ldr_pin);
if (deger > 0 && deger <= 255)
{
digitalWrite(ledler[0], HIGH);
digitalWrite(ledler[1], LOW);
digitalWrite(ledler[2], LOW);
digitalWrite(ledler[3], LOW);
}
if (deger > 256 && deger <= 511)
{
digitalWrite(ledler[0], HIGH);
digitalWrite(ledler[1], HIGH);
digitalWrite(ledler[2], LOW);
digitalWrite(ledler[3], LOW);
}
if (deger > 512 && deger <= 767)
{
digitalWrite(ledler[0], HIGH);
digitalWrite(ledler[1], HIGH);
digitalWrite(ledler[2], HIGH);
digitalWrite(ledler[3], LOW);
}
if (deger > 768 && deger <= 1023)
{
digitalWrite(ledler[0], HIGH);
digitalWrite(ledler[1], HIGH);
digitalWrite(ledler[2], HIGH);
digitalWrite(ledler[3], HIGH);
}
delay(100);
}
Bu uygulamamızda, analog giriş kullanarak LDR’nin algıladığı ışık seviyesini sayısal bir değere dönüştürdük. Bu sayısal değer 0 ile 1023 arasında değiştiğinden, her 255 adımda bir fazla LED’in yanmasını sağladık.