İçindekiler:

BT'li 8x8 Matris Ekran: 5 Adım (Resimli)
BT'li 8x8 Matris Ekran: 5 Adım (Resimli)

Video: BT'li 8x8 Matris Ekran: 5 Adım (Resimli)

Video: BT'li 8x8 Matris Ekran: 5 Adım (Resimli)
Video: Display text on 8x8 LED matrix with MAX7219 Arduino module 2024, Kasım
Anonim

Birkaç ay önce Ebay'den (Çin) 4 panel 8x8 matris satın aldım.

Net'teki örneklerin çoğunun yazıldığı yukarıdan aşağıya değil, yan yana kablo olduğunu fark ettiğimde biraz hayal kırıklığına uğradım! 2. adıma bakın.

Sanırım kodu değiştirebilirdim (nasıl olduğundan emin değilim), ama her zamanki tembelliğim bana önceden yazılmış bir şey aramamı söyledi. Bir örnekle karşılaştım ve onunla kaldım!

Sabit mesajlarla oynadım ama sonra mesajı Bluetooth ile programlamayı denemeye karar verdim.

Sonra mesajları kaydetmek ve almak istedim!

Çok fazla deneme yanılma oldu ama birkaç saat kodlamadan sonra çalışmasını sağladım.

Hala bunun için pratik bir kullanım bulmaya çalışıyorum !!:-)

Adım 1: Ekran

Ekran
Ekran
Ekran
Ekran

Daha önce belirtildiği gibi, ekran yukarıdan aşağıya değil, soldan sağa kablolanmıştır.

Bunu telafi etmek için başka bir kodun değiştirilebileceğinden eminim!

Çalışan kodu nereden indirdiğimi hatırlamıyorum, ancak "cosmicvoid matrix veya LedControlMS.h" araması yardımcı olabilir. Bu proje için LedControlMS.h kitaplığı gereklidir.

Bu kodun değiştirdiğim tek kısmı, 5'e ayarlanmış gibi göründüğü için ekran sayısıydı, sadece 4'e değiştirdim.

4 yerine 8 matrisle nasıl çalıştığını görebilmek için başka bir x4 ekran sipariş ettim!

2. Adım: Bluetooth Biti

Bluetooth Biti
Bluetooth Biti

Bir Bluetooth cihazıyla her oynadığımda, her zaman bu mükemmel talimata atıfta bulunurum!

www.instructables.com/id/Modify-The-HC-05-B…

Bu Eğitilebilir Tablo, HC-05'i bir cep telefonu veya tablet ile nasıl kuracağınız ve eşleştireceğiniz konusunda bilmeniz gereken her şeyi size söyleyecektir.

Samsung Galaxy 6 Edge ve Tab A ile sorunsuz bir şekilde eşleştirdim.

İletişim hızını 57600 olarak değiştirdim.

Adım 3: BT İletişimi ve Program

BT İletişim ve Program
BT İletişim ve Program

HC-05 ile iletişim kurmak için Play Store'dan ücretsiz bir Uygulama indirdim, birkaç tane mevcut, - seçtiğim Bluetooth Terminali HC-05 - bu mükemmel bir Uygulama!

HC-05'i bir telefon veya tablet ile eşleştirdikten sonra aşağıdakiler meydana gelir.

Arduino sıfırlandığında, program EEPROM'da saklanan tüm mesajları okur ve bunları telefonda/tablette görüntüler - resme bakın.

Görüntülenen bilgiler, her bir konumdaki Mem Konumu (0-9), Mesajın Uzunluğu ve Mesajın kendisidir.

Kodu, Msg 0 için adres 5, Msg 1 için 105 …….905 Msg 9 için 90 karakterlik bir mesaj depolamak üzere ayarladım.

Adres 0, 100 …. 900 mesaj uzunluğunu içerir.

En son saklanan / alınan mesaj görüntülenir.

Arduino'ya BT aracılığıyla herhangi bir şey göndermek, mevcut mesajın yerini alır.

Görüntülenen mesajı saklamak için ("~" tilde kullanın), 0 konumunda saklamak için ~0, 5 konumunda saklamak için ~5 gönderin vb.

Saklanan bir mesajı almak ve görüntülemek için "^" (karat) kullanın, örneğin ^3 mesajı Mem konumu 3'e yükleyecek ve gösterecektir.

Bir mesaj kaydedildiğinde veya alındığında, mevcut hafıza konumu EEPROM adresi 1023'te saklanır - bu, güç verildiğinde görüntülenen son mesajı görüntülemek için kullanılır.

Adım 4: Kod ve Güç

Her zamanki gibi, kodum bir genç odası olarak derli toplu, ama orada çok fazla yorumum var!

Biraz deneme yanılma olduğu için bazı gereksiz kodlar olabilir.

Görüntüleme rutini, msg dizisindeki her şeyi görüntüler. Yazı tipi tam değil, bu nedenle bazı karakterlerin görüntülenmesi öngörülemeyen sonuçlara neden olacak!

Dışarıdan biri bana £ işareti için $ işaretini nasıl değiştireceğimi veya daha iyisi onu nasıl ekleyebileceğimi söyleyebilirse, çok minnettar olurum

Sadece bir başlangıç noktası vermek için 0 konumuna bir mesajın sabit kodlanması gerekebilir, program çalışır durumdayken bunun üzerine yazılabilir!

Örneğin

EEPROM.write(0, '5'); // 0 konumunda saklanan mesajın uzunluğu

EEPROM.write(5, 'L'); //mesaj 05EEPROM.write(6, 'o') konumunda saklanıyor;

EEPROM.write(7, 'c');

EEPROM.write(8, ' ');

EEPROM.write(9, '0');

Hiçbir mesaj depolanmadığında, açılışta ekran tahmin edilemez olacak ve telefon/tablet tuhaf ama tutarlı bilgiler gösterecektir çünkü çoğu EEPROM'da olduğu gibi her konumdaki varsayılan veriler FF Hex (225 Ondalık).

Bu prototip bir Arduino Uno kullanılarak yapıldı, ancak bitmiş proje için bir pro mini kullanacağım.

3 x 1.5v pil kullanmayı düşünüyorum, bu nedenle güç tasarrufu için bir mesaj seçtikten sonra HC-05'i kapatacağım. Gücü kesmek/tekrar bağlamak, ekrana bozuk bilgi göndereceğinden yeterince iyi değildir.

Gücü bağlamadan / bağlantısını kesmeden önce TR & RX pinlerini izole etmek gerekli görünüyor!

Adım 5: 2020 Güncellemesi - 2 X 4 (8x8) Matris Ekranları

MAX7219'u daha iyi anladıktan sonra 2 ekranı birbirine bağlamayı başardım!

değiştirilmesi gereken sadece birkaç kod satırı vardı - bkz. ekli ino.

Önerilen: