Isi kandungan:

Cekap dan Murah: Paparan Dengan STM32L4: 13 Langkah
Cekap dan Murah: Paparan Dengan STM32L4: 13 Langkah

Video: Cekap dan Murah: Paparan Dengan STM32L4: 13 Langkah

Video: Cekap dan Murah: Paparan Dengan STM32L4: 13 Langkah
Video: Hindari Bangun Rumah Konstruksi Seperti ni !! Begini Pedoman yang benar dan Murah 2024, Disember
Anonim
Image
Image
Pengenalan
Pengenalan

Hari ini, kita akan membincangkan tiga subjek yang sangat saya gemari: paparan LCD yang menghabiskan sedikit tenaga, STM32 dengan Core Arduino, dan Arduino Mega Pro Mini. Ini adalah trio yang sempurna untuk Internet of Things. Saya kemudian akan memperkenalkan anda kepada paparan LCD enam digit HT1621 dan membuat kawalan contoh dengan kod yang berfungsi pada Arduino Mega Pro Mini dan STM32 L432KC. Perincian yang perlu diperhatikan adalah bahawa kod sumber untuk kedua mikrokontroler adalah sama. Saya juga tidak akan menukar pin. Ia sangat hebat!

Langkah 1: Pengenalan

Pengenalan
Pengenalan

Paparan LCD HT1621 memiliki layar yang biasa digunakan dalam multimeter, timbangan elektronik, jam elektronik, termometer, dan alat pengukur elektronik.

• Ia mempunyai 6 digit dengan 7 segmen

• Ia menggunakan komunikasi SPI 3 wayar

• Ia mempunyai lampu latar yang sesuai untuk persekitaran gelap

• Voltan operasi ialah 4.7 ~ 5.2V

• Ia menggunakan 4mA dengan lampu latar

Perhatikan bahawa ia mempunyai lebih daripada ENAM digit, TIGA titik perpuluhan, dan meter bateri dengan TIGA bar.

Langkah 2: Perpustakaan untuk Digunakan

Kami akan menggunakan pustaka pengguna github ANXZHU, yang cukup mudah. Ia dapat dilihat dalam versi asal dalam pautan di bawah:

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

Nama perpustakaan agak aneh, jadi saya memutuskan untuk menamakannya semula (fail, kelas, pembangun, dll.). Nama asalnya adalah "A6seglcd". Saya mengganti nama ini dengan "lcdlib".

Langkah 3: Perpustakaan

Tambah perpustakaan "lcdlib".

Akses pautan dan muat turun perpustakaan.

Buka zip fail dan tampalkannya ke folder perpustakaan Arduino IDE.

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

Langkah 4: Demonstrasi

Demonstrasi
Demonstrasi

Perhimpunan mega Arduino

Langkah 5: Demonstrasi

Demonstrasi
Demonstrasi

Pemasangan SMT32

Langkah 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Saya ingin menegaskan di sini bahawa STM32-L432KC tidak mempunyai penukar USB bersiri. Sebaliknya, ia mempunyai USB penuh, yang menggunakan protokol STMicroelectronics ST-link. Oleh itu, ia cukup canggih dan membolehkan penyahpepijatan yang sangat berkesan jika anda menggunakan IR atau Microvision. Dan sebagai Arduino Core (MBED, menggunakan alat asli Microsoft), ia menggunakan penyusun yang sangat profesional. Adakah saya perlu mengatakan apa-apa lagi?

Langkah 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Saya juga menyukai ini, kerana ia adalah Arduino yang "suci" dan "nyata". Ini adalah Mega, dengan banyak IO. Tetapi Mini, jadi sesuai di mana sahaja. Saya suka IO di mana-mana sahaja. Dengan ini, saya ingin menghubungkan Led, SPI, i2c, dan lain-lain. Sehubungan dengan itu, Mega ini sangat indah.

Langkah 8: Perhimpunan

perhimpunan
perhimpunan

Dalam pemasangan kami, barisan pin lelaki berada di bahagian dalam, sementara pin wanita berada di bahagian paling luar, memudahkan kerja kami dan hubungan dengan protoboard. Kami membuat sambungan SPI, mengingat bahawa Arduino Mega dan klon Arduino Nano ini mempunyai pin yang sama, iaitu STM32-L432KC.

Langkah 9: Program

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

Ingat bahawa program ini berfungsi pada Arduino Mega Pro Mini dan STM32 L432KC.

Langkah 10: Perpustakaan dan Pembolehubah

Kami kemudian akan memasukkan perpustakaan yang bertanggungjawab untuk komunikasi dan mewujudkan kawalan paparan. Fungsi "const char" memperlihatkan jadual array. Melalui vektor inilah anda akan membuat rujukan watak yang dicetak pada paparan.

#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, -, bat, 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}; / * nombor 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: Persediaan

Untuk memulakan Penyediaan, kami akan menentukan pin, melakukan penyiapan awal, dan mengatur pembersihan layar. Kami menentukan bahawa paparan menunjukkan "Halo", dan setelah kelewatan tertentu, mesej paparan dihapus.

batal persediaan () {lcd.run (2, 3, 4, 5); // [cs wr data led +] definição dos pinos lcd.conf (); // configuração inicial lcd.clr (); // limpa o display // escreve HELLO lcd.display (10, angka [17]); lcd.display (8, angka [15]); lcd.display (6, num [19]); lcd.display (4, num [19]); lcd.display (2, angka [0]); // fim kelewatan HELLO (1000); lcd.clr (); // limpa o paparan}

Langkah 12: Gelung

Di sini, kami membuat fungsi yang disebut "writeLoop", yang akan menulis perkataan LOOP pada paparan, kemudian menulis semua simbol susunan kami. Kami juga mempunyai fungsi "writeBattery", yang mencetak penanda bateri.

Akhirnya, kita mempunyai arahan "lcd.dispnum" yang menulis nilai floating point.

Langkah 13: Muat turun Fail

PDF

INO

Disyorkan: