İçindekiler:
- Adım 1: Bileşenler
- Adım 2: İlk Prototipler
- Adım 3: PCB Tasarımı
- Adım 4: Programlama
- Adım 5: Test Etme
- 6. Adım: Sonuç ve Sonraki Adımlar
Video: Çoklu LED Ekran Modülü: 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Hepinize merhaba, 7 segmentli veya nokta vuruşlu LED ekranlarla çalışmayı seviyorum ve onlarla zaten birçok farklı proje yaptım.
Her zaman ilginçtirler çünkü nasıl çalıştıkları konusunda bir tür sihir vardır çünkü gördükleriniz optik bir yanılsamadır!
Ekranlar, bir Arduino (veya başka bir mikro denetleyici) ile bağlantı için çok sayıda pime sahiptir ve en iyi çözüm, bağlantı noktalarının kullanımını en aza indirmek için veri çoğullama tekniklerini uygulamaktır.
Bunu yaptığınızda, her bir segment veya her LED birkaç saniye (milisaniye veya daha az) için yanar, ancak bunun saniyede birçok kez tekrarlanması, göstermek istediğiniz görüntünün yanılsamasını yaratır.
Benim için en ilginci projenize göre doğru bilgiyi nasıl gösterebileceklerini öğrenmek için mantığı, programı geliştirmek.
Tek bir projede ekranları kullanmak, tüm bileşenleri bağlantı için çok sayıda kabloya sahip bir devre tahtasında birleştirmek için çok zaman gerektirir.
Piyasada I2C ile çalışan, programlamak için basitleştirilmiş yollarla (veya değil) birçok farklı ekran olduğunu biliyorum ve onları da kullandım ancak 74HC595 (multiplexer IC) ve ULN2803 (sürücüler) gibi standart bileşenlerle çalışmayı tercih ediyorum çünkü programınızda size daha fazla kontrol ve ayrıca kullanımınızda daha fazla sağlamlık ve güvenilirlik sağlarlar.
Montaj sürecini basitleştirmek için Arduino dünyasındaki basit ve yaygın bileşenleri kullanarak çok amaçlı bir LED Dipslay Modülü geliştirdim.
Bu modül ile iki standart boyutta (büyük ve küçük) çift renkli LED'li dot matrix ile çalışabilir ve ayrıca piyasada çok yaygın ve kolayca bulunabilen 7 Seg x 4 Haneli ekranı kontrol edebilirsiniz.
Ayrıca bu modüllerle seri olarak (farklı veriler ekranlara) veya paralel olarak (aynı veriler ekranlara) kademeli olarak çalışabilirsiniz.
Şimdi bu modülün nasıl çalışabileceğini ve geliştirmelerinizde size nasıl yardımcı olabileceğini görelim!
Video (LED Ekran Modülü)
Video (Dot Matrix Testi)
Saygılarımızla, LAGSILVA
Adım 1: Bileşenler
PCB (Baskılı Devre Kartı)
- 74HC595 (03x)
- ULN2803 (02 x)
- Transistör PNP - BC327 (08 x)
- Direnç 150 Ohm (16 x)
- Direnç 470 Ohm (08 x)
- Kapasitör 100 nF (03 x)
- IC Soketi 16 pim (03 x)
- IC Soketi 18 pim (02 x)
- Pin konnektör dişi - 6 pin (8 x)
- Pin başlıkları 90º (01 x)
- Pin başlıkları 180º (01 x)
- Conector Borne KRE 02 pimleri (02 x)
- PCB (01 x) - Üretildi
Diğerleri
- Arduino Uno R3 / Nano / benzeri
- LED Ekran 04 Haneli x 7 Segment - (Ortak Anot)
- LED Nokta Vuruşlu Çift Renkli (Yeşil ve Kırmızı) - (Ortak Anot)
Önemli Açıklamalar:
- Tüm en önemli bileşenlerin veri sayfasını yalnızca referans olarak koydum, ancak kullanmadan önce kendi bileşenlerinizin veri sayfasını kontrol etmelisiniz.
- Bu kart yalnızca ORTAK ANODE ekranlarını kullanmak için tasarlanmıştır.
Adım 2: İlk Prototipler
İlk prototipim devreyi test etmek için bir devre tahtası üzerinde yapıldı.
Daha sonra resimlerde gördüğünüz gibi evrensel bir tahta kullanarak başka bir prototip yaptım.
Bu tür bir pano, hızlı bir prototip üretmek için ilginçtir, ancak bunun hala çok fazla kablo tuttuğunu fark ediyorsunuz.
İşlevsel bir çözümdür ancak nihai üretilmiş bir PCB (mavi olan) ile karşılaştırıldığında o kadar zarif değildir.
Lehimleme konusunda iyi değilim çünkü bu işlemle ilgili yeterli deneyimim yok ama bunda bile hem deneyimlerle iyi sonuçlar aldım ve daha da önemlisi: Ne bir parçayı ne de ellerimi yakmadım!
Muhtemelen bir sonraki panomdaki sonuçlar uygulama nedeniyle daha iyi olacaktır.
Bu nedenle, bu tür bir deneyimi denemenizi tavsiye ediyorum çünkü bu sizin için mükemmel olacak.
Sadece sıcak ütüye dikkat etmeyi unutmayın ve yanmasını önlemek için bir parça üzerinde birkaç saniyeden fazla harcamamaya çalışın !!
Ve son olarak Youtube'da lehimleme ile ilgili gerçek dünyaya geçmeden önce öğrenebileceğiniz birçok video bulabilirsiniz.
Adım 3: PCB Tasarımı
Bu PCB'yi çift katmanlı bir kart üretmek için özel bir yazılım kullanarak tasarladım ve bu sonuncusundan önce birkaç farklı versiyon geliştirildi.
Başlangıçta her tür ekran için bir versiyonum vardı ve sonuçta her şeyi tek bir versiyonda birleştirmeye karar verdim.
Tasarım Hedefleri:
- Prototipler için basit ve kullanışlı.
- Kolay kurulum ve genişletilebilir.
- 3 farklı türde ekran kullanabilme özelliği.
- LED'in büyük nokta matrisinin maksimum genişliği.
- Levha üretim maliyetlerini en aza indirmek için maksimum uzunluk 100 mm'dir.
- Manuel lehimleme işlemi sırasında daha fazla zorluktan kaçınmak için SMD yerine geleneksel bileşenleri uygulayın.
- Panonun diğer panolara kademeli olarak bağlanabilmesi için modüler olması gerekir.
- Diğer kartlar için seri veya paralel çıkış.
- Birkaç kart sadece bir Arduino tarafından kontrol edilmelidir.
- Arduino'nun bağlantısı için sadece 3 telli veri.
- Harici 5V güç bağlantısı.
- LED'leri kontrol etmek için transistörler ve sürücüler (ULN2803) uygulayarak elektriksel sağlamlığı artırın.
Açıklama:
Bu son öğeyle ilgili olarak, bu bileşenlerle ilgili başka bir Talimatımı okumanızı tavsiye ederim:
ULN2803, UDN2981 ve BC327 ile Shift Register 74HC595'i kullanma
PCB üretimi:
Tasarımı bitirdikten sonra, farklı yerel tedarikçilerle ve farklı ülkelerde birçok arama yaptıktan sonra Çin'deki bir PCB üreticisine gönderdim.
Asıl mesele, tahtaların miktarına karşı maliyetle ilgiliydi çünkü bunlardan sadece birkaçına ihtiyacım var.
Sonunda, Çin'deki bir şirkete sadece 10 panoluk düzenli bir sipariş vermeye karar verdim (yüksek maliyetler nedeniyle hızlı bir sipariş değil).
Sadece 3 gün sonra panolar üretildi ve 4 gün içinde dünyayı geçerek bana gönderildi.
Sonuçlar mükemmeldi!!
Satın alma siparişinden bir hafta sonra panolar elimdeydi ve bunların yüksek kalitesi ve hızlı hızından gerçekten çok etkilendim!
Adım 4: Programlama
Programlama için, donanım tasarımı ve 74HC595 kaydırma yazmacı hakkında bazı önemli kavramları aklınızda tutmalısınız.
74HC595'in ana işlevi, 8-Bit Seri Giriş'i 8 Paralel Çıkış Kaydırmasına dönüştürmektir.
Tüm seri veriler Pin #14'e gider ve her saat sinyalinde bitler karşılık gelen paralel çıkış pinlerine (Qa'dan Qh'ye) gider.
Daha fazla veri göndermeye devam ederseniz, bitler tekrar seri çıkış olarak Pin #9'a (Qh') birer birer taşınır ve bu işlevsellik nedeniyle kademeli olarak bağlı başka bir çip koyabilirsiniz.
Önemli:
Bu projede 74HC595'lik üç IC'miz var. İlk ikisi sütunları kontrol etmek için çalışır (POZİTİF mantıkla) ve sonuncusu hatları kontrol etmek için çalışır (PNP transistörlerinin çalışması nedeniyle NEGATİF mantıkla).
Pozitif mantık, Arduino'dan YÜKSEK seviye bir sinyal (+5V) göndermeniz gerektiği anlamına gelir ve Negatif mantık, DÜŞÜK seviye bir sinyal (0V) göndermeniz gerektiği anlamına gelir.
LED'lerin nokta matrisi
- Birincisi Kırmızı LED'lerin (8 x) katotlarının çıkışları içindir >> KOLON KIRMIZI (1 ila 8).
- İkincisi, Yeşil LED'lerin (8 x) katotlarının çıkışıL içindir >> SÜTUN YEŞİL (1 ila 8).
- Sonuncusu, tüm LED'lerin (08 x Kırmızı ve Yeşil) anotlarının çıkışı içindir >> HATLAR (1 ila 8).
Örneğin, yalnızca sütun 1 ve satır 1'in Yeşil LED'ini açmak istiyorsanız, aşağıdaki seri veri dizisini göndermelisiniz:
1º) HATLAR
~10000000 (yalnızca ilk satır açık olarak ayarlanmıştır) - ~ sembolü, tüm bitleri 1'den 0'a veya tam tersi olarak tersine çevirmek içindir.
2º) KOLON Yeşil
10000000 (Yeşil LED'in yalnızca ilk sütunu açık olarak ayarlanmıştır)
3º) KOLON KIRMIZI
00000000 (Kırmızı LED'lerin tüm sütunları kapalı)
Arduino ifadeleri:
shiftOut(dataPin, clockPin, LSBFIRST, ~B10000000); // Çizgiler için negatif mantık
shiftOut(dataPin, clockPin, LSBFIRST, B10000000); //Yeşil sütunlar için pozitif mantık
shiftOut(dataPin, clockPin, LSBFIRST, B00000000); //Kırmızı sütunlar için pozitif mantık
Açıklama:
Ayrıca aşağıdaki gibi SARI rengi elde etmek için her iki LED'i (Yeşil ve Kırmızı) birleştirebilirsiniz:
shiftOut(dataPin, clockPin, LSBFIRST, ~B10000000);
shiftOut(dataPin, clockPin, LSBFIRST, B10000000);
shiftOut(dataPin, clockPin, LSBFIRST, B10000000);
7 Segment ekranı
Bu tür ekranlar için sıra aynıdır. Tek fark, Yeşil LED'leri kullanmanıza gerek olmamasıdır.
1º) DIGIT (1 - 4 soldan sağa) ~10000000 (basamak #1)
~01000000 (2. basamak ayarlayın)
~00100000 (basamak #3'ü ayarlayın)
~00010000 (rakam #4'ü ayarlayın)
2º) KULLANILMAMIŞTIR
00000000 (tüm bitler sıfıra ayarlandı)
3º) SEGMENTLER (A'dan F'ye ve DP - ekran veri sayfanızı kontrol edin)
10000000 (bölüm A'yı ayarlayın)
01000000 (bölüm B'yi ayarlayın)
00100000 (bölüm C'yi ayarlayın)
00010000 (d segmentini ayarlayın)
00001000 (bölüm E'yi ayarlayın)
00000100 (bölüm F'yi ayarlayın)
00000010 (bölüm G'yi ayarlayın)
00000001 (DP'yi ayarla)
Ekran #2'yi 3 numara ile ayarlamak için Arduino örneği:
shiftOut(dataPin, clockPin, LSBFIRST, ~B01000000); //EKRAN 2'yi ayarla (Negatif mantık)
shiftOut(dataPin, clockPin, LSBFIRST, 0); //Veriyi sıfıra ayarla (kullanılmıyor)
shiftOut(dataPin, clockPin, LSBFIRST, B11110010); //A, B, C, D, G segmentlerini ayarla)
Son olarak, bu işlemi uygulayarak ekranınızın herhangi bir LED'ini kontrol edebilir ve ayrıca ihtiyacınız olan özel karakterleri oluşturabilirsiniz.
Adım 5: Test Etme
Ekran Modülünün işlevselliğine örnek olarak iki program aşağıda verilmiştir.
1) Geri sayım ekranı (999,9 saniyeden sıfıra)
2) Nokta Vuruşlu (0'dan 9'a Rakamlar ve A'dan Z'ye Alfabe)
3) 4 Haneli ve 7 Segmentli LED Ekranda Dijital Saat RTC
Bu sonuncusu, Dijital Saat'in ilk sürümünün bir güncellemesidir.
6. Adım: Sonuç ve Sonraki Adımlar
Bu Modül, bir miktar LED ekran gerektiren gelecekteki tüm projelerde faydalı olacaktır.
Sonraki adımlar olarak, kademeli modda onlarla çalışmak için daha fazla pano oluşturacağım ve programlamayı daha da basitleştirmek için bir kitaplık da geliştireceğim.
Umarım bu projeden hoşlanmışsınızdır.
Lütfen bana yorumlarınızı gönderin çünkü bu, projeyi ve bu Eğitilebilir Tablonun bilgilerini geliştirmek için önemlidir.
Saygılarımızla, LAGSILVA
26. Mayıs.2016
Önerilen:
Dokunmatik Ekran Macintosh - Ekran için IPad Mini'li Klasik Mac: 5 Adım (Resimlerle)
Dokunmatik Ekran Macintosh | Ekran için IPad Mini'li Klasik Mac: Bu, eski bir Macintosh'un ekranının bir iPad mini ile nasıl değiştirileceğine ilişkin güncellemem ve gözden geçirilmiş tasarımım. Bu, yıllar içinde yaptığım 6'ncı ve bunun evrimi ve tasarımından oldukça memnunum! 2013'te yaptığım zaman
Bir Analog Pin Kullanılarak Çoklu Analog Değerler Nasıl Okunur: 6 Adım (Resimlerle)
Bir Analog Pin Kullanarak Çoklu Analog Değerler Nasıl Okunur: Bu derste, size sadece bir analog giriş pini kullanarak çoklu analog değerleri nasıl okuyacağınızı göstereceğim
Nodemcu Modülü ile Çoklu PZEM 004T'yi Bağlayın: 3 Adım
Nodemcu Modülü ile Birden Fazla PZEM 004T Bağlayın: Güç hırsızlığı algılama sistemi veya enerji izleme sistemi gibi bazı projelerde birden fazla PZEM 004T modülü gereksinimi gerekli olduğu için burada Nodemcu kodunu ve 3 PZEM 004T modülünün Nodemcu ile bağlantısını sağladım.Herhangi bir sorunuz varsa sonra k
HiFi Çoklu Oda WiFi ve Bluetooth Hoparlör: 10 Adım (Resimlerle)
HiFi Çok Odalı WiFi ve Bluetooth Hoparlör: Wi-Fi bağlantılı hoparlörler, Bluetooth seçeneklerinden önemli ölçüde daha iyi ses kalitesi sunma yeteneğine sahiptir. Ses içeriğini oynatmadan önce sıkıştırmazlar, bu da ayrıntı düzeyini azalttığı için ses üzerinde olumsuz bir etkiye sahip olabilir
CloudX Mikrodenetleyici ile Çoklu 7 Segment Ekran Sayacı: 4 Adım
CloudX Mikrodenetleyici ile Çoklu 7 Segment Ekran Sayacı: Bu Proje, CloudX mikrodenetleyici kullanılarak İki 7-Segment üzerindeki verilerin nasıl görüntüleneceğini açıklar