Merhaba arkadaşlar. Bu dersimizde ışık şiddetine göre yanan LED’li gösterge uygulaması yapacağız.
Gerekli malzemeler:
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.
Kodumuz da bir önceki uygulamadaki ile tamamen aynı:
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);
}
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
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.
Devre şeması 17/01/2017 tarihinde güncellenmiştir.
Kodumuz da bir önceki uygulamadaki ile tamamen aynı:
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);
}