Arduino'ya Vardiya Kaydı Nasıl Bağlanır

İçindekiler:

Arduino'ya Vardiya Kaydı Nasıl Bağlanır
Arduino'ya Vardiya Kaydı Nasıl Bağlanır

Video: Arduino'ya Vardiya Kaydı Nasıl Bağlanır

Video: Arduino'ya Vardiya Kaydı Nasıl Bağlanır
Video: 7- Arduino Yükleme | Arduino ide kurulumu ve kullanımı 2024, Nisan
Anonim

Önceki makalelerden birinde, özellikle 74HC595 olmak üzere bir kaydırma yazmacının kullanımına kısaca değinmiştik. Bu mikro devre ile çalışma yeteneklerine ve prosedürüne daha yakından bakalım.

Vardiya Kaydı 74HC595
Vardiya Kaydı 74HC595

Gerekli

  • -Arduino;
  • - vardiya kaydı 74HC595;
  • - bağlantı kabloları.

Talimatlar

Aşama 1

Kaydırma yazmacı 74HC595 ve benzerleri, seri verileri paralele dönüştürmek için aygıtlar olarak kullanılır ve aktarılan durumu tutan veriler için bir "mandal" olarak da kullanılabilir.

Pin çıkışı (pin çıkışı) soldaki şekilde gösterilmiştir. Amaçları aşağıdaki gibidir.

Q0… Q7 - paralel veri çıkışları;

GND - toprak (0 V);

Q7 '- seri veri çıkışı;

^ MR - master'ı sıfırla (aktif düşük);

SHcp - vardiya kaydı saat girişi;

STcp - "mandal" saat darbe girişi;

^ OE - çıkış etkinleştirme (aktif düşük);

Ds - seri veri girişi;

Vcc - güç kaynağı +5 V.

Yapısal olarak, mikro devre çeşitli durumlarda yapılır; Sağdaki şekilde gösterileni kullanacağım - çıktı - çünkü breadboard ile kullanmak daha kolay.

Kaydırma kaydı görünümü ve pin çıkışı
Kaydırma kaydı görünümü ve pin çıkışı

Adım 2

Kaydırma yazmacına veri aktarmak için kullanacağımız SPI seri arabirimini kısaca hatırlayalım.

SPI, bir master ve bir slave'in katıldığı dört telli çift yönlü bir seri arayüzdür. Bizim durumumuzdaki master Arduino olacak, slave 74HC595 kaydı olacak.

Arduino için geliştirme ortamı, SPI arayüzü üzerinde çalışmak için yerleşik bir kütüphaneye sahiptir. Uygularken, şekilde işaretlenmiş sonuçlar kullanılır:

SCLK - SPI saat çıkışı;

MOSI - master'dan slave'e veriler;

MISO - köleden efendiye veri;

SS - köle seçimi.

Arduino kartı standart SPI pinleri
Arduino kartı standart SPI pinleri

Aşama 3

Devreyi resimdeki gibi bir araya getirelim.

Ayrıca kaydırma yazmacı mikro devresinin tüm pinlerine bir mantık analizörü bağlayacağım. Onun yardımıyla fiziksel düzeyde neler olduğunu, hangi sinyallerin nereye gittiğini göreceğiz ve ne anlama geldiklerini anlayacağız. Fotoğraf gibi bir şey görünmelidir.

Shift register 74HC595 için Arduino'ya bağlantı şeması
Shift register 74HC595 için Arduino'ya bağlantı şeması

4. Adım

Bunun gibi bir kroki yazıp Arduino hafızasına yükleyelim.

PIN_SPI_SS değişkeni, burada kullandığımız SPI arayüzünün master'ı olarak kullanıldığında Arduino'nun "10" pinine karşılık gelen dahili bir standart sabittir. Prensip olarak, Arduino'daki diğer herhangi bir dijital pini de kullanabiliriz; o zaman bunu bildirmeli ve çalışma modunu ayarlamalıyız.

Bu pini DÜŞÜK besleyerek, gönderme/alma için kaydırma yazmacımızı etkinleştiririz. İletimden sonra voltajı tekrar YÜKSEK'e yükseltiriz ve değişim sona erer.

Vardiya kaydının çalışmasını gösteren bir çizim
Vardiya kaydının çalışmasını gösteren bir çizim

Adım 5

Devremizi işe çevirelim ve lojik analizörün bize ne gösterdiğini görelim. Zamanlama şemasının genel görünümü şekilde gösterilmiştir.

Mavi kesikli çizgi 4 SPI çizgisini, kırmızı kesikli çizgi kaydırma yazmacının 8 kanallı paralel verilerini gösterir.

Zaman ölçeğindeki A noktası, "210" sayısının kaydırma yazmacına aktarıldığı an, B, "0" sayısının yazıldığı andır, C, baştan tekrar eden döngüdür.

Gördüğünüz gibi, A'dan B'ye - 10.03 milisaniye ve B'den C'ye - 90.12 milisaniye, neredeyse çizimde istediğimiz gibi. 0, 03 ve 0, 12 ms'deki küçük bir ekleme, Arduino'dan seri veri aktarma zamanıdır, bu yüzden burada tam olarak 10 ve 90 ms'miz yok.

Arduino değişiminin zamanlama şeması ve vardiya kaydı 74HC595
Arduino değişiminin zamanlama şeması ve vardiya kaydı 74HC595

6. Adım

A bölümüne daha yakından bakalım.

En üstte, Arduino'nun SPI-ENABLE line - slave seçiminde iletimi başlattığı uzun bir darbe var. Bu sırada, SPI-CLOCK saat darbeleri (üstten ikinci satır), 8 adet (1 bayt aktarımı için) üretilmeye başlar.

Üstten sonraki satır SPI-MOSI - Arduino'dan vardiya kaydına aktardığımız veriler. Bu, ikili olarak "210" sayımız - "11010010".

Transfer tamamlandıktan sonra SPI-ENABLE darbesinin sonunda shift register'ın 8 bacağında aynı değeri ayarladığını görüyoruz. Bunu mavi noktalı bir çizgi ile vurguladım ve netlik için değerleri etiketledim.

SPI aracılığıyla paralel bir veri yolunda 210 sayısını ayarlama
SPI aracılığıyla paralel bir veri yolunda 210 sayısını ayarlama

7. Adım

Şimdi dikkatimizi B bölümüne çevirelim.

Yine, her şey bir köle seçmek ve 8 saat darbesi üretmekle başlar.

SPI-MOSI satırındaki veriler artık "0"dır. Yani, şu anda "0" sayısını kayıt defterine yazıyoruz.

Ancak aktarım tamamlanana kadar kayıt "11010010" değerini saklar. Q0.. Q7 paralel pinlerine çıkış yapılır ve paralel çıkış Q7'den burada gördüğümüz SPI-MISO hattına kadar olan hatta saat darbeleri olduğunda çıkış yapılır.

SPI aracılığıyla paralel bir veri yolunda 0 sayısını ayarlama
SPI aracılığıyla paralel bir veri yolunda 0 sayısını ayarlama

8. Adım

Böylece ana cihaz olan Arduino ile 74HC595 shift register arasındaki bilgi alışverişi konusunu detaylı olarak inceledik. Bir vardiya kaydının nasıl bağlanacağını, içine veri yazmayı ve ondan veri okumayı öğrendik.

Önerilen: