74HC595N Kullanarak Arduino'nun Çıkış Portlarını Genişletin
74HC595N Kaydırma yazmacının tanıtımı
IC74HC595N, 8 bitlik bir depolama yazmacıdır ve ayrıca 8 bit seri girişli 8 bitlik kaydırma yazmacı ve 8 bit seri veya paralel çıkışlarda ayrıca 3 durum çıkışlı depolama yazmacına sahip 100MHz kaydırma çıkış frekansı vardır. Verilerin kayan yazmacıya seri şekilde yazıldığı ve daha sonra depolama yazmacına kilitlendiği ve bu yazmaç kontrollü 8-çıkışlı hatlara sahiptir.
Kaydırma yazmacı IC74HC595N, 8 bellek konumu olarak düşünülebilecek olanı tutar, her biri 1 veya 0 olabilir. Bu değerleri açık veya kapalı olarak belirlemek için, 1 0r 0, ardından, üzerindeki Veri ve Saat bağlantı noktalarını kullanarak verileri besleyin. IC kaydırma yazmacı çipi. Saat pimi, veri pimi aktif yüksekse, her bir darbenin zamanından 8 darbe almalıdır, ardından 1, kaydırma yazmacına doğru itilir, aksi takdirde 0 olur. mandal kaydı. Bu önemlidir, aksi takdirde yanlış çıkış cihazları, veri kaydıran yazmacıya yüklenirken başlayacaktır. Çip ayrıca, çıkışları bir kerede etkinleştirmek veya devre dışı bırakmak için kullanılan bir OE çıkışı etkinleştirme pini. Daha sonra bunu Arduino'nun PWM pinine takın ve analogWrite programında bir komut kullanarak çıkış portuna bağlı çıkış cihazlarının parlaklığını kontrol edin. Pim düşük aktif olduğunda, onu GND'ye bağlayın.
Uygulama: Gömülü Tasarım ve Geliştirme, saat ve zamanlama, Tüketici Elektroniği
Arduino'nun çıkış portlarını genişletme işlemi
Arduino veriyi birleştirdiğinde ve verileri seri formattaki cihaza ve bu seri veriyi kaydıran yazmaç IC 74HC595N'ye ilettiğinde. Ve bu kaydırılmış seri veriler, kaydırma yazmacı IC'nin çıkış pinlerinde mevcuttur.
Arduino'nun çıkış bağlantı noktalarının nasıl artırılacağına dair örnek
Şimdi basit bir kaydıran yazmaç kullanarak Arduino'nun çıkış portlarının nasıl genişletileceğini bir örnekle görelim. Arduino ile sekiz adet ışık yayan diyotu bir shift register üzerinden bağlayacağız ve bu ledleri Arduino ve shift register yardımıyla kontrol etmeye çalışacağız. Bu örnekte, çıkış cihazı olarak sekiz LED alalım ve IC 74HC595N kaydırma yazmacının çıkış pinlerine bağlanalım.
Çıkış portlarına bağlı 8 LED'i kontrol etmek üzere olan kodla başlayalım.
// these pins are define in the datasheet of shift register IC
Int DS_pin = 8 ; // means DS pin of IC connected to the pin 8 of Arduino Int STCP_pin = 9 ; // means STCP pin of IC connected to the pin 9 of Arduino Int SHCP_pin = 10 : // means SHCP pin of IC connected to the pin 10 of Arduino Void setup () { pinMode (DS_pin, OUTPUT) ; // DS pin are set to be outputs pinMode (STCP_pin, OUTPUT) ; // STCP pin are set to be outputs pinMode (SHCP_pin, OUTPUT) ; // SHCP pin are set to be outputs writereg () ; // declare function } Boolean registers [8] ; // registers array Void writereg () { digitalWrite (SHCP_pin, LOW) ; // start initialization the registers one by one for (int i = 7; i>=0; i--) // insert register value in the reverse order { // shift in the value that we have shored into the registers [8] array one by one digitalWrite ( SHCP_pin, LOW ) ; digitalWrite ( DS_pin, registers[i] ) ; // write the value of register digitalWrite ( STCP_pin, HIGH ) ; // Creating LOW to HIGH transition here } digitalWrite ( SHCP_pin, HIGH ) ; } Void loop () { For ( int i=0; i<9; i++) // within the for loop declare register high one by one { registers [i] = High ; Delay (100) ; // time delay writereg ( ) ; } For ( int i=8; i>0; i++) // for reverse the leds { registers[i] = low ; // set to low Delay (100) ; // time delay writereg ( ) ; } } // end the program
Şimdi, gerçekte neler olduğunu açıklayan aşağıdaki devreye bir göz atın. Sağda kaydıran yazmaç IC 74HC595N ve Arduino'dan gelen bağlantı. IC'nin GND ve VCC'si Arduino Board ile bağlanmalıdır. IC'nin MR pini, 5v VCC'ye yüksek ortalama bağlantıda olmalıdır. IC'nin veri sayfasında 13 OE numaralı pin inverter pinidir, bu nedenle topraklanmalıdır.
Şekil 1. Donanım Devre Şeması
Arduino'nun 8,9,10 pinleri IC'nin DS, STCP, SHCP pinlerine bağlıdır, Arduino'nun bu üç pini bir DataPin, ClockPin ve LatchPin'dir.
- DataPin: Seri verilerin, DataPin'den daha fazla iletilmesi gerektiğinde.
- LatchPin: Geçiş yapma ihtiyacı olduğunda
- ClockPin : vardiya verisine ihtiyaç duyulduğunda, bir saat darbesi üretmesi için
- Ayrıca çıkış cihazı 1 ila 7 arasında IC pimlere bağlı ve 8 LED inci LED sayısı 15 olan Q0 ucuna bağlanmalıdır.
Arduino'nun çıkış portlarını artırmak için başka bir yöntem
Arduino'dan daha fazla çıkış portu almanın başka bir yolu var. Şimdi Arduino kartında bulunan Analog pinleri, yukarıdaki yöntemden daha kolay olan dijital çıkış portları olarak düşünün. A0'dan A5'e kadar olan analog pinlerin 14, 15, 16, 17, 18, 19 numaralı dijital çıkış pinleri gibi davrandığını varsayalım.
Misal:
digitalWrite (15, DÜŞÜK)
Yukarıya düşük A1 pinini yazın.
Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook robotic.code
instagram @roboticcode
Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.