فهرست مطالب:

کارآمد و ارزان: نمایش با STM32L4: 13 مرحله
کارآمد و ارزان: نمایش با STM32L4: 13 مرحله

تصویری: کارآمد و ارزان: نمایش با STM32L4: 13 مرحله

تصویری: کارآمد و ارزان: نمایش با STM32L4: 13 مرحله
تصویری: پسر بچه ایرانی که با صداش داورای برنامه گات تلنت رو حیرت زده کرد 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.2 ولت است

• 4mA با نور پس زمینه مصرف می کند

توجه داشته باشید که دارای بیش از شش رقم ، سه رقم اعشار و یک متر باتری با سه نوار است.

مرحله 2: کتابخانه برای استفاده

ما از کتابخانه کاربر github ANXZHU استفاده می کنیم که بسیار ساده است. در نسخه اصلی در لینک زیر قابل مشاهده است:

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 استفاده می کنید ، اشکال زدایی بسیار کارآمد را امکان پذیر می کند. و به عنوان هسته آردوینو (MBED ، با استفاده از ابزار بومی مایکروسافت) ، از کامپایلرهای بسیار حرفه ای استفاده می کند. آیا لازم است چیز دیگری بگویم؟

مرحله 7: Arduino Mega 2560 PRO MINI

آردوینو مگا 2560 PRO MINI
آردوینو مگا 2560 PRO MINI

من نیز این را دوست دارم ، زیرا یک آردوینو "خالص" و "واقعی" است. این یک مگا است ، با تعداد زیادی IO. اما مینی است ، بنابراین در هر مکانی مناسب است. IO را همه جا دوست دارم. با این کار ، من دوست دارم Led ، SPI ، i2c و غیره را وصل کنم از این نظر ، این Mega فوق العاده است.

مرحله 8: مونتاژ

مونتاژ
مونتاژ

در مجموعه ما ، ردیف سنجاق نر در قسمت داخلی قرار دارد ، در حالی که پین ماده در بیرونی ترین سمت است ، کار و ارتباط ما را با یک تخته اولیه تسهیل می کند. ما اتصال SPI را برقرار می کنیم ، به یاد داشته باشید که Arduino Mega و این کلون آردوینو نانو دارای پین یکسانی هستند که 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، -، 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 data led+] definição dos pinos lcd.conf ()؛ // configuração inicial lcd.clr ()؛ // limpa o display // escreve HELLO lcd.display (10، num [17])؛ ال سی دی نمایش (8 ، شماره [15]) ؛ ال سی دی نمایش (6 ، شماره [19]) ؛ ال سی دی نمایش (4 ، شماره [19]) ؛ ال سی دی نمایش (2 ، شماره [0]) ؛ // fim تاخیر سلام (1000) ؛ lcd.clr ()؛ // limpa o display}

مرحله 12: حلقه کنید

در اینجا ، ما یک تابع به نام "writeLoop" ایجاد می کنیم که کلمه LOOP را روی صفحه می نویسد ، سپس تمام نمادهای آرایه ما را می نویسد. ما همچنین تابع "writeBattery" را داریم که نشانگرهای باتری را چاپ می کند.

در نهایت ، ما دستور "lcd.dispnum" را داریم که مقدار نقطه شناور را می نویسد.

مرحله 13: فایل ها را بارگیری کنید

PDF

من نه

توصیه شده: