فهرست مطالب:

ماژول های نمایش LED آردوینو و TM1638: 11 مرحله
ماژول های نمایش LED آردوینو و TM1638: 11 مرحله

تصویری: ماژول های نمایش LED آردوینو و TM1638: 11 مرحله

تصویری: ماژول های نمایش LED آردوینو و TM1638: 11 مرحله
تصویری: آموزش راه اندازی ماژول بلوتوث با برد آردوینو uno 2024, نوامبر
Anonim
ماژول های نمایش LED آردوینو و TM1638
ماژول های نمایش LED آردوینو و TM1638

اگر به راهی سریع و آسان برای افزودن ورودی و خروجی کاربر به پروژه نیاز دارید ، این ماژول های نمایش جالب و سرگرم کننده هستند.

آنها شامل هشت رقم LED قرمز 7 قسمتی ، هشت LED قرمز/سبز و همچنین هشت دکمه برای ورودی کاربر هستند. این واحدها همچنین می توانند با زنجیر دیزی ساخته شوند و اجازه دهید حداکثر 5 عدد به طور همزمان انجام شود و یک کابل کوتاه همراه با هر ماژول و همچنین چند فاصله دهنده و پیچ و مهره کوتاه ، همانطور که در تصویر نشان داده شده است.

مرحله 1:

تصویر
تصویر

فاصله دهنده ها فقط به اندازه ای بلند هستند که می توان PCB را روی سطحی بالا برد ، اما برای نصب تخته ها در هر نقطه مفید به صفحات بلندتری نیاز دارید. اگر می خواهید ماژول را نزدیک سطح یک پانل نصب کنید ، ممکن است بخواهید سوکت های IDC را حذف کنید. این یک کار ساده برای جداسازی است زیرا آنها سوکت های سوراخ دار هستند.

گام 2:

تصویر
تصویر

برد توسط IC TM1638 کنترل می شود.

این یک IC درایور LED و رابط از "Titan Micro Electronics" است. همچنین می توانید این IC ها را از PMD Way خریداری کنید. همچنین برای اطلاعات بیشتر می توانید برگه اطلاعات را بارگیری کنید.

مرحله 3: شروع به کار - سخت افزار

شروع کار - سخت افزار
شروع کار - سخت افزار

سخت افزار-اتصال به برد سازگار با آردوینو (یا MCU دیگر) بسیار ساده است. پین ها در پشت PCB نشان داده می شوند و با اتصالات روی کابل روبان مطابقت دارند. اگر به انتهای کابل نگاه کنید.

سوراخ بالا سمت راست پین یک است ، در بالا چپ پین دو ، پین پایین سمت راست نه و پین پایین چپ ده است. بنابراین پین ها عبارتند از:

  1. Vcc (5V)
  2. GND
  3. CLK
  4. DIO
  5. STB1
  6. STB2
  7. STB3
  8. STB4
  9. STB5
  10. متصل نیست

برای استفاده از آردوینو ، پین های 1 ~ 4 حداقل لازم برای استفاده از یک ماژول است. هر ماژول اضافی به یک پین دیجیتالی دیگر متصل به STB2 ، STB3 و غیره نیاز خواهد داشت. لطفاً توجه داشته باشید که هر ماژول با روشنایی کامل با هر LED روشن 127 میلی آمپر مصرف می کند ، بنابراین عاقلانه است که از برق خارجی با بیش از یک ماژول و اتصالات دیگر با بردهای آردوینو استفاده کنید.

مرحله 4: شروع به کار - نرم افزار

نرم افزار - کتابخانه T1638 را از اینجا بارگیری و نصب کنید. با تشکر و قدردانی از rjbatista در gmail dot com برای کتابخانه. راه اندازی اولیه ماژول ها در طرح ساده است. شامل کتابخانه با:

#عبارتند از

سپس برای هر ماژول از یکی از موارد زیر استفاده کنید:

ماژول TM1638 (x ، y ، z) ؛

x پین دیجیتالی آردوینو است که به پایه 4 کابل ماژول متصل است ، y پین دیجیتالی آردوینو است که به پایه 3 کابل ماژول متصل است و z پین بارق است. بنابراین اگر یک ماژول با داده ، ساعت و بارق متصل به پین 8 ، 7 و 6 داشته باشید ، از موارد زیر استفاده می کنید:

ماژول TM1638 (8 ، 7 ، 6) ؛

اگر دو ماژول داشتید که بارق ماژول یک به آردوینو دیجیتال 6 متصل بود و بارق ماژول دو به دیجیتال 5 متصل بود ، از موارد زیر استفاده می کنید:

ماژول TM1638 (8 ، 7 ، 6) ؛ ماژول TM1638 (8 ، 7 ، 5) ؛

و همینطور برای ماژول های بیشتر. حالا برای کنترل صفحه…

مرحله 5: LED های دو رنگ

LED های دو رنگ
LED های دو رنگ

کنترل LED های قرمز/سبز آسان است. برای مرجع آنها صفر تا هفت از چپ به راست شماره گذاری شده اند. برای روشن یا خاموش کردن یک LED ، از موارد زیر استفاده کنید:

module.setLED (TM1638_COLOR_RED ، x) ؛ // شماره LED x را روی redmodule.setLED (TM1638_COLOR_GREEN ، x) تنظیم کنید ؛ // شماره LED x را روی module سبز تنظیم کنید. setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN ، 0) ؛ // شماره LED را روی قرمز و سبز تنظیم کنید

استفاده از روش بالا ممکن است ساده باشد اما تا حدودی ناکارآمد است. یک راه بهتر این است که تمام LED ها را در یک دستور قرار دهید. برای انجام این کار ما دو بایت داده را به صورت هگزا دسیمال به صفحه نمایش ارسال می کنیم. MSB (مهمترین بایت) شامل هشت بیت است که هر یک نشان دهنده یک LED سبز روشن (1) یا خاموش (0) است. LSB (کمترین بایت قابل توجه) نشان دهنده LED های قرمز است.

یک راه آسان برای تعیین مقدار هگزا دسیمال برای کنترل LED ها ساده است ، تصویر شما یک ردیف LED دارد - هشت مورد اول سبز و هشت مورد دوم قرمز است. هر رقم را روی 1 برای روشن و 0 برای خاموش تنظیم کنید. دو عدد دودویی را به شانزده تبدیل کنید و از این تابع استفاده کنید:

module.setLEDs (0xgreenred) ؛

جایی که سبز عدد هگزا دسیمال برای LED های سبز است و قرمز عدد هگزا دسیمال برای LED های قرمز است. به عنوان مثال ، برای روشن کردن سه LED اول به رنگ قرمز و سه LED آخر به رنگ سبز ، نمایش دوتایی به صورت زیر خواهد بود:

00000111 11100000 که به صورت هگزادسیمال E007 است.

بنابراین ما از موارد زیر استفاده می کنیم:

module.setLEDs (0xE007) ؛

که تصویر را همانطور که در بالا نشان داده شده تولید می کند.

مرحله 6: صفحه نمایش 7 قسمتی

برای پاک کردن صفحه نمایش عددی (اما نه LED های زیر) ، کافی است از موارد زیر استفاده کنید:

module.clearDisplay ()؛

یا برای روشن کردن هر بخش و همه LED ها ، از موارد زیر استفاده کنید

module.setupDisplay (درست ، 7) ؛ // جایی که 7 شدت است (از 0 ~ 7)

برای نمایش اعداد اعشاری ، از تابع استفاده کنید:

module.setDisplayToDecNumber (a ، b ، false) ؛

جایی که a عدد صحیح است ، b موقعیت نقطه اعشار (0 برای هیچ ، 1 برای رقم 8 ، 2 ، برای رقم 7 ، 4 برای رقم 6 ، 8 برای رقم 4 و غیره) و آخرین پارامتر (درست/ false) صفرهای اصلی را روشن یا خاموش می کند. طرح زیر استفاده از این تابع را نشان می دهد:

