Daftar Isi:

Efisien dan Murah: Tampilan Dengan STM32L4: 13 Langkah
Efisien dan Murah: Tampilan Dengan STM32L4: 13 Langkah

Video: Efisien dan Murah: Tampilan Dengan STM32L4: 13 Langkah

Video: Efisien dan Murah: Tampilan Dengan STM32L4: 13 Langkah
Video: Tutorial : Interface STM32F1 dengan Keypad 4x4 || CubeMX || Keil UVision #1 2024, November
Anonim
Image
Image
pengantar
pengantar

Hari ini, kita akan berbicara tentang tiga subjek yang sangat saya sukai: layar LCD yang menghabiskan sedikit energi, STM32 dengan Core Arduino, dan Arduino Mega Pro Mini. Ini adalah trio sempurna untuk Internet of Things. Saya kemudian akan memperkenalkan Anda ke layar LCD enam digit HT1621 dan membuat contoh kontrol dengan kode yang berfungsi pada Arduino Mega Pro Mini dan STM32 L432KC. Detail yang patut diperhatikan adalah bahwa kode sumber untuk kedua mikrokontroler itu persis sama. Saya juga tidak akan mengubah pin. Ini benar-benar fantastis!

Langkah 1: Pendahuluan

pengantar
pengantar

Layar LCD HT1621 memiliki layar yang biasa digunakan pada multimeter, timbangan elektronik, jam elektronik, termometer, dan alat ukur elektronik.

• Memiliki 6 digit dengan 7 segmen

• Menggunakan komunikasi SPI 3-kawat

• Memiliki lampu latar yang cocok untuk lingkungan gelap

• Tegangan operasinya adalah 4,7 ~ 5,2V

• Mengkonsumsi 4mA dengan lampu latar

Perhatikan bahwa ia memiliki lebih dari ENAM digit, TIGA titik desimal, dan meteran baterai dengan TIGA batang.

Langkah 2: Perpustakaan untuk Digunakan

Kami akan menggunakan perpustakaan pengguna github ANXZHU, yang cukup sederhana. Versi aslinya bisa dilihat di link di bawah ini:

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

Nama perpustakaan agak aneh, jadi saya memutuskan untuk mengganti namanya (file, kelas, pembangun, dll.). Nama aslinya adalah "A6seglcd". Saya mengganti nama ini dengan "lcdlib".

Langkah 3: Perpustakaan

Tambahkan perpustakaan "lcdlib".

Akses tautan dan unduh perpustakaan.

Buka zip file dan tempel ke folder perpustakaan Arduino IDE.

C: / Program Files (x86) / Arduino / perpustakaan

Langkah 4: Demonstrasi

Demonstrasi
Demonstrasi

Rakitan mega Arduino

Langkah 5: Demonstrasi

Demonstrasi
Demonstrasi

perakitan SMT32

Langkah 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Saya ingin menyoroti di sini bahwa STM32-L432KC tidak memiliki konverter USB serial. Sebaliknya, ia memiliki USB penuh, yang menggunakan protokol ST-link STMicroelectronics. Jadi, ini cukup canggih dan memungkinkan debugging yang sangat efisien jika Anda menggunakan IR atau Microvision. Dan sebagai Arduino Core (MBED, menggunakan alat asli Microsoft), ia menggunakan kompiler yang sangat profesional. Apakah saya perlu mengatakan hal lain?

Langkah 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Saya juga menyukai ini, karena ini adalah Arduino "murni" dan "nyata". Ini adalah Mega, dengan banyak IO. Tapi ini Mini, jadi cocok di mana saja. Saya suka IO di mana-mana. Dengan ini, saya suka menghubungkan Led, SPI, i2c, dll. Dalam hal ini, Mega ini luar biasa.

Langkah 8: Perakitan

perakitan
perakitan

Dalam perakitan kami, deretan pin jantan berada di sisi dalam, sedangkan pin betina berada di sisi terluar, memudahkan pekerjaan dan koneksi kami dengan protoboard. Kami membuat koneksi SPI, mengingat Arduino Mega dan klon Arduino Nano ini memiliki pin yang sama, yaitu STM32-L432KC.

Langkah 9: Program

Kami akan membuat program yang sangat sederhana, di mana kami akan menulis berbagai simbol (huruf, angka, dan titik) di layar.

Ingatlah bahwa program ini bekerja pada Arduino Mega Pro Mini dan STM32 L432KC.

Langkah 10: Pustaka dan Variabel

Kami kemudian akan menyertakan perpustakaan yang bertanggung jawab untuk komunikasi dan instantiate kontrol tampilan. Fungsi "const char" memperlihatkan tabel array. Melalui vektor-vektor inilah Anda akan membuat referensi karakter yang tercetak di layar.

#include //biblioteca para controle do display

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, -, kelelawar, pf, ' ', */ const char num={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 }; /*angka indeks 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 */

Langkah 11: Pengaturan

Untuk memulai Setup, kita akan menentukan pin, melakukan setup awal, dan mengatur pembersihan tampilan. Kami menentukan bahwa tampilan menunjukkan "Halo," dan setelah penundaan tertentu, pesan tampilan dihapus.

void setup(){ lcd.run(2, 3, 4, 5); //[cs wr data led+] definição dos pinos lcd.conf(); //konfigurasi lcd.clr awal(); //limpa o display //escreve HELLO lcd.display(10, num[17]); lcd.display(8, angka[15]); lcd.display(6, angka[19]); lcd.display(4, num[19]); lcd.display(2, angka[0]); //fim HELLO delay(1000); lcd.clr(); //limpa atau tampilan }

Langkah 12: Putaran

Di sini, kami membuat fungsi yang disebut "writeLoop," yang akan menulis kata LOOP di layar, lalu menulis semua simbol array kami. Kami juga memiliki fungsi "writeBattery", yang mencetak penanda baterai.

Terakhir, kita memiliki perintah "lcd.dispnum" yang menulis nilai floating point.

Langkah 13: Unduh File

PDF

SAYA TIDAK

Direkomendasikan: