Სარჩევი:

ეფექტური და იაფი: ჩვენება STM32L4: 13 საფეხურით
ეფექტური და იაფი: ჩვენება STM32L4: 13 საფეხურით

ვიდეო: ეფექტური და იაფი: ჩვენება STM32L4: 13 საფეხურით

ვიდეო: ეფექტური და იაფი: ჩვენება STM32L4: 13 საფეხურით
ვიდეო: „კრიზისი ცოლ-ქმრულ ურთიერთობებში და მისი გადალახვის გზები“ - ფსიქოლოგი მარინა კაჭარავა 2024, ნოემბერი
Anonim
Image
Image
შესავალი
შესავალი

დღეს ჩვენ ვისაუბრებთ სამ საგანზე, რომელსაც მე აბსოლუტურად ვუყვარვარ: LCD დისპლეი, რომელიც ხარჯავს მცირე ენერგიას, STM32 Core Arduino– სთან და Arduino Mega Pro Mini. ეს არის უტყუარი სამეული საგნების ინტერნეტისთვის. შემდეგ მე გაგაცნობთ HT1621 ექვსნიშნა LCD ეკრანს და შევქმნი კონტროლის მაგალითს კოდით, რომელიც მუშაობს როგორც Arduino Mega Pro Mini- ზე, ასევე STM32 L432KC- ზე. საყურადღებო დეტალია ის, რომ ორი მიკროკონტროლერის საწყისი კოდი ზუსტად იგივეა. პინგსაც არ შევცვლი. აბსოლუტურად ფანტასტიკურია!

ნაბიჯი 1: შესავალი

შესავალი
შესავალი

HT1621 LCD ეკრანს აქვს ეკრანი, რომელიც ჩვეულებრივ გამოიყენება მულტიმეტრებში, ელექტრონულ სასწორებში, ელექტრონულ საათებში, თერმომეტრებში და ელექტრონულ საზომი მოწყობილობებში.

• მას აქვს 6 ციფრი 7 სეგმენტით

• იყენებს 3 მავთულის SPI კომუნიკაციას

• მას აქვს შუქნიშანი, რომელიც შესაფერისია ბნელ გარემოში

• მისი სამუშაო ძაბვაა 4.7 ~ 5.2V

• ის მოიხმარს 4 mA უკანა განათებით

გაითვალისწინეთ, რომ მას აქვს ექვსზე მეტი ციფრი, სამი ათობითი წერტილი და ბატარეის მრიცხველი სამი ზოლით.

ნაბიჯი 2: ბიბლიოთეკა გამოსაყენებლად

ჩვენ გამოვიყენებთ ANXZHU github მომხმარებლის ბიბლიოთეკას, რაც საკმაოდ მარტივია. მისი ნახვა შეგიძლიათ ორიგინალ ვერსიაში ქვემოთ მოცემულ ბმულზე:

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

ბიბლიოთეკის სახელი ცოტა უცნაურია, ამიტომ გადავწყვიტე მისი გადარქმევა (ფაილები, კლასები, მშენებლები და ა. მისი ორიგინალური სახელია "A6seglcd". ეს სახელი შევცვალე "lcdlib" - ით.

ნაბიჯი 3: ბიბლიოთეკა

დაამატეთ ბიბლიოთეკა "lcdlib".

შედით ბმულზე და გადმოწერეთ ბიბლიოთეკა.

გახსენით ფაილი და ჩასვით Arduino IDE ბიბლიოთეკების საქაღალდეში.

C: / პროგრამის ფაილები (x86) / Arduino / ბიბლიოთეკები

ნაბიჯი 4: დემონსტრაცია

დემონსტრაცია
დემონსტრაცია

არდუინოს მეგა ასამბლეა

ნაბიჯი 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

მე ასევე მიყვარს ეს, რადგან ის არის "სუფთა" და "ნამდვილი" არდუინო. ეს არის მეგა, ბევრი IO– ით. მაგრამ ეს არის მინი, ასე რომ ჯდება ყველგან. IO ყველგან მომწონს. ამით მე მიყვარს Led, SPI, i2c და ა.შ. დაკავშირება ამ მხრივ, ეს მეგა მშვენიერია.

ნაბიჯი 8: შეკრება

შეკრება
შეკრება

ჩვენს შეკრებაში, მამრობითი ქინძისთავის მწკრივი შიდა მხარესაა, ხოლო მდედრის ქინძისთავი გარედან, რაც ხელს უწყობს ჩვენს მუშაობას და პროტობორდთან კავშირს. ჩვენ ვაკეთებთ SPI კავშირს, გვახსოვს, რომ არდუინო მეგას და არდუინო ნანოს კლონს აქვთ ერთი და იგივე ჩამაგრება, რაც არის STM32-L432KC.

ნაბიჯი 9: პროგრამა

ჩვენ შევქმნით ძალიან მარტივ პროგრამას, სადაც ჩვენ ვწერთ ეკრანზე სხვადასხვა სიმბოლოს (ასოებს, რიცხვებს და წერტილებს).

გახსოვდეთ, რომ ეს პროგრამა მუშაობს როგორც Arduino Mega Pro Mini- ზე, ასევე STM32 L432KC- ზე.

ნაბიჯი 10: ბიბლიოთეკები და ცვლადები

შემდეგ ჩვენ ჩავრთავთ ბიბლიოთეკას, რომელიც პასუხისმგებელია კომუნიკაციაზე და ვუშვებთ ეკრანის კონტროლს. "Const char" ფუნქცია ავლენს მასივის ცხრილს. სწორედ ამ ვექტორების საშუალებით გააკეთებთ მითითებას იმ პერსონაჟის შესახებ, რომელიც ბეჭდავს ეკრანზე.

#მოიცავს // ბიბლიოთეკა საკონტროლო ჩვენებისათვის

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}; / *indice num 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 მონაცემები led+] definição dos pinos lcd.conf (); // configuração inicial lcd.clr (); // limpa o ჩვენება // escreve HELLO lcd.display (10, num [17]); lcd. ჩვენება (8, ნომერი [15]); lcd. ჩვენება (6, ნომერი [19]); lcd. ჩვენება (4, ნომერი [19]); lcd.display (2, num [0]); // fim HELLO დაგვიანებით (1000); lcd.clr (); // ლიმპა ან ჩვენება}

ნაბიჯი 12: მარყუჟი

აქ ჩვენ ვქმნით ფუნქციას სახელწოდებით "writeLoop", რომელიც ეკრანზე ჩაწერს სიტყვას LOOP, შემდეგ ჩაწერს ჩვენი მასივის ყველა სიმბოლოს. ჩვენ ასევე გვაქვს "writeBattery" ფუნქცია, რომელიც ბეჭდავს ბატარეის მარკერს.

დაბოლოს, ჩვენ გვაქვს "lcd.dispnum" ბრძანება, რომელიც წერს მცურავი წერტილის მნიშვნელობას.

ნაბიჯი 13: ჩამოტვირთეთ ფაილები

PDF

ინო

გირჩევთ: