Съдържание:

Ефективно и евтино: Дисплей със STM32L4: 13 стъпки
Ефективно и евтино: Дисплей със STM32L4: 13 стъпки

Видео: Ефективно и евтино: Дисплей със STM32L4: 13 стъпки

Видео: Ефективно и евтино: Дисплей със STM32L4: 13 стъпки
Видео: 40 отборных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #2 2024, Ноември
Anonim
Image
Image
Въведение
Въведение

Днес ще говорим за три теми, които абсолютно обожавам: LCD дисплей, който изразходва малко енергия, STM32 с Core Arduino и Arduino Mega Pro Mini. Това е безпогрешно трио за Интернет на нещата. След това ще ви представя шестцифрения LCD дисплей HT1621 и ще създам примерна контрола с код, който работи както на Arduino Mega Pro Mini, така и на STM32 L432KC. Забележителна подробност е, че изходният код за двата микроконтролера е абсолютно един и същ. Аз също няма да променя фиксирането. Абсолютно фантастично е!

Стъпка 1: Въведение

Въведение
Въведение

LCD дисплеят HT1621 има екран, който обикновено се използва в мултиметри, електронни везни, електронни часовници, термометри и електронни измервателни устройства.

• Има 6 цифри със 7 сегмента

• Използва 3-жична SPI комуникация

• Има подсветка, подходяща за тъмна среда

• Работното му напрежение е 4.7 ~ 5.2V

• Консумира 4mA с подсветка

Обърнете внимание, че той има повече от ШЕСТ цифри, ТРИ десетични запетая и измервател на батерията с ТРИ ленти.

Стъпка 2: Библиотека за използване

Ще използваме потребителската библиотека на ANXZHU github, която е доста проста. Може да се види в оригиналната версия на връзката по -долу:

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

Името на библиотеката е малко странно, затова реших да го преименувам (файлове, класове, конструктори и т.н.). Първоначалното му име е "A6seglcd". Замених това име с "lcdlib".

Стъпка 3: Библиотека

Добавете библиотека "lcdlib".

Отворете връзката и изтеглете библиотеката.

Разархивирайте файла и го поставете в папката библиотеки на Arduino IDE.

C: / Програмни файлове (x86) / Arduino / библиотеки

Стъпка 4: Демонстрация

Демонстрация
Демонстрация

Arduino мега монтаж

Стъпка 5: Демонстрация

Демонстрация
Демонстрация

SMT32 монтаж

Стъпка 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Тук искам да подчертая, че STM32-L432KC няма сериен USB конвертор. Вместо това той има пълен USB, който използва STMicroelectronics ST-link протокол. По този начин той е доста сложен и позволява много ефективно отстраняване на грешки, ако използвате IR или Microvision. И като Arduino Core (MBED, използвайки родния инструмент на Microsoft), той използва високопрофесионални компилатори. Трябва ли да кажа нещо друго?

Стъпка 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Аз също обичам това, тъй като е "чист" и "истински" Arduino. Това е Mega, с много IO. Но това е Mini, така че се вписва навсякъде. Харесвам IO навсякъде. С това обичам да свързвам Led, SPI, i2c и т.н. В това отношение тази Мега е прекрасна.

Стъпка 8: Монтаж

Монтаж
Монтаж

В нашия монтаж редът на мъжкия щифт е от вътрешната страна, докато женският щифт е от най -външната страна, което улеснява нашата работа и свързване с протоборд. Ние правим SPI връзката, като помним, че Arduino Mega и този клонинг на Arduino Nano имат едно и също прикрепване, което е STM32-L432KC.

Стъпка 9: Програма

Ще направим много проста програма, в която ще изписваме различни символи (букви, цифри и точки) на дисплея.

Не забравяйте, че тази програма работи както на Arduino Mega Pro Mini, така и на STM32 L432KC.

Стъпка 10: Библиотеки и променливи

След това ще включим библиотеката, отговорна за комуникацията, и ще приложим контрола на дисплея. Функцията "const char" излага таблица с масиви. Чрез тези вектори ще направите препратка към знака, който се отпечатва на дисплея.

#include // biblioteca para controle do display

lcdlib lcd; // инстанция за управление или дисплей /*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}; / *индекс номер 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 */

Стъпка 11: Настройка

За да стартираме настройката, ще определим щифтовете, ще извършим първоначалната настройка и ще настроим почистването на дисплея. Определихме, че дисплеят показва „Здравей“и след известно забавяне съобщението на дисплея се изчиства.

void setup () {lcd.run (2, 3, 4, 5); // [cs wr data led+] definição dos pinos lcd.conf (); // конфигуриране inicial lcd.clr (); // limpa o display // escreve HELLO lcd.display (10, num [17]); lcd.display (8, номер [15]); lcd.display (6, номер [19]); lcd.display (4, номер [19]); lcd.display (2, номер [0]); // fim HELLO забавяне (1000); lcd.clr (); // limpa o display}

Стъпка 12: Цикъл

Тук създаваме функция, наречена "writeLoop", която ще изпише думата LOOP на дисплея, след това ще изпише всички символи на нашия масив. Имаме и функцията "writeBattery", която отпечатва маркерите на батерията.

И накрая, имаме командата "lcd.dispnum", която записва стойността с плаваща запетая.

Стъпка 13: Изтеглете файловете

PDF

АЗ НЕ

Препоръчано: