İçindekiler:

Arduino ve Shift Register Kullanılarak 48 X 8 Kayan LED Matrix Display: 6 Adım (Resimli)
Arduino ve Shift Register Kullanılarak 48 X 8 Kayan LED Matrix Display: 6 Adım (Resimli)

Video: Arduino ve Shift Register Kullanılarak 48 X 8 Kayan LED Matrix Display: 6 Adım (Resimli)

Video: Arduino ve Shift Register Kullanılarak 48 X 8 Kayan LED Matrix Display: 6 Adım (Resimli)
Video: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Kasım
Anonim
Arduino ve Shift Register'ları Kullanan 48 X 8 Kayan LED Matris Ekranı
Arduino ve Shift Register'ları Kullanan 48 X 8 Kayan LED Matris Ekranı
Arduino ve Shift Register'ları Kullanan 48 X 8 Kayan LED Matris Ekranı
Arduino ve Shift Register'ları Kullanan 48 X 8 Kayan LED Matris Ekranı

Hepinize merhaba

Bu benim ilk Eğitilebilir Dosyam ve hepsi bir Arduino Uno ve 74HC595 kaydırma yazmaçları kullanarak 48 x 8 Programlanabilir Kayan LED Matrisi yapmakla ilgili. Bu benim Arduino geliştirme kurulu ile ilk projemdi. Öğretmenim tarafından bana verilen bir meydan okumaydı. Bu meydan okumayı kabul ettiğimde, bir arduino kullanarak bir LED'i nasıl yanıp söneceğimi bile bilmiyordum. Bu yüzden, yeni başlayan birinin bile biraz sabır ve anlayışla bunu yapabileceğini düşünüyorum. Arduino'da vardiya kayıtları ve çoğullama hakkında küçük bir araştırma ile başladım. Kaydırma yazmaçları konusunda yeniyseniz, matrislere başlamadan önce çoğullama ve zincirleme kaydırmalı yazmaçların temellerini öğrenmenizi öneririm. Bu, kodu ve kayan ekranın çalışmasını anlamanıza çok yardımcı olacaktır.

Adım 1: Araçların ve Bileşenlerin Toplanması

Araçlar ve Bileşenlerin Toplanması
Araçlar ve Bileşenlerin Toplanması

Bileşenler

  • 1. Arduino Uno R3 - 1
  • 2. 74HC595 8 bit Seriden Paralel Kaydırma Kayıtlarına. - 7
  • 3. BC 548/2N4401 Transistörler - 8
  • 4. 470 Ohm Dirençler - sütun sayısı + 8
  • 5. Pref Board 6x4 inç - 4
  • 6. Renk kodlu teller - Gerektiğinde
  • 7. IC sahipleri - 7
  • 8. 5 mm veya 3 mm 8x8 ortak katot mono renkli LED Matrisi - 6
  • 9. Erkek ve Kadın Başlıklar - Gerektiği gibi.

Gerekli aletler

  • 1. Lehimleme takımı
  • 2. Multimetre
  • 3. Tutkal tabancası
  • 4. Lehimleme pompası
  • 5. 5V Güç Kaynağı

Adım 2: Devreyi Breadboard Üzerinde Kurmak

Devreyi Breadboard Üzerinde Kurmak
Devreyi Breadboard Üzerinde Kurmak
Devreyi Breadboard Üzerinde Kurmak
Devreyi Breadboard Üzerinde Kurmak
Devreyi Breadboard Üzerinde Kurmak
Devreyi Breadboard Üzerinde Kurmak
Devreyi Breadboard Üzerinde Kurmak
Devreyi Breadboard Üzerinde Kurmak

Prototipi oluşturmadan önce yapmanız gereken ilk şey, 8x8 matrisinizin pin diyagramını almak ve tüm matrislerinizdeki pinleri tanımlamak için bir referans noktası işaretlemektir. Bu, devreyi kurarken size yardımcı olabilir.

Burada kullandığım matrix modülünün pin diyagramını ekledim. Modülümde satırlar negatif pinlerdi. Bu pin şeması, piyasadaki modüllerin çoğu için aynı kalır.

8 satırı kontrol etmek için tek bir kaydırma yazmacının kullanıldığı ve sütunları kontrol etmek için her 8 sütun için bir kaydırma yazmacının kullanıldığı devrede gösterilmiştir.

Breadboard üzerinde basit bir 8 x 8 kaydırma ekranı oluşturalım.

Devre iki bölüme ayrılmıştır - satır kontrolü ve sütun kontrolü. İlk önce sütun kontrolünü oluşturalım.

Arduino'dan gelen Pin 4, shift register'ın Pin 14'üne (SER) bağlanır. (Bu, shift register'ın seri veri giriş pinidir. Ledlerin yanması için gereken mantık seviyeleri bu pin üzerinden beslenir

Arduino'dan gelen Pin 3, shift register'ın Pin 12'sine (RCLK) bağlanır. (Bu pini çıkış saat pini olarak isimlendirelim. Bu saat tetiklendiğinde shift registerlerin hafızasındaki veriler çıkışa itilir.)

Arduino'dan gelen Pin 2, shift register'ın Pin 11'ine (SRCLK) bağlanır. (Bu, verileri belleğe kaydıran giriş saat pimidir.)

VCC +5V, Pin 16'sı aracılığıyla shift register'a verilir ve aynısı Pin 10'a bağlanır. (Neden? Pin 10, tetiklendiğinde shift register'daki verileri temizleyen SRCLR Pin'dir., yani shift registerin hafızasındaki datayı korumak için bu pinin her zaman +5V ile beslenmesi gerekir.)

Toprak, hem GND Pinine (kaydırma yazmacının Pin 8'i) hem de OE Pin'ine (kaydırma yazmacının Pin 13'ü) bağlanır. (Neden? Çıkış etkinleştirme pininin saat sinyaline göre çıkış verebilmesi için tetiklenmesi gerekir. Bu, SRCLR Pin gibi aktif bir düşük pindir, bu yüzden aktif olması için her zaman toprak durumunda tutulması gerekir. çıktılar.)

Matrisin sütun pimleri devre şemasında gösterildiği gibi matris ile kaydırma yazmacı arasında 470 ohm'luk bir dirençle kaydırma yazmacına bağlanır

Şimdi sıra kontrol devresi için.

Arduino'dan gelen Pin 7, shift register'ın Pin 14'üne (SER) bağlanır

Arduino'dan gelen Pin 5, shift register'ın Pin 11'ine (SRCLK) bağlanır

Arduino'dan gelen Pin 6, shift register'ın Pin 12'sine (RCLK) bağlanır

VCC +5V, yukarıda açıklandığı gibi Pin 16 ve Pin 10'a verilir

Toprak, Pin 8 ve Pin 13'e bağlanır

Yukarıda bahsettiğim gibi, benim durumumda satırlar negatif pinlerdi. Matrisinizin negatif pinlerini ekranınızın satırları olarak düşünmek daha iyidir. Toprak bağlantısının, kaydırma yazmacının çıkış mantık seviyeleri tarafından kontrol edilen BC548/2N4401 transistörleri kullanılarak bu negatif pinlere anahtarlanması gerekir. Yani daha fazla negatif pin, daha fazla transistöre ihtiyacımız var

Devre şemasında gösterildiği gibi sıra bağlantılarını verin

8 x 8 matris görüntüleme prototipini yapmayı başardıysanız, devrenin sütun kontrolü için olan kısmını kopyalayabilir ve matrisi istediğiniz sayıda sütuna genişletebilirsiniz. Her 8 sütun için (bir 8 x 8 modül) bir 74HC595 eklemeniz ve bir öncekiyle zincirleme yapmanız yeterlidir.

Daha fazla sütun eklemek için vardiya kayıtlarını zincirleme zincirleme

Elektrik mühendisliğinde papatya zinciri, birden fazla cihazın sırayla birbirine bağlandığı bir kablolama şemasıdır.

Mekanizma basittir: SRCLK (giriş saati. Pim 11) ve RCLK (çıkış saati. Pim 12) pimleri, zincirleme zincirlenmiş tüm kaydırma yazmaçları arasında paylaşılırken, önceki kaydırma yazmacının her QH PIN'i (Pin 9) arasında paylaşılır. zincir, SER PIN (Pin 14) aracılığıyla bir sonraki kaydırma kaydı için seri giriş olarak kullanılır.

Basit bir deyişle, kaydırmalı yazmaçları zincirleme zincirleme yaparak, daha büyük bir belleğe sahip tek bir kaydırmalı yazmaç olarak kontrol edilebilirler. Örneğin, iki adet 8 bit kaydırmalı yazmacı zincirleme zincirlerseniz, bunlar tek bir 16 bit kaydırmalı yazmaç gibi çalışır.

kod

Kodda satırlar boyunca tarama yaparken sütunları girişe göre ilgili mantık seviyeleriyle besliyoruz. A'dan Z'ye karakterler kodda bir bayt dizisindeki mantık seviyeleri olarak tanımlanır. Her karakter 5 piksel genişliğinde ve 7 piksel yüksekliğindedir. Kodun işleyişi hakkında daha detaylı açıklamayı kodun kendisinde yorum olarak verdim.

Arduino kodu buraya eklenmiştir.

Adım 3: Lehimleme

Lehimleme
Lehimleme
Lehimleme
Lehimleme
Lehimleme
Lehimleme

Lehimli devrenin anlaşılmasını kolaylaştırmak için mümkün olduğunca büyük yaptım ve satır ve sütun kontrolörleri için ayrı panolar verdim ve bunları başlıklar ve teller kullanarak birbirine bağladım. Bileşenleri birbirine daha yakın lehimleyerek çok daha küçük hale getirebilirsiniz veya PCB tasarımında iyiyseniz, daha küçük bir özel PCB de yapabilirsiniz.

Matrise giden her pime 470 ohm'luk bir direnç koyduğunuzdan emin olun. LED Matrislerini panoya bağlamak için her zaman başlıkları kullanın. Isıya uzun süre maruz kalmaları kalıcı olarak zarar verebileceğinden, bunları doğrudan tahtaya lehimlememek daha iyidir.

Satır ve sütun kontrolleri için ayrı panolar yaptığım için, kolonları bağlamak için kabloları bir panodan diğerine uzattım. Burada üstteki pano sıraları, alttaki pano ise sütunları kontrol etmek içindir.

tüm 8 sırayı sürmek için sadece tek bir 74HC595'e ihtiyacı var. Ancak sütun sayısına bağlı olarak daha fazla kaydırma kaydı eklenmelidir, bu matrise ekleyebileceğiniz sütun sayısı için teorik bir sınır yoktur. Ne kadar büyük yapabilirsin? Oraya vardığında bana haber ver!;)

Adım 4: Devrenin Biten İlk Yarısının Test Edilmesi

Devrenin Biten İlk Yarısının Test Edilmesi
Devrenin Biten İlk Yarısının Test Edilmesi

Gevşek bağlantılar, yanlış pin bağlantısı vb. olası hataları bulmak için her zaman yarı yolda test edin: Kendi matrislerindeki hatayı bulmak için benden yardım isteyen birçok kişi hatalarını matris modülünün satır-sütun pin-out'u ile yapmıştı. Lehimlemeden önce iki kez kontrol edin ve pinleri kolayca ayırt etmek için renk kodlu teller kullanın.

Adım 5: İkinci Yarıyı Oluşturmak

İkinci Yarıyı İnşa Etmek
İkinci Yarıyı İnşa Etmek
İkinci Yarıyı İnşa Etmek
İkinci Yarıyı İnşa Etmek
İkinci Yarıyı İnşa Etmek
İkinci Yarıyı İnşa Etmek

Aynı kolon kontrol devresini uzatın. Satırlar bir öncekine seri olarak bağlanır.

SRCLK ve RCLK pinleri paralel olarak alınır ve bitmiş devrenin son shift register'ının QH'si (Seri data out. Pin 9) bir sonraki shift register'ın SER'sine (Serial Data in. Pin 14) bağlanır. VCC ve GND gücü de tüm IC'ler arasında paylaşılır.

6. Adım: Sonuç

Image
Image

Lehimlemeyi bitirdikten sonraki adım, ekranınız için bir kılıf oluşturmaktır. Fusion 360 veya başka bir 3B tasarım aracı kullanarak özel bir kasa tasarlamak ve kasayı 3B yazdırmak her zaman daha iyidir. O zamanlar 3D baskıya erişimim olmadığı için ahşap işçiliği iyi olan bir arkadaşımın yardımıyla tahta sandık yaptım.

Umarım bu talimatı okumaktan zevk almışsınızdır. Bu projenin versiyonunun resimlerini aşağıdaki yorumlar bölümüne gönderin ve herhangi bir sorunuz varsa, buradan sormaktan veya [email protected] adresine bir mail göndermekten çekinmeyin. Size yardımcı olmaktan memnuniyet duyarım.

Önerilen: