نشانگرهای LED هفت بخش. نشانگر هفت قطعه نشانگرهای LED هفت بخش با کاتد مشترک

LED (یا دیود ساطع کننده نور) یک دیود نوری است که انرژی نور را به شکل "فوتون" در هنگام بایاس به جلو ساطع می کند. در الکترونیک به این فرآیند الکترولومینسانس می گوییم. رنگ نور مرئی ساطع شده توسط LED ها از آبی تا قرمز متغیر است و توسط طیف طیفی نور ساطع شده تعیین می شود که به نوبه خود به ناخالصی های مختلفی بستگی دارد که در طول فرآیند تولید به مواد نیمه هادی اضافه می شود.

ال‌ای‌دی‌ها نسبت به لامپ‌ها و چراغ‌های سنتی مزایای زیادی دارند و شاید مهم‌ترین آن‌ها اندازه کوچک، دوام، رنگ‌های متنوع، هزینه کم و دسترسی آسان و قابلیت اتصال آسان با سایر قطعات الکترونیکی دیگر در مدارهای دیجیتال باشد.

اما مزیت اصلی LED ها این است که به دلیل اندازه کوچک آنها می توان برخی از آنها را در یک محفظه جمع و جور متمرکز کرد و به اصطلاح نشانگر هفت بخش را تشکیل داد.

نشانگر هفت بخش از هفت LED (از این رو نام آن) تشکیل شده است، همانطور که در شکل نشان داده شده است در یک مستطیل مرتب شده اند. هر یک از هفت LED یک سگمنت نامیده می‌شود، زیرا وقتی روشن می‌شود، بخش قسمتی از یک رقم (اعشاری یا 12 رقمی) را تشکیل می‌دهد. گاهی اوقات، در همان بسته، از هشتمین LED اضافی استفاده می‌شود. برای نمایش نقطه اعشار استفاده می‌شود. (DP)، بنابراین در صورتی که دو یا چند نشانگر 7 قسمتی به یکدیگر متصل شده باشند، نمایش داده می شود تا اعداد بزرگتر از ده را نشان دهند.

هر یک از هفت بخش نمایشگر LED به یک پد ردیف تماس مربوطه متصل است که مستقیماً روی محفظه نشانگر پلاستیکی مستطیلی قرار دارد. پین‌های LED با علامت a تا g نشان‌دهنده هر بخش جداگانه هستند. سایر کنتاکت های بخش های LED به هم متصل هستند و یک خروجی مشترک را تشکیل می دهند.

بنابراین، بایاس رو به جلو اعمال شده به پین‌های مربوطه بخش‌های LED به ترتیب خاصی باعث می‌شود برخی از بخش‌ها روشن شوند در حالی که بقیه تاریک می‌مانند، و اجازه می‌دهد نماد الگوی عددی مورد نظر روشن شود تا روی نمایشگر نمایش داده شود. این به ما اجازه می دهد تا هر یک از ده رقم اعشاری را از 0 تا 9 در یک صفحه نمایش 7 قسمتی نشان دهیم.

پین مشترک معمولا برای تعیین نوع نمایشگر 7 قسمتی استفاده می شود. هر LED صفحه نمایش دارای دو پایانه اتصال است که یکی از آنها "آند" و دیگری "کاتد" نامیده می شود. بنابراین، یک نشانگر LED هفت بخش می تواند دو نوع طراحی مدار داشته باشد - با یک کاتد مشترک (OC) و با یک آند مشترک (OA).

تفاوت این دو نوع نمایشگر در این است که در طراحی OK کاتدهای هر 7 سگمنت مستقیماً به یکدیگر متصل می شوند و در طراحی آند مشترک (CA) آندهای هر 7 سگمنت به یکدیگر متصل می شوند. هر دو طرح به شرح زیر عمل می کنند.

  • کاتد مشترک (OC) - کاتدهای به هم پیوسته همه بخش های LED دارای سطح منطقی "0" هستند یا به یک سیم مشترک متصل می شوند. بخش های جداگانه با اعمال سیگنال منطقی بالا یا منطق 1 به پین ​​آند خود از طریق یک مقاومت محدود کننده برای بایاس به جلو LED های جداگانه روشن می شوند.
  • آند مشترک (CA) - آندهای تمام بخش های LED ترکیب شده و دارای سطح منطقی "1" هستند. بخش‌های جداگانه چراغ نشانگر وقتی هر کاتد خاص به زمین، منطقی "0" یا سیگنال کم پتانسیل از طریق مقاومت محدود کننده مربوطه متصل می‌شود.

به طور کلی، نشانگرهای آند معمولی هفت قطعه ای محبوب تر هستند، زیرا بسیاری از مدارهای منطقی ممکن است به جریان بیشتری نسبت به منبع تغذیه نیاز داشته باشند. همچنین توجه داشته باشید که نمایشگر کاتد معمولی جایگزین مستقیمی در مدار برای نمایشگر آند مشترک نیست. و بالعکس - این معادل روشن کردن LED ها در جهت مخالف است و بنابراین هیچ نوری ساطع نمی شود.

اگرچه یک متر 7 سگمنت را می توان به عنوان یک نمایشگر منفرد در نظر گرفت، اما همچنان از هفت LED جداگانه در یک بسته تشکیل شده است و به این ترتیب، این LED ها نیاز به محافظت در برابر جریان اضافه دارند. ال ای دی ها فقط زمانی نور ساطع می کنند که بایاس رو به جلو باشند و میزان نوری که ساطع می کنند با جریان رو به جلو متناسب است. این فقط به این معنی است که شدت LED با افزایش جریان تقریباً به صورت خطی افزایش می یابد. بنابراین، برای جلوگیری از آسیب رساندن به LED، این جریان رو به جلو باید نظارت شود و توسط یک مقاومت محدود کننده خارجی به مقدار ایمن محدود شود.

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

نشانگر هفت بخش محبوبیت زیادی در بین آماتورهای رادیویی به دست آورده است زیرا استفاده از آن راحت است و درک آن آسان است.

در این درس با نمودارهای اتصال نشانگرهای LED هفت سگمنت به میکروکنترلرها و نحوه کنترل نشانگرها آشنا می شویم.

نشانگرهای LED هفت بخش یکی از محبوب ترین عناصر برای نمایش اطلاعات دیجیتال هستند.

ویژگی های زیر به این امر کمک می کند.

  • قیمت پایین. از نظر صفحه نمایش، هیچ چیز ارزان تر از نشانگرهای دیجیتال LED نیست.
  • تنوع در اندازه ها. کوچکترین و بزرگترین نشانگرها LED هستند. من نشانگرهای LED با ارتفاع رقم از 2.5 میلی متر تا 32 سانتی متر را می شناسم.
  • نوری در تاریکی. در برخی از کاربردها این ویژگی تقریبا تعیین کننده است.
  • رنگ های درخشندگی متفاوتی دارند. حتی دو رنگ هم هست.
  • جریان های کنترلی بسیار کم نشانگرهای LED مدرن را می توان بدون کلید اضافی به پین ​​های میکروکنترلر متصل کرد.
  • مناسب برای شرایط عملیاتی سخت (محدوده دما، رطوبت بالا، لرزش، محیط های تهاجمی و غیره). برای این کیفیت، نشانگرهای LED در میان انواع دیگر عناصر نمایشگر برابری ندارند.
  • عمر سرویس نامحدود.

انواع نشانگرهای LED.

نشانگر LED هفت بخش یک کاراکتر را با استفاده از هفت LED - بخش های رقمی نمایش می دهد. هشتمین LED نقطه اعشار را روشن می کند. بنابراین 8 بخش در یک شاخص هفت بخش وجود دارد.

بخش ها با حروف لاتین از "A" تا "H" مشخص می شوند.

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

نشانگر LED با آند مشترک.

نشانگر LED با کاتد مشترک.

کنترل ال ای دی استاتیک

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

محاسبه مقاومت ها مانند LED های جداگانه است.

R = ( عرضه U - بخش U) / قطعه I

برای این مدار: قطعه I = (5 - 1.5) / 1000 = 3.5 میلی آمپر

نشانگرهای LED مدرن حتی در جریان 1 میلی آمپر کاملاً روشن می درخشند. برای مداری با یک آند مشترک، بخش هایی روشن می شوند که در پایه های کنترلی که میکروکنترلر سطح پایینی تولید می کند.

در نمودار اتصال یک نشانگر با کاتد مشترک، قطبیت سیگنال های منبع تغذیه و کنترل تغییر می کند.

بخش روشن می شود، در پین کنترل که سطح بالایی (5 ولت) تولید می شود.

حالت Multiplexed برای کنترل نشانگرهای LED.

برای اتصال هر نشانگر هفت بخش به میکروکنترلر، هشت پین لازم است. اگر 3-4 شاخص (رقم) وجود داشته باشد، این کار عملا غیرممکن می شود. فقط پین های میکروکنترلر کافی وجود ندارد. در این مورد، نشانگرها را می توان در حالت مالتی پلکس، در حالت نشانگر پویا متصل کرد.

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

برای اتصال سه نشانگر، 11 پین مورد نیاز بود، و نه 24، مانند حالت کنترل استاتیک.

با صفحه نمایش پویا، تنها یک رقم در هر زمان روشن می شود. یک سیگنال سطح بالا (5 ولت) به پایه مشترک یکی از بیت ها ارائه می شود و سیگنال های سطح پایین برای آن سگمنت هایی که باید در این بیت روشن شوند به پایه های سگمنت ارسال می شود. پس از مدت زمان مشخصی، تخلیه بعدی روشن می شود. سطح بالایی به پایه مشترک آن اعمال می شود و سیگنال های وضعیت این بیت به پایه های سگمنت ارسال می شود. و به همین ترتیب برای همه ارقام در یک حلقه بی پایان. زمان چرخه را زمان بازسازی نشانگر می نامند. اگر زمان بازسازی به اندازه کافی کوتاه باشد، چشم انسان متوجه تغییر ترشحات نمی شود. به نظر می رسد که تمام ترشحات دائماً درخشان هستند. برای جلوگیری از سوسو زدن نشانگرها، اعتقاد بر این است که فرکانس چرخه بازسازی باید حداقل 70 هرتز باشد. من سعی می کنم حداقل از 100 هرتز استفاده کنم.

مدار نشانگر دینامیکی برای LED با کاتد مشترک به این صورت است.

قطبیت همه سیگنال ها تغییر می کند. اکنون یک سطح پایین به سیم مشترک تخلیه فعال اعمال می شود و یک سطح بالا به بخش هایی که باید روشن شوند اعمال می شود.

محاسبه عناصر نمایشگر دینامیک نشانگرهای دیود ساطع نور (LED).

محاسبه تا حدودی پیچیده تر از حالت استاتیک است. در طول محاسبه لازم است تعیین شود:

  • جریان متوسط ​​بخش ها؛
  • جریان پالس قطعات؛
  • مقاومت مقاومت قطعه؛
  • جریان پالس پایانه های مشترک تخلیه ها.

زیرا ارقام نشانگر به نوبه خود روشن می شوند، روشنایی درخشش جریان متوسط ​​را تعیین می کند. ما باید آن را بر اساس پارامترهای نشانگر و روشنایی مورد نیاز انتخاب کنیم. جریان متوسط ​​روشنایی نشانگر را در سطحی مطابق با کنترل استاتیک با همان جریان ثابت تعیین می کند.

بیایید یک جریان متوسط ​​قطعه 1 میلی آمپر را انتخاب کنیم.

حال بیایید جریان پالس قطعه را محاسبه کنیم. برای تامین جریان متوسط ​​مورد نیاز، جریان پالس باید N برابر بیشتر باشد. جایی که N تعداد ارقام نشانگر است.

قطعه می کنم بد = قطعه می کنم میانگین *ن

برای طرح ما بخش I. بد = 1 * 3 = 3 میلی آمپر.

مقاومت مقاومت هایی که جریان را محدود می کنند را محاسبه می کنیم.

R = ( عرضه U - بخش U) / قطعه I. بد

R = (5 - 1.5) / 0.003 = 1166 اهم

جریان های پالس پایانه های مشترک تخلیه ها را تعیین می کنیم. 8 قطعه می توانند به طور همزمان روشن شوند، به این معنی که باید جریان پالس یک قطعه را در 8 ضرب کنید.

من طبقه بندی imp. = قطعه می کنم بد * 8

برای مدار ما رده I imp. = 3 * 8 = 24 میلی آمپر.

  • ما مقاومت مقاومت را 1.1 کیلو اهم انتخاب می کنیم.
  • پین های میکروکنترلر کنترل سگمنت باید جریان حداقل 3 میلی آمپر را ارائه دهند.
  • پین های میکروکنترلر برای انتخاب رقم نشانگر باید حداقل 24 میلی آمپر جریان داشته باشند.

با چنین مقادیر فعلی، نشانگر را می توان مستقیماً بدون استفاده از کلیدهای اضافی به پین ​​های برد آردوینو متصل کرد. برای شاخص های روشن، چنین جریان هایی کاملاً کافی است.

طرح هایی با کلیدهای اضافی

اگر نشانگرها به جریان بیشتری نیاز دارند، لازم است از کلیدهای اضافی مخصوصاً برای سیگنال های انتخاب رقم استفاده شود. مجموع جریان تخلیه 8 برابر جریان یک قطعه است.

نمودار اتصال برای یک نشانگر LED با یک آند مشترک در حالت مالتی پلکس با سوئیچ های ترانزیستوری برای انتخاب دشارژ.

برای انتخاب یک بیت در این مدار، لازم است یک سیگنال سطح پایین تولید شود. کلید مربوطه باز می شود و برق را به تخلیه نشانگر می رساند.

نمودار اتصال برای یک نشانگر LED با یک کاتد مشترک در حالت مالتی پلکس با سوئیچ های ترانزیستوری برای انتخاب دشارژ.

برای انتخاب یک بیت در این مدار، لازم است یک سیگنال سطح بالا تولید شود. کلید مربوطه ترمینال تخلیه مشترک را به زمین باز و بسته می کند.

ممکن است مدارهایی وجود داشته باشد که در آنها استفاده از سوئیچ های ترانزیستوری برای هر دو بخش و پایه بیت مشترک ضروری باشد. چنین طرح هایی به راحتی از دو مورد قبلی سنتز می شوند. تمام مدارهای نشان داده شده زمانی استفاده می شوند که نشانگر با ولتاژی برابر با منبع تغذیه میکروکنترلر تغذیه شود.

کلیدهای نشانگرهایی با افزایش ولتاژ تغذیه.

نشانگرهای بزرگی وجود دارد که در آنها هر بخش شامل چندین LED است که به صورت سری به هم متصل شده اند. برای تغذیه چنین نشانگرها، منبعی با ولتاژ بیشتر از 5 ولت مورد نیاز است. سوئیچ ها باید سوئیچینگ ولتاژ افزایش یافته توسط سیگنال های سطح میکروکنترلر (معمولاً 5 ولت) را کنترل کنند.

مدار کلیدهایی که سیگنال های نشانگر را به زمین متصل می کنند بدون تغییر باقی می ماند. و سوئیچ های برق باید طبق یک طرح متفاوت، به عنوان مثال، مانند این ساخته شوند.

در این مدار، بیت فعال توسط سطح بالای سیگنال کنترل انتخاب می شود.

بین تغییر ارقام نشانگر، تمام بخش ها باید برای مدت کوتاهی (1-5 میکرو ثانیه) خاموش شوند. این زمان برای تکمیل فرآیندهای گذرا تعویض کلید ضروری است.

از نظر ساختاری، پین های تخلیه را می توان در یک مورد از یک نشانگر چند رقمی ترکیب کرد، یا یک نشانگر چند رقمی را می توان از نشانگرهای تک رقمی جداگانه جمع آوری کرد. علاوه بر این، می توانید یک نشانگر را از LED های جداگانه ترکیب کنید. این معمولاً زمانی انجام می شود که لازم باشد یک نشانگر بسیار بزرگ جمع آوری شود. تمام طرح های فوق برای چنین گزینه هایی معتبر خواهند بود.

در درس بعدی یک نشانگر LED هفت قسمتی را به برد آردوینو متصل می کنیم و یک کتابخانه برای کنترل آن می نویسیم.

دسته بندی: . می توانید آن را نشانه گذاری کنید.

یا دماسنج هایی با اعداد زیاد، یافتن نشانگرهای مناسب (مانند ALS) مشکل است و گاهی اوقات به اندازه ای نیاز دارید که در بازار موجود نباشد. برای انجام این کار، هر عنصر (بخش) از اعداد اغلب از چندین LED گرد معمولی مونتاژ می شود. ما یک نسخه پیشرفته تر و راحت تر از این راه حل را با استفاده از ریز مدار 74HC595 ارائه می دهیم. این پروژه منجر به علائمی به ارتفاع تقریباً 10 سانتی متر شد که می توانند در فواصل طولانی قابل مشاهده باشند. در صورت لزوم، تعداد زیادی ارقام را می توان به طور متوالی از طریق یک اتصال دهنده تخصصی به یکدیگر متصل کرد.

نمودار شماتیک

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

تراشه ULN2003 به تقویت جریان عبوری از LED ها کمک می کند. مقاومت های R1 - R8 برای LED ها محدود کننده جریان هستند که به صورت سری در مدار متصل می شوند.

روز خوب! پس از وقفه طولانی و اجباری من، به تسلط بر دوره برنامه نویسی آردوینو ادامه خواهیم داد. در یکی از درس های قبلی، ما قبلاً با دنباله ای از LED ها کار کرده بودیم، اکنون زمان آن است که به مرحله بعدی آموزش برویم. موضوع مقاله امروز یک اندیکاتور 7 قسمتی خواهد بود.

آشنایی با اندیکاتور 7 قسمتی شامل دو قسمت خواهد بود. در قسمت اول به طور خلاصه به مؤلفه نظری، کار با سخت افزار و نوشتن برنامه های ساده می پردازیم.

آخرین باری که ما با دنباله ای از 8 LED کار کردیم، امروز نیز 8 مورد از آنها وجود خواهد داشت (7 نوار LED و 1 نقطه). بر خلاف سکانس قبلی، عناصر این مجموعه در یک ردیف قرار نمی گیرند (یکی پس از دیگری)، بلکه به ترتیب خاصی چیده شده اند. به لطف این، تنها با استفاده از یک جزء می توانید 10 رقم (از 0 تا 9) را نمایش دهید.

تفاوت قابل توجه دیگری که این نشانگر را از LED های ساده متمایز می کند. دارای یک کاتد مشترک (یا بهتر است بگوییم، دو پایه 3 و 8 معادل که کاتد روی آنها متصل است). کافی است یکی از کاتدها را به زمین وصل کنید ( GND). تمام عناصر نشانگر دارای آند مجزا هستند.

یک انحراف کوچک. تمام موارد فوق برای اندیکاتورهای 7 قطعه ای با کاتد مشترک اعمال می شود. با این حال، شاخص هایی با یک آند مشترک وجود دارد. اتصال چنین شاخص هایی تفاوت های قابل توجهی دارد، بنابراین لطفا "گناهکار را با صالح" اشتباه نگیرید. شما باید به وضوح درک کنید که چه نوع دستگاه هفت سگمنت در دستان شماست!

علاوه بر تفاوت بین LED های ساده و نشانگرهای 7 قطعه، ویژگی های مشترکی نیز وجود دارد. به عنوان مثال: نشانگرها مانند LED ها را می توان در یک ردیف (به ترتیب) برای نمایش اعداد دو، سه، چهار رقمی (رقم) نصب کرد. با این حال، من به شما توصیه نمی کنم که خیلی نگران مونتاژ مجموعه های سگمنت خودتان باشید. در فروش نشانگرهای تک رقمی "کنار" نشانگرهای چند رقمی نیز فروخته می شود.

امیدوارم نیاز به استفاده از مقاومت های محدود کننده جریان هنگام اتصال LED ها را فراموش نکرده باشید. همین امر در مورد نشانگرها نیز صدق می کند: هر عنصر نشانگر باید مقاومت خود را متصل کند. 8 عنصر (7 + 1) - 8 مقاومت.

من یک واحد هفت قطعه ای با علامت 5161AS (کاتد مشترک) در دست داشتم. پینوت:



نمودار شماتیک

همانطور که قبلاً گفتم، برای روشن کردن قطعه "A"، زمین را به هر پایه مشترک (3 یا 8) وصل می کنیم و به پایه 7 برق 5 ولت می دهیم. اگر نشانگر دارای آند مشترک باشد، آند را 5 ولت و به خروجی سگمنت زمین می دهیم!

بیایید یک پایه تست جمع کنیم. سیم ها را به ترتیب وصل می کنیم و از پایه اول شروع می کنیم که به پین ​​دوم برد آردوینو می رود. زمین را به پایه 8 نشانگر وصل می کنیم.

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

برای بررسی نشانگر، برنامه نوشته شده را اجرا می کنیم. بیایید عنصر "A" را انتخاب کرده و آن را فلش کنیم.


حالا بیایید عدد 2 را فلش کنیم. برای این کار چند عنصر دیگر را روشن می کنیم.

برای خروجی یک رقمی، باید n-تعداد خطوط کد را بنویسید. سخت است، فکر نمی کنید؟

راه دیگری هم وجود دارد. برای نمایش هر عددی روی نشانگر، ابتدا باید آن را به صورت دنباله خاصی از بیت ها نشان داد.

جدول مکاتبات

اگر نمایشگر دارای آند مشترک باشد، باید 1 را با 0 و 0 را با 1 جایگزین کنید!

ستون هگز نمایشی از یک عدد به شکل بایت است (در قسمت دوم در این مورد با جزئیات بیشتر صحبت خواهیم کرد).

یک عدد در سیستم اعداد باینری به صورت زیر نوشته می شود: 0b00000000. 0b- سیستم دودویی. صفرها به این معنی است که همه LED ها خاموش هستند.

هنگام اتصال از پین های 2 تا 9 استفاده کردیم. برای روشن کردن پایه 2، یک را به آن بنویسید = 0b00000001.بیت چهارم از سمت راست مسئول نقطه است. آخرین بیت مربوط به خط وسط نشانگر است.

بیایید یک مثال برای خروجی عدد 0 بنویسیم.

برای کاهش تعداد خطوط تایپ شده، از یک حلقه استفاده می کنیم که به شما امکان می دهد تمام 8 بیت را "تکرار" کنید. متغیر Enable_segmentمقدار بیت در حال خواندن اختصاص داده می شود. پس از این، خروجی جریان به حالت مناسب تنظیم می شود ( وجود یا عدم وجود سیگنال).

نکته: تابع bitRead() وضعیت بیت مشخص شده را می خواند و مقدار حالت (0 یا 1) را برمی گرداند.bitRead (x, n)که در آن x عددی است که بیت های آن باید خوانده شوند. n تعداد بیتی است که حالت آن باید خوانده شود. شماره گذاری با کمترین معنی (راست ترین) بیت با شماره 0 شروع می شود.

و در پایان قسمت اول یک شمارنده کوچک می نویسیم.

در مقاله امروز ما در مورد شاخص های 7 بخش و نحوه "دوست شدن" با آردوینو صحبت خواهیم کرد. چندین گزینه وجود دارد. البته ساده ترین راه رفتن به آن است و یک نشانگر آماده با سپر یکپارچه بخرید (به این میگن کارت تطبیق) اما ما به دنبال راه های ساده ای نیستیم بنابراین مسیر کمی دشوارتر را در پیش خواهیم گرفت. مبتدیان - نگران نباشید، این مقاله، مانند مقالات قبلی من (و ) فقط برای شما. بگذارید گوروها برای همان گوروهای با تجربه بنویسند، و من مبتدی هستم - من برای مبتدیان می نویسم.

چرا اندیکاتور 7 قسمتی؟ به هر حال، صفحات بسیار متفاوتی وجود دارد، با تعداد زیادی کاراکتر، خطوط، مورب ها و وضوح های مختلف، سیاه و سفید و رنگی، که مقرون به صرفه ترین آنها چند دلار قیمت دارد... و اینجا: "قدیمی" یکی، بسیار ساده است، اما به تعداد زیادی پین نشانگر 7 قطعه نیاز دارد، اما هنوز هم این "پیرمرد" یک مزیت دارد. واقعیت این است که با استفاده از طرح های ارائه شده در اینجا می توانید نه تنها یک نشانگر با ارتفاع رقم 14 میلی متر، بلکه پروژه های جدی تر (البته خانگی) را احیا کنید و ارقام متر در این مورد از حد مجاز دور هستند. این ممکن است برای ساکنان پایتخت چندان جالب نباشد، اما اگر ساعتی در یک باشگاه یا شورای روستا ظاهر شود که بتواند تاریخ و دما را نیز نمایش دهد، جمعیت نووکاتساپتوکا یا نیژنیا کدروفکا بسیار خوشحال خواهند شد و در مورد خالق آن صحبت خواهند کرد. این ساعت برای مدت بسیار طولانی اما چنین ساعت هایی موضوع یک مقاله جداگانه است: بازدیدکنندگان می خواهند - من خواهم نوشت. هر آنچه در بالا نوشته شده است را می توان مقدمه دانست. مانند آخرین مقاله من، این مقاله شامل بخش هایی خواهد بود، این بار در دو بخش. در بخش اول ما به سادگی شاخص را "مدیریت" خواهیم کرد و در قسمت دوم سعی خواهیم کرد آن را برای چیزی حداقل کمی مفید تطبیق دهیم. پس ادامه می دهیم:

بخش اول. تجربی - آموزشی

اساس این پروژه ARDUINO UNO است که قبلاً از مقالات قبلی به خوبی برای ما شناخته شده است. به شما یادآوری می کنم که ساده ترین راه برای خرید آن در اینجا است:یا اینجا: علاوه بر این، به یک نشانگر 4 رقمی 7 قسمتی نیاز دارید. من به ویژه GNQ-5641BG-11 را دارم. چرا این یکی؟ بله، فقط به این دلیل که 5 سال پیش اشتباهاً آن را خریدم، تنبلی برای تعویضش داشتم، بنابراین تمام این مدت دراز کشیده بود و در بال ها منتظر بود. من فکر می کنم که هر کسی که یک آند مشترک دارد این کار را انجام می دهد (و با یک کاتد مشترک این امکان وجود دارد، اما شما باید داده های آرایه و سایر مقادیر پورت را معکوس کنید - یعنی آنها را به مقادیر مخالف تغییر دهید)، تا زمانی که آنقدر قدرتمند نیست که آردوینو را نسوزد. علاوه بر این، 4 مقاومت محدود کننده جریان، هر کدام تقریباً 100 اهم، و یک تکه کابل (10 سانتی متر برای من کافی بود) برای 12 پین (هسته) را می توان از یک عریض تر جدا کرد، کاری که من کردم. یا حتی می توانید آنها را با سیم های جداگانه لحیم کنید، مشکلی پیش نخواهد آمد. شما همچنین به پین ​​هایی برای تخته (11 قطعه) نیاز دارید، اگرچه اگر مراقب باشید می توانید بدون آنها کار کنید. طرحی از نشانگر را می توان در شکل 1 و نمودار آن را در شکل 2 مشاهده کرد. همچنین توجه می کنم که بهتر است به هر بخش از این نشانگر (محدود شده با مقاومت های 100 اهم) بیش از 2.1 ولت تامین نشود. در این حالت بیش از 20 میلی آمپر مصرف نخواهد کرد. اگر عدد "8" روشن شود، مصرف بیش از 7x20=140 میلی آمپر نخواهد بود که برای خروجی های آردوینو کاملا قابل قبول است. یک خواننده کنجکاو این سوال را می پرسد: "اما 4 تخلیه 140 میلی آمپری هر کدام در حال حاضر 4x140 = 560 میلی آمپر است و این در حال حاضر خیلی زیاد است!" من جواب می دهم - 140 باقی می ماند چطور؟ ادامه مطلب محل قرارگیری پین ها روی نشانگر در شکل 3 قابل مشاهده است و مطابق جدول 1 اتصال را انجام می دهیم.


برنج. 1 - طرح نشانگر


برنج. 2 - مدار نشانگر


برنج. 3 - محل پین

میز 1

Arduino Uno را پین کنید

پین نشانگر

توجه داشته باشید

بخش G

بخش F

بخش E

بخش D

بخش C

بخش B

بخش A

آند مشترک قطعه شماره 1، از طریق یک مقاومت 100 اهم متصل می شود.

آند مشترک قطعه شماره 2، از طریق یک مقاومت 100 اهم متصل می شود.

آند مشترک قطعه شماره 3، از طریق یک مقاومت 100 اهم متصل می شود.

آند مشترک قطعه شماره 6، از طریق یک مقاومت 100 اهم متصل می شود.



ما یک طرح ساده را پر می کنیم که یک "جدول شمارش" ساده از 0 تا 9 است:


حالا برای شفاف سازی DDRD یک رجیستر پورت D (DDRB - به ترتیب پورت B) است که در پشت کلمه "ترسناک" "رجیستر" فقط یک تابع "مخفی" وجود دارد که نشان می دهد آیا پورت چیزی را با پین خود می خواند (دریافت اطلاعات) یا vice. برعکس، امکان انجام کاری وجود دارد و سپس بنویسید (اطلاعات بدهید). در این حالت خط DDRD=B11111111; نشان می دهد که تمام پایه های پورت D خروجی هستند، یعنی. اطلاعات از آنها بیرون خواهد آمد. حرف "B" به این معنی است که یک عدد باینری در رجیستر نوشته می شود. یک خواننده بی حوصله بلافاصله می پرسد: "آیا اعشاری ممکن است!" من عجله می کنم تا به شما اطمینان دهم که امکان پذیر است، اما کمی بعد در مورد آن بیشتر توضیح می دهم. اگر بخواهیم نیمی از پورت را برای ورودی و نیمی را برای خروجی استفاده کنیم، می‌توانیم آن را به صورت زیر مشخص کنیم: DDRD=B11110000; یکی پین هایی را نشان می دهد که اطلاعات را ارائه می دهند و صفرها آنهایی را نشان می دهند که این اطلاعات را دریافت می کنند. راحتی اصلی رجیستر نیز در این واقعیت نهفته است که شما نیازی به ثبت تمام پین ها 8 بار ندارید، یعنی. ما 7 خط را در برنامه ذخیره می کنیم. حالا بیایید به خط زیر نگاه کنیم:

PORTB=B001000; // پایه 11 پورت B را بالا تنظیم کنید

PORTB ثبت داده پورت B است، یعنی. با نوشتن یک عدد در آن مشخص می کنیم که کدام پایه پورت یک و کدام یک صفر خواهد بود. علاوه بر کامنت بگم که اگه آردوینو Uno رو طوری بگیری که کنترلر رو ببینی و پین های دیجیتال بالایش هست، ورود به رجیستر مشخص میشه یعنی. کدام «صفر» (یا «یک») با کدام پین مطابقت دارد، یعنی. سمت راست ترین صفر پورت B برای هشتمین پایه و سمت چپ ترین صفر برای سیزدهمین (که دارای LED داخلی است) است. برای پورت D، به ترتیب، سمت راست برای پایه 0، سمت چپ برای پایه 7 است.
امیدوارم پس از چنین توضیحات مفصلی همه چیز روشن باشد، اما از آنجایی که واضح است، پیشنهاد می کنم به سیستم اعداد اعشاری که از دوران کودکی برای ما شناخته شده و محبوب بوده برگردیم. و یک چیز دیگر - یک طرح 25 خطی ممکن است کوچک به نظر برسد، اما برای یک مبتدی هنوز هم تا حدودی دست و پا گیر است. ما آن را کاهش می دهیم.

بیایید یک طرح ساده تر، همان «جدول شمارش» را پر کنیم:


ویدئو 1.
فقط 11 خط! این راه ما است، "راه تازه کار"! لطفا توجه داشته باشید که به جای اعداد باینری، اعداد اعشاری در رجیسترها نوشته می شوند. طبیعتاً برای اعداد اعشاری هیچ حرفی در جلو لازم نیست. من فکر می کنم که قرار دادن همه اعداد در جداول ضرری ندارد.

جدول 2. مطابقت کاراکتر نمایش داده شده با داده های پورت

آند مشترک

کاتد مشترک

سیستم دودویی

سیستم اعشاری

سیستم دودویی

سیستم اعشاری

جدول 3. مطابقت رقم نمایش داده شده با داده های پورت

آند مشترک

کاتد مشترک

سیستم دودویی

سیستم اعشاری

سیستم دودویی

سیستم اعشاری



توجه! داده های جداول 2 و 3 تنها زمانی معتبر هستند که مطابق جدول 1 سیم کشی شوند.
اکنون بیایید یک طرح با یک "جدول شمارش" از 0 تا 9999 بارگذاری کنیم:




برنج. 4 - جدول شمارش

می توانید این طرح را در عمل مشاهده کنیدویدئو 2.

نظرات در این طرح بیشتر از خود کد وجود دارد. هیچ سوالی نباید باشه... علاوه بر یک چیز، این چه نوع "چرخه سوسو زدن" است، در واقع چه چیزی آنجا سوسو میزند و چرا؟ و همچنین نوعی متغیر برای این وجود دارد ...
و کل نکته این است که بخش های همنام هر چهار دسته در یک نقطه به هم متصل هستند. A1، A2، A3 و A4 یک کاتد مشترک دارند. A1, B1,…..G1 آند مشترک. بنابراین، با اعمال همزمان "1234" در نشانگر 4 رقمی، "8888" را دریافت خواهیم کرد و از این موضوع بسیار شگفت زده خواهیم شد. برای جلوگیری از این اتفاق، ابتدا باید "1" را در دسته خود روشن کنید، سپس آن را خاموش کنید، "2" را در دسته خود روشن کنید و غیره. اگر این کار را خیلی سریع انجام دهید، سوسو زدن اعداد مانند فریم های یک فیلم با هم ادغام می شوند و چشم عملا متوجه آن نمی شود. و حداکثر مقدار متغیر سوسو زدن در این حالت سرعت تغییر اعداد را روی نشانگر کنترل می کند. به هر حال، به لطف این "سوسو زدن" است که حداکثر مصرف جریان به جای 560 تنها 140 میلی آمپر است. اکنون پیشنهاد می کنم به سراغ چیز مفیدتری بروید.

بخش دوم. حداقل کمی مفید است

در این قسمت با استفاده از ARDUINO MEGA کاراکترها را از یک کامپیوتر شخصی به یک نشانگر 7 قسمتی خروجی خواهیم داد. چرا ایده "تعویض اسب ها در گذرگاه" ناگهان بوجود آمد؟ دو دلیل وجود دارد: اول، من قبلا هرگز ARDUINO MEGA را در مقالات خود در نظر نگرفته بودم. و ثانیاً، در ARDUINO UNO من هنوز نفهمیدم که چگونه می توانم به صورت پویا پورت COM و پورت D را عوض کنم. اما من یک تازه کار هستم - می توانم مرا ببخشند. طبیعتاً می توانید این کنترلر را از اینجا خریداری کنید: . برای اجرای طرح مجبور شدم یک هویه بردارم و کابل را از سمت آردوینو دوباره لحیم کنم و همچنین یک طرح جدید بنویسم. نحوه لحیم شدن کابل را در شکل 5 می بینید. نکته اینجاست که ARDUINO MEGA و ARDUINO UNO دارای پورت های مختلف هستند و Mega پورت های بسیار بیشتری دارد. مطابقت پین های استفاده شده را می توان از جدول 4 مشاهده کرد.



برنج. 5 - سیم کشی کابل جدید

جدول 4

پورت مگا


توجه! این جدول فقط برای این پروژه معتبر است!

همچنین باید توجه داشته باشید که پورت C آردوینو مگا از پایه 37 و سپس به ترتیب نزولی شروع می شود و پورت A از پایه 22 و سپس به ترتیب صعودی شروع می شود.



برنج. 6 - نمای کلی



ویژگی های کوچک پیاده سازی: ما 4 کاراکتر خروجی خواهیم داد. کاراکترها باید اعداد باشند. اگر «1234» را وارد کردید و ما «1234» را خواهیم دید، اگر «123456» را وارد کردید، همچنان «1234»، اگر «ytsuk»، «fyva1234»، «otiog485909oapom» را وارد کردید - چیزی نخواهیم دید. اگر "pp2345mm" را وارد کنید، "23" را خواهیم دید. کوچک، ساخته شده در "ضد خطا".

طرح واقعی:



نحوه کار این برنامه را می توانید در اینجا ببینیدویدئو 3.



بررسی تهیه شده توسط پاول سرگئیف