ArduinoGenel Elektronik

Arduino Shift Register Kullanımı

Nereden çıktı Bu Shift Register

Merhaba Arkadaşlar Bugünkü konumuz shift registerlar olacak Başlıkta arduino için yazdığıma bakmayın siz tüm mcu için kullanabilirsiniz Önemli olan sistemin mantığı sistemin mantığına odaklanmakta fayda var diye düşünüyor ve devam ediyorum…

Shift Register Nedir ??

Shift register aslında flip-floplardan oluşturulmuş seriden paralele bir devredir girilen veriyi öteleyerek kaydeder ve data çıkışı izinlendiğinde çıkış veren bir devredir… Şimdi böyle anlatınca çok vasat çok gereksiz bumu yani dediğinizi duyar gibiyim şimdi sizlere daha reel bir dille anlatayım mevzuyu tek bir data girişinden girilen veri ile minimum 1 max 8 çıkış alabildiğimiz entegre türüdür..

Malum bir devre yapacaksınız üzerinde 400 tane led var bu 400 ledi kontrol etmek istiyorsun 400 tane giriş kullanacaksınız düşünsenize!! güzelim io bacaklarını heba edicez hiiiiç gerek yok böyle bir devrede siz Shift-Register kullanacaksınız kaskat bağlarsınız yada ayrı farketmez her türlü bacaklardan tasarruf edeceksiniz 140 bacak yerine maksimum 18 bacak kullanacaksınız yada 4 bacak seçim sizin :).

75hc595 pinout
74HC595 Bacak çıkışları
  • Q ile başlayan bölümler çıkış birimlerini ifade eder.
  • GND bağlantısı.
  • Vcc 5v Besleme.
  • OE enable bağıdır ters çalışır 0 verdiğinizde aktif 5 v verdiğinizde pasif olur.
  • SER serial data bağıdır. veri girişi burdan olur.
  • Rclk latch bacağıdır tetiklendiğinde veriyi veren bacaktır.
  • SRclk Clock vertiğimiz bacaktır tetikleme yapılır.
  • SRclr Reset bacağıdır ters çalışır 0 iken aktif 5v iken pasif olur.
  • Qh Serial çıkıştır eğer 595 leri kaskat bağlayacaksanız diğer 595 in data bacağına girer.

Shift Register Nasıl Çalışır ?

Shift registerımızda giriş yapmanın bir tek düze mantığı vardır. Videoyu izlediğinizde çalışma mantığını tamamen anlamış olacaksınız video aşağıda arkadaşlar.

Shift register çalışma mantığını anlatan görsel

Bağlantı Şeması

Bağlantı şeması

Bağlantılarımızı doğru şekilde yaptığımıza emin olduktan sonra artık kodlama aşamasına geçebiliriz..

Arduino Kodu

int latchPin = 5;	// Latch pin den arduino Digital pin 5 e baglanir
int clockPin = 6;	// Clock pin den arduino Digital pin 6 ya baglanir
int dataPin = 4;	// Data pin den arduino Digital pin 4 e baglanir

byte leds = 0;		// bu degisken ile ledlerimizin durumunu belirleriz


void setup() 
{
  // 74HC595 e bagladigimiz butun pinleri cikis olarak ayarliyoruz.
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);  
  pinMode(clockPin, OUTPUT);
}


void loop() 
{
  leds = 0;	// baslangic durumunda ledlerimiz sonuk konumunda
  updateShiftRegister(); // bu fonksiyon ile shift registerimize adimlar attiriyoruz parantez icine 8 bitlik 0 ve 1 lerden olusan dogrudan veride girebiliriz.
  delay(500);
  for (int i = 0; i < 8; i++)	// butun ledleri yakalim sirayla
  {
    bitSet(leds, i);	
    updateShiftRegister();
    delay(500);
  }
}


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

Şimdi projemizi derleyip ledlerimizi deneyelim :)

Ledlerin yanma görseli
Led animasyonu

Herşey Yolunda ;) Artık bir projemizin daha sonuna geldik Umarım bundan sonraki projeleriniz içinde güzel çıkarımlarda bulunmuşsunuzdur.

Bizi Sosyal Medyadan takip ederek bizlere destek olabilir yeni paylaşımlar ve minik ipucu paylaşımlar ile zihninizi yenileyebilirsiniz.

Bu yazımızında burada sonuna geldik umarım faydalı olmuştur…İyi Çalışmalar.

instagram
facebook

Etiketler

Onur NP

Arduino Stm32 gibi Mikrodenetleyici PLC Otomasyon sistemleri ve Genel elektronik projeleri üzerine örnek paylaşımlar yapmaktayım Endüstriyel ve Kişisel proejelerinize Ücretli olarak destek verebilirim.

İlgili Makaleler

5 Yorum

  1. Attractive section of content. I just stumbled upon your web site and in accession capital to assert that I get in fact enjoyed account your blog posts. Anyway I’ll be subscribing to your augment and even I achievement you access consistently quickly.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu
Call Now ButtonAra
Kapalı
Kapalı