#include // یک ماژول در پین داده 8 ، پین ساعت 9 و پین بارق 7 TM1638 (8 ، 9 ، 7) تعریف کنید ؛ بدون علامت طولانی a = 1؛ void setup () {} حلقه void () {for (a = 10000؛ a <11000؛ a ++) {module.setDisplayToDecNumber (a، 4، false)؛ تأخیر (1) ؛ } for (a = 10000؛ a <11000؛ a ++) {module.setDisplayToDecNumber (a، 0، true)؛ تأخیر (1) ؛ }}

… با نتایج نشان داده شده در ویدئو.

مرحله 7:

Image
Image

یکی از ویژگی های جالب قابلیت حرکت دادن متن در یک یا چند صفحه نمایش است. برای انجام این کار نیازی به توضیح نیست زیرا طرح نمایشی شامل:

tm_1638_scrolling_modules_example.pde

کتابخانه TM1638 به راحتی دنبال می شود. فقط متن خود را در رشته const char وارد کنید ، اطمینان حاصل کنید که ماژول (ها) مطابق تعریف ماژول در ابتدای طرح وصل شده و تنظیم شده است. برای مشاهده نویسه های موجود ، به صفحه عملکرد مراجعه کنید. توجه داشته باشید که صفحه نمایش تنها هفت بخش است ، بنابراین برخی از شخصیت ها ممکن است کامل به نظر نرسند ، اما در زمینه ایده خوبی به شما می دهد-فیلم را در این مرحله ببینید.

مرحله 8:

در نهایت ، شما همچنین می توانید به صورت جداگانه به هر بخش از هر رقم آدرس دهید. محتویات این آرایه را در نظر بگیرید:

مقادیر بایت = {1، 2، 4، 8، 16، 32، 64، 128}؛

هر عنصر نشان دهنده ارقام 1 ~ 8 است. مقدار هر عنصر تعیین می کند که کدام بخش از رقم روشن شود. برای بخش های a ~ f ، dp مقادیر 1 ، 2 ، 4 ، 6 ، 16 ، 32 ، 64 ، 128 است. بنابراین نتایج استفاده از آرایه بالا در تابع زیر:

module.setDisplay (مقادیر) ؛

مطابق تصویر خواهد بود

مرحله 9:

تصویر
تصویر

به طور طبیعی شما می توانید مقادیر مربوط به هر رقم را برای ایجاد کاراکترها ، نمادها و غیره ترکیب کنید. به عنوان مثال ، با استفاده از مقادیر زیر:

مقدار بایت = {99 ، 99 ، 99 ، 99 ، 99 ، 99 ، 99 ، 99} ؛

ما مطابق تصویر در این مرحله ایجاد کردیم.

مرحله 10: دکمه ها

مقادیر دکمه ها به عنوان مقدار بایت از تابع برمی گردند:

module.getButtons ()؛

از آنجا که هشت دکمه وجود دارد ، هر یک نشان دهنده یک بیت از یک عدد دودویی است که به عنوان یک بایت بازگردانده می شود. دکمه سمت چپ عدد اعشاری و راست را 128 برمی گرداند. همچنین می تواند فشارهای همزمان را برگرداند ، بنابراین با فشردن دکمه های یک و هشت 129 برمی گردد. طرح زیر را در نظر بگیرید ، که مقادیر فشارهای دکمه را به صورت اعشاری برمی گرداند ، سپس نمایش می دهد ارزش:

#include // یک ماژول در پین داده 8 ، پین ساعت 9 و پین بارق 7 TM1638 (8 ، 9 ، 7) تعریف کنید ؛ دکمه های بایت ؛ void setup () {} حلقه void () {buttons = module.getButtons ()؛ module.setDisplayToDecNumber (دکمه ها ، 0 ، false) ؛ }

و نتایج در ویدئو

این تابلوهای نمایش مفید هستند و امیدوارم در پروژه های شما خانه ای پیدا کنند. این پست توسط pmdway.com برای شما ارائه شده است - همه چیز را برای سازندگان و علاقه مندان به لوازم الکترونیکی ، با ارسال رایگان در سراسر جهان ، ارائه می دهد.

توصیه شده: