Мазмуну:

Натыйжалуу жана арзан: STM32L4 менен көрсөтүү: 13 кадам
Натыйжалуу жана арзан: STM32L4 менен көрсөтүү: 13 кадам

Video: Натыйжалуу жана арзан: STM32L4 менен көрсөтүү: 13 кадам

Video: Натыйжалуу жана арзан: STM32L4 менен көрсөтүү: 13 кадам
Video: БЫРЫШКА ЖАНА КӨЗДҮН ТЕГЕРЕГИНДЕГИ БЫРЫШКА КАРШЫ СУПЕР ПАЙДАЛУУ ЖАНА АРЗАН МАСКА!!!#пайдалуукенеш 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.2V

• Бул арткы жарык менен 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 көп. Бирок бул Mini, ошондуктан ал каалаган жерге туура келет. Мага IO бардык жерде жагат. Муну менен, мен Led, SPI, i2c ж.б. менен байланышканды жакшы көрөм, бул жагынан алганда бул Мега сонун.

8 -кадам: Ассамблея

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

Биздин жамаатта, эркек төөнөгүчтүн сабы ички жагында, ал эми ургаачы пин сырткы жагында, биздин жумушубузду жана протоборд менен байланышты жеңилдетет. Биз SPU туташуусун жасайбыз, бул Arduino Mega жана бул Arduino Nano клонунун STM32-L432KC болгон бирдей төөнөгүчкө ээ экенин эстен чыгарбай.

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+] definção dos pinos lcd.conf (); // конфигурациялоо расмий lcd.clr (); // лимпа же дисплей // 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 -кадам: Loop

Бул жерде биз "writeLoop" деп аталган функцияны түзөбүз, ал дисплейде LOOP деген сөздү жазат, андан кийин биздин массивдин бардык символдорун жазат. Бизде батарейканын маркерлерин басып чыгаруучу "writeBattery" функциясы да бар.

Акырында, бизде "lcd.dispnum" буйругу бар, ал өзгөрмөлүү чекитти жазат.

13 -кадам: Файлдарды жүктөп алыңыз

PDF

МЕН ЖОК

Сунушталууда: