Arduino
OKUDUĞUNUZ KONU
Arduino İle 74hc595 Entegresi Kullanımı
2

Arduino İle 74hc595 Entegresi Kullanımı

Yazar : Emirhan Güleç16 Mayıs 2017

Herkese Merhaba Bugün Arduino ve 74HC595 shift register entegresi kullanarak 8 det LED’i 3 pin ile led  yakmayı öğreneceğiz

Hepimizin bildiği üzere Arduino UNO kartımızda 13 adet dijital giriş/çıkış pini bulunmakta. Fakat bu pinlerin hepsini LED sürmek için kullanmak istemeyebiliriz. Yada LED haricinde diğer pinlere sensör, switch, buton v.b. diğer girişler bağlamış olabiliriz. Burada kullanacağımız uygulama ile Arduino’da sadece 3 adet dijital çıkış pini kullanarak 8 adet LED’i kontrol etmemiz mümkün olacak.

Kullandığımız Malzemeler;

  • Arduino Mega(ben mega kullandım siz başka model kullanabilirsiniz)
  • Breadboard
  • 8 Adet Led
  • 8 Adet 220Ω Direnç
  • 74hc595 Shift Register Entegresi
  • Jumper Kablo

BAĞLANTI ŞEMASI;

Kodlarımız;


int latchPin = 5;
int clockPin = 6;
int dataPin = 4;
byte leds = 0;



void setup(){

pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);

}



void loop()
{

leds = 0;
registeraYaz();
delay(500);
for (int i = 0; i < 8; i++)

{

bitSet(leds, i);
registeraYaz();
delay(500);

}

for (int i = 8; i >= 0; i--)

{

bitClear(leds, i);
registeraYaz();
delay(500);

}}

void registeraYaz()

{

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

Kodumuzun ilk kısmında her zaman yaptığımız gibi çıkış pinlerimizi tanımladık. leds isimli 8 bitlik bir değişken tanımladık (byte tipindeki değişkenler 8 bit büyüklüğündedir). Bu baytın her bir biti, bizim shift register’ımızın çıkışına bağlı olan LED’leri temsil ediyor. registeraYaz fonksiyonumuz, shift register’ın çalışması için gerekli işlemleri yapıyor. loop fonksiyonumuzda bu fonksiyonu çağırarak leds değişkeninde yaptığımız değişiklikleri LED’lerimize aktarmak için bu fonksiyonu çağırıyoruz. loop fonksiyonumuzda ise iki adet for döngüsü kullandık. İlk for döngüsü, leds değişkenimizdeki 8 bitten her birini sırayla 1 yaparak 00000001, 00000011, 00000111… şeklinde bir desen elde etmemizi sağlayacak. Her bir bit 1 olduktan sonra (11111111), ikinci for döngüsü başlayarak bu sefer bitleri 0’layarak 01111111, 00111111,00011111… desenini oluşturacak.

SİZCE NASIL OLMUŞ?
Beğendim
90%
İlginç
0%
Eh İşte
0%
Anlamadım
0%
Kötü
0%
Berbat
10%
YAZAR HAKKINDA
Emirhan Güleç
Emirhan Güleç
10.sınıf Mobilya ve İç mekan tasarım okuyorum herkes diyor bölümünle ne ilgisi var bende diyorumki elektrik ve elektroniği mobilya ile birleştirdim kendimce,ama üniversitedeki hayalim bilgisayar programcılıgı okumayı düşünüyorum sizlerede Arduino ve PIC de yardımcı olmak istiyorum.
2 YORUMLAR

YORUM YAP