Merhaba arkadaşlar. Bu dersimizde ışık şiddetine göre yanan LED’li gösterge uygulaması yapacağız.
Gerekli malzemeler:
  • Arduino UNO
  • Breadboard
  • 74HC595 shift register entegresi
  • 8 adet 220 Ω direnç
  • 1 adet 1 kΩ
  • 8 adet LED
  • 1 adet LDR
  • İki ucu erkek jumper kablo
Bu uygulamada bir önceki uygulamamız olan analog değer okuma uygulamasından tek farklı olarak kullanacağımız eleman, bir LDR. Peki, LDR nedir?
Light Dependent Resistor (LDR, Foto direnç)
Foto direnç, üzerine düşen ışığın şiddetine bağlı olarak değişen dirence sahip bir elemandır. Direnci, üzerine düşen ışık miktarıyla ters orantılı olarak değişir. Gündelik kullandığımız çoğu elektronik alette “fotosel” ismiyle yaygın olarak kullanılır.
Bu uygulamadaki devre şemamız, analog giriş uygulamamızdakiyle büyük ölçüde benziyor. Tek farklı yanı, analog girişte kullandığımız potansiyometrenin yerine LDR ve 1 kΩ değerinde bir direnç kullanmamız.



ÖRNEK  KOD;

   //////////////////////////////////////////////
  //          Arduino Projeleri İçin;         //
 //                                          //
//  https://ozkantastan.blogspot.com.tr/    //

/////////////////////////////////////////////
int potPin = 0;
int latchPin = 5;
int clockPin = 6;
int dataPin = 4;
int leds = 0;

void setup() 
{
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);  
  pinMode(clockPin, OUTPUT);
}
void loop() 
{
  int deger  = analogRead(potPin);
  int yanan_ledsayisi = deger / 114;  //1023 / 9
  leds = 0;
  for (int i = 0; i < yanan_ledsayisi; i++)
  {
    bitSet(leds, i); 
  }
  registeraYaz();
}

void registeraYaz()
{
   digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clockPin, LSBFIRST, leds);
   digitalWrite(latchPin, HIGH);
}