ARDUINO'da 20 I / O pinimiz var, böylece 20 pin UNO'yu giriş veya çıkış olarak kullanılmak üzere programlayabiliriz. ATMEGA328P kontrol cihazında UNO'dan daha fazla pin olmasına rağmen, bunun nedeni kartı tasarlarken bazı pinlerin varsayılan olmasıdır.
Şimdi bazı uygulamalar için 30'dan fazla pime ihtiyacımız var, diyelim ki 5x5x5 LED KÜP tasarlamak istiyorsak, bunun için 5x5 + 5 = 30 iğneye ihtiyacımız var. Bu tür durumlar için seri-paralel dönüştürücü çipleri veya kaydıran yazmacı kullanıyoruz. Bir kaydıran yazmaç yongası, UNO kartından verileri seri olarak alır ve 8 bit paralel yapılandırmada çıktı verir.
Gerekli Bileşenler
Donanım: Arduino uno kartı, bağlantı pimleri, 220Ω direnç, LED (sekiz adet), 74HC595 IC, bread board.
Yazılım: Arduino her gece
Devre Şeması ve Çalışma Açıklaması
Burada tek bir kanaldan kayan yazmacıya sekiz bit boyutunda veri göndereceğiz. Kaydırma yazmacı verileri seri olarak alır ve bu verileri hafızasında saklar. Veriler denetleyici tarafından gönderildikten sonra, verileri çıkışta göstermek için kaydıran yazmacıya bir komut göndereceğiz, bu komutla kaydırma yazmacı verileri paralel olarak dışarı verir.
Bu çıkış, çıkışa bağlanan sekiz LED ile gösterilir.
İçin Arduino UNO kayma sayacı bağlayan iki şey yapmanız gerekir:
|
Öncelikle, UNO'nun herhangi üç pinini çıktı olarak ayarlamamız gerekir. Ardından bu üç çıkış pinine dijital pin, clock pin ve mandal pinini bağlamamız gerekir. Bundan sonra UNO'ya hangi çipin UNO kart pinlerine bağlı olduğunu söylememiz gerekir. Bu, "
shiftOut(dataPin, clockPin, data);
" komutuna basit yazı ile yapılır. Buradaki veriler ikili veya ondalık veya onaltılık olabilir. Gönderilmesi gereken sekiz bitlik bilgi "veri" yerine yazılır.
Gönderilen veriler şu şekilde yapılır:
Mandalı devre dışı bırakın, bu yongaya şimdilik çıktıyı göstermemesini söyler.
Sekiz kez saat ile verileri seri olarak göndereceğiz, bu nedenle saat yüksek, düşük veri saati düşük - vb.
Mandalı etkinleştirin, bu çipe sekiz bitlik veri göstermesini söyler.
Çalışma SHIFT KAYIT ile Arduino aşağıda verilen C kodunda adım adım açıklanmıştır: