Мазмұны:

Тиімді және арзан: STM32L4 дисплейі: 13 қадам
Тиімді және арзан: STM32L4 дисплейі: 13 қадам

Бейне: Тиімді және арзан: STM32L4 дисплейі: 13 қадам

Бейне: Тиімді және арзан: STM32L4 дисплейі: 13 қадам
Бейне: 13 крутых электронных товаров для рыбалки с сайта Joom 2024, Қараша
Anonim
Image
Image
Кіріспе
Кіріспе

Бүгін біз өзім ұнататын үш тақырып туралы сөйлесетін боламыз: аз энергия жұмсайтын СКД дисплейі, Core Arduino бар STM32 және Arduino Mega Pro Mini. Бұл Интернет заттары үшін мінсіз трио. Содан кейін мен сізді HT1621 алты таңбалы СКД дисплейімен таныстырамын және Arduino Mega Pro Mini де, STM32 L432KC де жұмыс істейтін кодпен басқару элементін құрамын. Бір ерекшелігі, екі микроконтроллердің бастапқы коды бірдей. Мен түйреуішті де өзгертпеймін. Бұл мүлдем фантастикалық!

1 -қадам: Кіріспе

Кіріспе
Кіріспе

HT1621 СК дисплейінде мультиметрлерде, электронды таразыларда, электрондық сағаттарда, термометрлерде және электронды өлшеу құралдарында жиі қолданылатын экран бар.

• Ол 7 сегменттен тұратын 6 саннан тұрады

• Ол 3 сымды SPI байланысын қолданады

• Оның қараңғы ортаға сәйкес келетін артқы жарығы бар

• Оның жұмыс кернеуі 4,7 ~ 5,2 В құрайды

• Артқы жарығы бар 4мА тұтынады

Ол АЛТЫНАН көп цифрдан, ҮШ ондық бөлшектен және ҮШ жолақтан тұратын батарея есептегішінен тұрады.

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 түрлендіргіші жоқ екенін атап өткім келеді. Оның орнына STMicroelectronics ST-link хаттамасын қолданатын толық USB бар. Осылайша, бұл өте күрделі және егер сіз IR немесе Microvision қолдансаңыз, өте тиімді күйін келтіруге мүмкіндік береді. Және Arduino Core бола отырып (MBED, Microsoft -тың жергілікті құралын қолдана отырып) жоғары кәсіби компиляторларды қолданады. Маған басқа нәрсе айту керек пе?

7 -қадам: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Мен мұны да жақсы көремін, себебі бұл «таза» және «нағыз» Ардуино. Бұл Мега, көптеген IO бар. Бірақ бұл мини, сондықтан ол кез келген жерге сәйкес келеді. Маған барлық жерде IO ұнайды. Осының арқасында мен Led, SPI, i2c, т.б. қосуды ұнатамын. Бұл жағынан бұл Мега керемет.

8 -қадам: құрастыру

Ассамблея
Ассамблея

Біздің жиналыста аталық түйреуіштің қатары ішкі жағында, ал аналық штырь - ең шеткі жағында, бұл біздің жұмысымызды және протободы қосуды жеңілдетеді. Біз Arduino Mega мен осы Arduino Nano клонында STM32-L432KC бір түйреуіш бар екенін есте сақтай отырып, SPI байланысын орнатамыз.

9 -қадам: Бағдарлама

Біз дисплейге әр түрлі белгілерді (әріптерді, сандарды және нүктелерді) жазатын өте қарапайым бағдарлама жасаймыз.

Есіңізде болсын, бұл бағдарлама Arduino Mega Pro Mini де, STM32 L432KC де жұмыс істейді.

10 -қадам: Кітапханалар мен айнымалылар

Содан кейін біз байланыс үшін жауап беретін кітапхананы қосамыз және дисплейді басқаруды тездетеміз. «Const char» функциясы массив кестесін көрсетеді. Дәл осы векторлар арқылы сіз дисплейде басып шығарылатын таңбаға сілтеме жасайсыз.

#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, -, бат, 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+] анықтама dos pinos lcd.conf (); // lcd.clr конфигурациясы (); // limpa o display // 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]); // fim HELLO кідірісі (1000); lcd.clr (); // көрсету немесе көрсету}

12 -қадам: ілмек

Мұнда біз «writeLoop» деп аталатын функция жасаймыз, ол дисплейде LOOP сөзін жазады, содан кейін біздің массивтің барлық белгілерін жазады. Бізде батареяның маркерлерін басып шығаратын «writeBattery» функциясы бар.

Ақырында, бізде «lcd.dispnum» пәрмені бар, ол өзгермелі нүктенің мәнін жазады.

13 -қадам: файлдарды жүктеңіз

PDF

МЕН ЖОҚ

Ұсынылған: