İçindekiler:

Verimli ve Ucuz: STM32L4 ile Ekran: 13 Adım
Verimli ve Ucuz: STM32L4 ile Ekran: 13 Adım

Video: Verimli ve Ucuz: STM32L4 ile Ekran: 13 Adım

Video: Verimli ve Ucuz: STM32L4 ile Ekran: 13 Adım
Video: STM32 & MCP2551 CAN BUS HABERLEŞME UYGULAMA-1 | VERİ GÖNDERME | STM32 CAN COMMUNICATION-SENDING DATA 2024, Kasım
Anonim
Image
Image
Tanıtım
Tanıtım

Bugün kesinlikle bayıldığım üç konudan bahsedeceğiz: az enerji harcayan bir LCD ekran, Core Arduino'lu STM32 ve Arduino Mega Pro Mini. Bu, Nesnelerin İnterneti için yanılmaz bir üçlüdür. Daha sonra sizi HT1621 altı haneli LCD ekranla tanıştıracağım ve hem Arduino Mega Pro Mini hem de STM32 L432KC'de çalışan bir kodla örnek bir kontrol oluşturacağım. Dikkate değer bir ayrıntı, iki mikrodenetleyicinin kaynak kodunun tamamen aynı olmasıdır. Sabitlemeyi de değiştirmeyeceğim. Bu kesinlikle harika!

Adım 1: Giriş

Tanıtım
Tanıtım

HT1621 LCD ekran, multimetrelerde, elektronik terazilerde, elektronik saatlerde, termometrelerde ve elektronik ölçüm cihazlarında yaygın olarak kullanılan bir ekrana sahiptir.

• 7 segmentli 6 hanelidir

• 3 kablolu SPI iletişimi kullanır

• Karanlık ortamlara uygun arka aydınlatmaya sahiptir

• Çalışma voltajı 4,7 ~ 5,2V'dir.

• Arkadan aydınlatmalı 4mA tüketir

ALTI basamaktan fazla, ÜÇ ondalık nokta ve ÜÇ çubuklu bir pil ölçere sahip olduğunu unutmayın.

2. Adım: Kullanım Kitaplığı

Oldukça basit olan ANXZHU github kullanıcı kütüphanesini kullanacağız. Aşağıdaki bağlantıda orijinal versiyonda görülebilir:

github.com/anxzhu/segment-lcd-with-ht1621

Kütüphane adı biraz garip, bu yüzden yeniden adlandırmaya karar verdim (dosyalar, sınıflar, inşaatçılar, vb.). Orjinal adı "A6seglcd"dir. Bu ismi "lcdlib" ile değiştirdim.

3. Adım: Kitaplık

"lcdlib" kütüphanesini ekleyin.

Bağlantıya erişin ve kütüphaneyi indirin.

Dosyayı açın ve Arduino IDE'nin kitaplıklar klasörüne yapıştırın.

C: / Program Dosyaları (x86) / Arduino / kitaplıklar

4. Adım: Gösteri

Gösteri
Gösteri

Arduino mega montajı

Adım 5: Gösteri

Gösteri
Gösteri

SMT32 montajı

Adım 6: STM32 NÜKLEO-L432KC

STM32 NÜKLEO-L432KC
STM32 NÜKLEO-L432KC

STM32-L432KC'nin seri USB dönüştürücüsü olmadığını burada vurgulamak istiyorum. Bunun yerine, STMicroelectronics ST-link protokolünü kullanan tam bir USB'ye sahiptir. Bu nedenle, oldukça karmaşıktır ve IR veya Microvision kullanıyorsanız çok verimli hata ayıklama sağlar. Ve bir Arduino Core (Microsoft'un yerel aracını kullanan MBED) olarak son derece profesyonel derleyiciler kullanır. Başka bir şey söylememe gerek var mı?

Adım 7: Arduino Mega 2560 PRO MİNİ

Arduino Mega 2560 PRO MİNİ
Arduino Mega 2560 PRO MİNİ

Ayrıca "saf" ve "gerçek" bir Arduino olduğu için bunu seviyorum. Çok sayıda IO'ya sahip bir Mega. Ama Mini olduğundan her yere sığar. IO'yu her yerde severim. Bununla Led, SPI, i2c vb.'yi bağlamayı seviyorum. Bu açıdan bu Mega harika.

Adım 8: Montaj

toplantı
toplantı

Montajımızda erkek pim sırası iç tarafta, dişi pim en dış tarafta olup, işimizi ve bir protoboard ile bağlantımızı kolaylaştırmaktadır. Arduino Mega ve bu Arduino Nano klonunun STM32-L432KC olan aynı pinlemeye sahip olduğunu hatırlayarak SPI bağlantısını yapıyoruz.

Adım 9: Program

Ekrana çeşitli semboller (harfler, sayılar ve noktalar) yazacağımız çok basit bir program yapacağız.

Bu programın hem Arduino Mega Pro Mini hem de STM32 L432KC üzerinde çalıştığını unutmayın.

Adım 10: Kitaplıklar ve Değişkenler

Ardından iletişimden sorumlu kütüphaneyi ekleyeceğiz ve ekranın kontrolünü başlatacağız. "const char" işlevi bir dizi tablosunu ortaya çıkarır. Ekrana yazdırılan karakterin referansını bu vektörler aracılığıyla yapacaksınız.

#include // görüntülemeyi kontrol etmek için biblioteca

lcdlib lcd; //Instancia do controlador do display /*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, C, c, d, E, F, H, h, L, n, N, P, r, t, U, -, bat, pf, ' ', */ const karakter sayısı={0x7D, 0x60, 0x3E, 0x7A, 0x63, 0x5B, 0x5F, 0x70, 0x7F, 0x7B, 0x77, 0x4F, 0x1D, 0x0E, 0x6E, 0x1F, 0x17, 0x67, 0x47, 0x0D, 0x46, 0x75, 0x37, 0x06, 0x0F, 0x6D, 0x02, 0x80, 0xFF, 0x00 }; /*indice num 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 */

Adım 11: Kurulum

Kurulumu başlatmak için pinleri tanımlayacağız, ilk kurulumu yapacağız ve ekran temizliğini ayarlayacağız. Ekranın "Merhaba" gösterdiğini ve belirli bir gecikmeden sonra ekran mesajının silindiğini belirledik.

geçersiz kurulum(){ lcd.run(2, 3, 4, 5); //[cs wr data led+] tanımlı dos pinos lcd.conf(); //ilk lcd.clr(); //göstergeyi göster //escreve HELLO lcd.display(10, num[17]); lcd.display(8, num[15]); lcd.display(6, num[19]); lcd.display(4, num[19]); lcd.display(2, num[0]); //film MERHABA gecikmesi(1000); lcd.clr(); //görüntüleme }

Adım 12: Döngü

Burada ekrana LOOP kelimesini yazacak, ardından dizimizin tüm sembollerini yazacak "writeLoop" adında bir fonksiyon oluşturuyoruz. Ayrıca pil işaretlerini yazdıran "writeBattery" fonksiyonumuz da var.

Son olarak kayan nokta değerini yazan "lcd.dispnum" komutuna sahibiz.

Adım 13: Dosyaları İndirin

PDF

BEN HAYIR

Önerilen: