- P10 LED Ekran Matrisi
- Arduino Skor Tablosu için Gerekli Bileşenler
- Arduino Scoreboard için Devre Şeması
- Arduino Skor Tablosu Kod Açıklaması
Elektronik çetele, herhangi bir spor turnuvası sırasında herkesin sahip olabileceği en önemli araçlardan biridir. Geleneksel yöntemleri kullanan eski manuel skorbord çok zaman alır ve hataya açıktır, bu nedenle ekran ünitesinin gerçek zamanlı olarak değiştirilmesi gerektiğinde bilgisayarlı bir skor tahtası gerekli hale gelir. Bu yüzden bu projede, sadece bir android uygulaması kullanarak tahtadaki puanı değiştirebileceğimiz Bluetooth kontrollü kablosuz bir skorbord inşa edeceğiz. Bu projenin beyni bir Arduino Nano'dur ve ekran kısmı için, skoru gerçek zamanlı olarak uzaktan göstermek için bir P10 LED matrisi kullanacağız.
P10 LED Ekran Matrisi
Bir P10 LED Matrix Ekran, dış mekan veya iç mekan kullanımı için bir LED kartı yapmanın en iyi yoludur. Bu panel, en iyi görüntüleme sonuçları için tasarlanmış plastik bir muhafaza üzerine monte edilmiş toplam 512 yüksek parlaklığa sahip LED'e sahiptir. Ayrıca, su geçirmezlik için IP65 derecesi ile birlikte gelir, bu da onu dış mekan kullanımı için mükemmel kılar. Bununla istediğiniz sayıda bu tür paneli herhangi bir sıra ve sütun yapısında birleştirerek büyük bir LED tabela yapabilirsiniz.
Modülümüzün boyutu 32 * 16'dır, yani her satırda 32 LED ve her sütunda 16 LED vardır. Yani her bir led tabelada toplam 512 LED bulunmaktadır. Bunun dışında su geçirmezlik için IP65 derecesine sahip, tek bir 5V güç kaynağı ile çalıştırılabiliyor, çok geniş görüş açısına sahip ve parlaklığı 4500 nite kadar çıkabiliyor. Böylece onu gün ışığında net bir şekilde görebileceksiniz. Daha önce, basit bir LED Kartı oluşturmak için bu P10 Ekranı Arduino ile de kullandık.
Pim Açıklama ait P10 LED Matrix:
Bu LED ekran kartı, giriş ve çıkış bağlantısı için 10 pinli bir posta başlığı kullanır, bu bölümde bu modülün gerekli tüm pinlerini açıkladık. Ayrıca, modülün ortasında harici gücü karta bağlamak için kullanılan harici bir 5V konektör olduğunu görebilirsiniz.
- Etkinleştir: Bu pin, LED panelin parlaklığını kendisine bir PWM darbesi vererek kontrol etmek için kullanılır.
- A, B: Bunlara çoklu seçim pimleri denir. Herhangi bir çoklama sırasını seçmek için dijital giriş alırlar.
- Vardiya saati (CLK), Mağaza saati (SCLK) ve Veri: Bunlar normal kaydırma yazmacı kontrol pimleridir. Burada bir kaydırma yazmacı 74HC595 kullanılır.
P10 LED Ekran Modülünü Arduino ile Arabirim:
Bağlama P10 matris gösterge modülü çok basit bir işlem Arduino için olan, bizim devrede, Arduino pin 9 olarak Pim A, pim B Pin 7 gibi, 6 pimi pimi etkinleştirme yapılandırılmış Pim 13 CLK, pim 8 olduğu SCLK, Pin 11 DATA'dır ve son olarak Pin GND, modül ve Arduino için GND pinidir, aşağıdaki eksiksiz bir tablo pin yapılandırmasını açıkça açıklamaktadır.
P10 LED Modülü |
Arduino UNO |
ETKİNLEŞTİRME |
9 |
Bir |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
VERİ |
11 |
GND |
GND |
Not: P10 modülünün güç terminalini harici bir 5V güç kaynağına bağlayın, çünkü 512 LED çok fazla güç tüketecektir. Tek bir P10 LED modülüne 5V, 3 Amp DC güç kaynağı bağlamanız önerilir. Daha fazla sayı modülü bağlamayı planlıyorsanız, SMPS kapasitenizi buna göre artırın.
Arduino Skor Tablosu için Gerekli Bileşenler
Bu çok basit bir proje olduğundan, bileşen gereksinimleri çok geneldir, gerekli bileşenlerin bir listesi aşağıda gösterilmiştir, listelenen tüm malzemeleri yerel hobi mağazanızda bulabilmeniz gerekir.
- Arduino Nano
- P10 LED matris ekran
- Breadboard
- 5V, 3 AMP SMPS
- HC-05 Bluetooth Modülü
- Kabloların Bağlanması
Arduino Scoreboard için Devre Şeması
Arduino LED Scoreboard için Şema aşağıda gösterilmiştir, çünkü bu proje çok basittir, şemayı geliştirmek için popüler fritzing yazılımını kullandım.
Devrenin çalışması çok basit, bir Android uygulamamız ve bir Bluetooth modülümüz var, Bluetooth modülü ile başarılı bir şekilde iletişim kurmak için HC-05 modülünü android uygulaması ile eşleştirmeniz gerekiyor. Bağlandıktan sonra, görüntülemek istediğimiz dizgiyi gönderebiliriz, dizi gönderildikten sonra, Arduino dizeyi işleyecek ve veriler vardiyaya gönderildikten sonra dahili 74HC595 kaydırma direncinin anlayabileceği bir sinyale dönüştürecektir. direnç, gösterime hazır.
Arduino Skor Tablosu Kod Açıklaması
Donanım kurulumunun başarıyla tamamlanmasından sonra, şimdi Arduino Nano'nun programlanması zamanı. Kodun adım adım açıklaması aşağıda verilmiştir. Ayrıca, tam Arduino Scoreboard kodunu bu Eğitimin alt kısmından edinebilirsiniz.
Öncelikle tüm kütüphaneleri dahil etmemiz gerekiyor. P10 led ekranını kontrol etmek için DMD.h Kütüphanesini kullandık. Verilen GitHub bağlantısından indirebilir ve ekleyebilirsiniz. Bundan sonra, kodumuza kesme programlaması için kullanılacak TimerOne.h Kitaplığını eklemeniz gerekir.
Bu kütüphanede pek çok cephe var, bu proje için “ Arial_black_16 ” kullandık.
#Dahil etmek
Bir sonraki adımda, LED matris kartımız için satır ve sütun sayısı tanımlanır. Bu projede sadece bir modül kullandık, dolayısıyla hem SATIR değeri hem de SÜTUN değeri 1 olarak tanımlanabilir.
#define SATIR 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Bundan sonra kodda kullanılan tüm değişkenler tanımlanır. Android Uygulamasından seri verileri almak için bir karakter değişkeni kullanılır, puanları depolamak için iki tamsayı değeri kullanılır ve Matrix'te görüntülenecek son verileri depolayan bir dizi tanımlanır.
karakter girişi; int a = 0, b = 0; int bayrak = 0; char cstr1;
Arduino Nano'dan SPI aracılığıyla gelen verileri sürekli olarak kontrol eden bir Function scan_module () tanımlanır. Evet ise, programda kullanıcı tarafından tanımlanan belirli olayları yapmak için bir kesintiyi tetikleyecektir.
void scan_module () { led_module.scanDisplayBySPI (); }
İçinde setup (), zamanlayıcı başlatılır ve kesme işlevi bağlı scan_module daha önce tartışıldı. Başlangıçta ekran, net ekran (doğru) işlevi kullanılarak temizlendi ; bu, tüm piksellerin KAPALI olarak tanımlandığı anlamına gelir.
Kurulumda, 9600 Bluetooth iletişimi için baud hızı olan Seri.begin (9600) işlevi kullanılarak seri iletişim de etkinleştirildi.
geçersiz kurulum () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (doğru); }
Burada Arduino'dan geçerli veri gelip gelmediği, seri veri kullanılabilirliği kontrol edilir. Uygulamadan alınan veriler bir değişkende saklanır.
eğer (Serial.available ()> 0) { flag = 0; input = Serial.read ();
Daha sonra alınan değer önceden tanımlanmış değişken ile karşılaştırıldı. Burada, Android uygulamasında, her iki takımın skorlarını seçmek için iki düğme alınır. 1. butona basıldığında 'a' karakteri Arduino'ya, buton2'ye basıldığında ise 'b' karakteri Arduino'ya iletilir. Bu nedenle, bu bölümde bu veriler eşleştirilir ve eşleşirse ilgili puan değerleri kodda gösterildiği gibi artırılır.
eğer (input == 'a' && bayrak == 0) { bayrak = 1; a ++; } else if (input == 'b' && bayrak == 0) { bayrak = 1; b ++; } else;
Daha sonra, P10 matris işlevi yalnızca karakter veri türünü görüntüleyebildiğinden, alınan veriler bir karakter Dizisine dönüştürülür. Bu nedenle tüm değişkenler dönüştürülür ve bir karakter dizisine birleştirilir.
(Dize ("HOME:") + Dize (a) + Dize ("-") + Dize ("AWAY:") + Dize (b)). ToCharArray (cstr1, 50);
Ardından, modüldeki bilgileri görüntülemek için, seçim () işlevi kullanılarak yazı tipi seçilir. Ardından, P10 kartında istenen bilgileri görüntülemek için drawMarquee () işlevi kullanılır.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * SATIR), 0);
Son olarak, kayan bir mesaj ekranına ihtiyacımız olduğundan, tüm mesajımızı belirli bir süre kullanarak Sağdan Sola kaydırmak için bir kod yazdım.
uzun başlangıç = milis (); uzun timming = başlangıç; boole bayrağı = yanlış; while (! bayrak) { if ((timming + 30) <millis ()) { bayrak = led_module.stepMarquee (-1, 0); timming = milis (); } }
Bu, kodlama sürecimizin sonunu işaret ediyor. Ve şimdi yüklemeye hazır.
Akıllı Telefon Kontrollü Skor Tablosu - Test
Kodu Arduino'ya yükledikten sonra, projeyi test etme zamanı. Bundan önce, android uygulamasının akıllı telefonumuza yüklenmesi gerekiyor. Sen edebilirsiniz P10 Puan Kurulu Uygulamayı indirmek verilen bağlantıdan. Yüklendikten sonra uygulamayı açın ve ana ekran aşağıdaki resimdeki gibi görünmelidir.
Bluetooth modülünü Uygulama ile eklemek için TARA düğmesine tıklayın. Bu, telefonun eşleştirilmiş Bluetooth cihazlarının listesini gösterecektir. Eğer eşleştirmediyseniz HC-05 Bluetooth modülü önce, telefonunuzun Bluetooth ayarını kullanarak modül eşleştirmek ve sonra bu adımı. Ekran gösterildiği gibi görünecektir:
Ardından, burada kullanılan Bluetooth modülümüzün adı olduğu için listeden "HC-05" e tıklayın. Üzerine tıkladıktan sonra, ekranda bağlı görünecektir. Sonra skor tahtasına geçebiliriz.
Uygulamada gösterildiği gibi "Ev" ve "Dışarıda" arasındaki herhangi bir düğmeye tıklayın. Ana Sayfa düğmesi seçilirse, Ana Sayfa puanı P10 ekranında artırılacaktır. Benzer şekilde, Dışarıda düğmesi seçilirse, Deplasman'ın puanı artırılacaktır. Aşağıdaki resim, son ekranın nasıl göründüğünü göstermektedir.
Umarım projeyi beğenmişsinizdir ve yeni bir şeyler öğrenmişsinizdir, projeyle ilgili başka sorularınız varsa aşağıya yorum yapmaktan çekinmeyin veya sorunuzu forumumuzda sorabilirsiniz.