فهرست مطالب:

ساعت ماتریس LED کوچک: 8 مرحله
ساعت ماتریس LED کوچک: 8 مرحله

تصویری: ساعت ماتریس LED کوچک: 8 مرحله

تصویری: ساعت ماتریس LED کوچک: 8 مرحله
تصویری: آموزش ساخت باتری 12ولت 10 آمپر لیتیومی. #آموزش #like #1401 #led #اتصال #باتری #پول 2024, جولای
Anonim
Image
Image
ساعت ماتریس LED کوچک
ساعت ماتریس LED کوچک
ساعت مچی ماتریس LED کوچک
ساعت مچی ماتریس LED کوچک
ساعت ماتریس LED کوچک
ساعت ماتریس LED کوچک

من همیشه می خواستم یک ساعت رومیزی قدیمی داشته باشم که شبیه به فیلم های دهه 90 است ، با عملکردی بسیار فروتنانه: ساعت بلادرنگ ، تاریخ ، تغییر نور پس زمینه ، بیپر و گزینه زنگ ساعت. بنابراین ، من با ساختن یکی از این ایده ها روبرو شدم: یک دستگاه دیجیتالی ، مبتنی بر میکروکنترلر با تمام ویژگی هایی که در بالا ذکر کردم ، و از طریق USB - یا رایانه یا هر شارژر USB تلفن همراه. از آنجا که می خواستم آن را با برنامه ها و تنظیمات منوها برنامه ریزی کنم ، قرار دادن MCU در این پروژه اجتناب ناپذیر بود. IC ATMEGA328P (که هر برد آردوینو Uno از آن تشکیل شده است) به عنوان "مغز" مدار انتخاب شد (صحبت از آن ، من فقط تعداد زیادی از آنها را داشتم). ترکیب برخی از قطعات الکترونیکی به عنوان LED RGB ، تراشه زمان سنج شارژ و دکمه های فشار ، باعث ایجاد کل پروژه شد-ساعت رومیزی صفحه نمایش LED با اندازه کوچک قابل برنامه ریزی.

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

مرحله 1: ایده

ایده
ایده

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

بیایید نمودار بلوک عملکرد دستگاه را بر اساس قطعات شرح دهیم:

1. واحد منبع تغذیه:

از آنجا که دستگاه روی 5 ولت DC کار می کند ، منبع تغذیه شامل دو مدار جداگانه است:

  • ورودی میکرو USB - برای شارژر مستقیم / منبع تغذیه کامپیوتر.
  • مدار تنظیم کننده ولتاژ خطی 5V بر اساس IC LM7805.

مدار IC LM7805 اختیاری است ، مگر اینکه ترجیح دهید پیاده سازی منبع تغذیه متفاوت را اجرا کنید. در دستگاه ما ، از PSU Micro-USB استفاده می شود.

2. واحد میکروکنترلر:

میکروکنترلر ATMEGA328P ، به عنوان "مغز" کل دستگاه عمل می کند. هدف آن برقراری ارتباط با تمام مدارات جانبی ، ارائه داده های مورد نیاز و کنترل رابط کاربری دستگاه است. از آنجا که میکروکنترلر انتخابی ATMEGA328P است ، ما به Atmel Studio و دانش اولیه C نیاز داریم (نمودارها و توالی برنامه نویسی در مراحل بعدی توضیح داده شده است).

3. مدار ساعت واقعی زمان:

دومین مدار مهم در دستگاه. هدف آن ارائه داده های تاریخ و زمان ، بدون نیاز به ذخیره آن ، بدون وابستگی به اتصال برق ورودی است ، یعنی داده های زمان در حالت زمان واقعی به روز می شوند. به منظور این که جزء RTC بتواند تغییر داده های زمان و تاریخ را ادامه دهد ، باتری سلولی 3 ولت به مدار اضافه می شود. IC DS1302 است ، عملکرد آن در مراحل بعدی شرح داده شده است.

4. رابط ورودی - کلیدهای فشار دکمه:

سوئیچ های ورودی PB رابط ورودی را برای کاربر فراهم می کند. این سوئیچ ها در برنامه تعریف شده MCU و دستگاه کنترل پردازش می شوند.

5. صفحه نمایش ماتریس LED

صفحه نمایش دستگاه شامل دو ماتریس LED الفبایی HCMS-2902 پیچیده با IC است که هر IC دارای 4 کاراکتر از ماتریس LED کوچک 5x7 است. استفاده از این نمایشگرها ساده است ، ارتباطات 3 سیم پشتیبانی می شود و اندازه کوچکی دارد-هر آنچه در این پروژه نیاز داریم.

6. نور پس زمینه RGB:

نور پس زمینه تغییر رنگ بر اساس LED RGB خارجی است که توسط سیگنالهای PWM از MCU کنترل می شود. در این پروژه ، RGB LED دارای 4 پایه است: R ، G ، B و معمولی ، جایی که پالت رنگ R ، G ، B از طریق PWM توسط MCU کنترل می شود.

7. زنگ:

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

مرحله 2: قطعات و ابزارها

قطعات و ابزار
قطعات و ابزار

I. الکترونیک:

A. اجزای یکپارچه و فعال:

  • 1 x ATMEGA328P - MCU
  • 2 x HCMS2902 - نمایش AVAGO
  • 1 x DS1302 - RTC
  • 1 x 2N2222A - BJT (NPN)

ب. اجزای منفعل:

  • مقاومت ها:

    • 5 x 10K
    • 1 x 180R
    • 2 x 100R
  • خازن ها:

    • 3 x 0.1uF
    • 1 x 0.47uF
    • 1 x 100uF
    • 2 x 22pF
  • LED 1 x 4 پین RGB
  • 1 زنگ
  • 1 x 32.768 کیلوهرتز کریستال

C. اتصالات:

  • 1 عدد کانکتور میکرو USB
  • کانکتور 2 x 6 پین استاندارد (100 میلی لیتر).
  • اتصال 2 * 4 پین استاندارد (100 میلی لیتر).
  • 1 عدد کیف باتری سکه ای

D. متفرقه:

  • 3 عدد کلید SPST Push-Button
  • 1 عدد باتری سکه 3 ولت 3 ولت

E. PSU اختیاری:

  • 1 x LM7805 - تنظیم کننده خطی
  • 2 x 0.1uF درپوش
  • کلاه 2 x 100uF

II مکانیکی:

  • 1 عدد محفظه پلاستیکی
  • 4 ضمیمه لاستیکی
  • 1 عدد نمونه لحیم کاری
  • 1 سربرگ MCU (در صورت خرابی میکروکنترلر)
  • 2 عدد پیچ و مهره کوچک 8 میلی متری
  • واشر 2 x 8 میلی متر

سوم ابزار و مواد:

  • سیم های لحیم کاری
  • لوله های جمع کننده
  • قلع لحیم کاری
  • آهن لحیم کاری
  • کاتر
  • پلان
  • موچین
  • مته
  • فایل کوچک
  • پیچ گوشتی های مختلف
  • کولیس
  • مولتی متر
  • تخته نان (اختیاری)
  • کابل میکرو USB
  • فایل متوسط
  • چسب حرارتی تفنگی
  • برنامه نویس AVR ISP

IV برنامه نويسي:

  • Atmel Studio 6.3 یا 7.0.
  • ProgISP یا AVRDude
  • Microsoft Excel (برای ایجاد کاراکترهای نمایش)

مرحله 3: توضیحات شماتیک

توضیحات شماتیک
توضیحات شماتیک

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

A. هیئت مدیره اجزای اصلی:

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

1. مدار میکروکنترلر:

MCU که در این پروژه استفاده می شود ATMEGA328P است. از منبع تغذیه خارجی 5 ولت تغذیه می کند ، در این حالت - اتصال USB micro. همه پین های ورودی/خروجی مناسب با توجه به الزامات طراحی به هم متصل می شوند. درک نقشه های ورودی/خروجی آسان است ، زیرا همه نامهای شبکه دقیقاً همانطور که در مرحله برنامه نویسی استفاده می شود ، تعریف شده است. MCU دارای مدار تنظیم مجدد RC ساده است که برای توالی برنامه نویسی و راه اندازی توان استفاده می شود.

بخش مهم MCU مدارهای برنامه نویسی است. یک کانکتور برنامه نویسی 6 پین وجود دارد - J5 ، مطمئن شوید که شبکه های VCC ، GND و RESET در برنامه نویس ISP خارجی و برد اجزای اصلی مشترک هستند.

2. مدار ساعت واقعی:

مدار بعدی ، بخش اصلی محیطی پروژه است. DS1302 یک IC زمان سنج بار شارژ است که مقادیر زمان و تاریخ پردازش شده را به واحد پردازش ما ارائه می دهد. DS1302 با MCU از طریق رابط 3 سیم ، مشابه ارتباط 3 سیم SPI ، در خطوط زیر ارتباط برقرار می کند:

  • RTC_SCK (خروجی): رانندگی و نمونه برداری از داده های منتقل شده در خط SDO را انجام می دهد.
  • RTC_SDO (I/O): خط رانندگی داده. هنگام دریافت داده های زمان/تاریخ و خروجی هنگام انتقال داده ها به عنوان ورودی به MCU عمل می کند (برای توضیحات بیشتر به مراحل برنامه نویسی مراجعه کنید).
  • RTC_CE: (خروجی): خط فعال سازی انتقال داده. وقتی توسط MCU HIGH تنظیم شود ، داده ها آماده انتقال/دریافت هستند.

DS1302 برای رفتار مدار مناسب به یک نوسان ساز بیرونی 32.768KHz نیاز دارد. به منظور جلوگیری از رانش زیاد در سیستم شمارش مدار (پدیده رانش در این نوع مدارهای مجتمع اجتناب ناپذیر است) ، لازم است دو خازن کالیبراسیون روی هر پین کریستال قرار دهید (در نمودارها به قسمتهای X1 ، C8 و C9 مراجعه کنید). 22pF مقادیر مطلوب پس از آزمایشهای فراوان با اندازه گیری زمان در این پروژه بود ، بنابراین ، هنگامی که می خواهید مدار را به طور کلی لحیم کنید ، مطمئن شوید که گزینه ای برای جایگزینی این خازنها با مقادیر دیگر وجود دارد. اما 22pF برای تخته های کوچک بسیار خوب برای رانش بسیار کوچک (7 ثانیه در ماه) کار می کرد.

آخرین و مهمترین جزء این مدار-باتری سلولی 3 ولت باید روی برد قرار گیرد تا بتواند انرژی کافی به IC DS1302 ارائه دهد تا بتواند به عملیات شمارش زمان خود ادامه دهد.

4. ماتریس LED 8 کاراکتر:

صفحه نمایش دستگاه بر اساس IC های صفحه نمایش ماتریس LED 2 * 4 کاراکتر ، برنامه ریزی شده از طریق رابط 3 سیم ، مشابه DS1302 مدار RTC ، با یک تفاوت واحد ، که خط ارائه داده (SDI) به عنوان خروجی MCU تعریف می شود (مگر اینکه بخواهید اضافه کنید قابلیت بررسی وضعیت مدار نمایشگر شما). نمایشگرها در یک سری سری 3-Wire ترکیب شده اند ، بنابراین هر دو IC به عنوان یک دستگاه نمایشگر واحد عمل می کنند ، جایی که امکان برنامه ریزی آن برای همه تعریف کاراکترهای صفحه نمایش وجود دارد (ترکیب سری SPI را ببینید). همه نامهای خالص مدار ، با اتصالات مناسب MCU مطابقت دارند - توجه داشته باشید که شبکه های متداولی وجود دارد که ارتباط بین نمایشگرها را برقرار می کند و thefe نیازی به اتصال هر دو رابط رابط نمایشگر به MCU ندارد. برنامه نویسی و دنباله سازی شخصیت در مراحل بعدی تعریف شده است. مدار رابط کاربر:

رابط کاربری به دو زیر گروه تقسیم می شود-سیستم های ورودی و خروجی: سیستم ورودی: دستگاه خود ورودی را تعریف کرده است که به عنوان سه سوئیچ دکمه SPST با مقاومت های کششی اضافی تعریف شده است تا منطق تعریف شده را به صورت HIGH یا LOW به پایین هدایت کند. MCU این سوئیچ ها سیستم کنترل کل الگوریتم برنامه ریزی شده را ارائه می دهند ، زیرا نیاز به تنظیم مقادیر زمان/تاریخ ، کنترل منو و غیره است.

6. سیستم خروجی:

A. Buzzer circuit خروجی صدا را در هر دو حالت ، تغییر منو با تشخیص صدا و الگوریتم زنگ فراهم می کند. ترانزیستور NPN به عنوان یک سوئیچ مورد استفاده قرار می گیرد و جریان کافی را برای زنگ ایجاد می کند و باعث می شود تا در یک زمان مناسب به نظر برسد. Buzzer مستقیماً توسط نرم افزار MCU کنترل می شود. B. RGB LED به عنوان بخشی از نور پس زمینه دستگاه استفاده می شود. به طور مستقیم توسط MCU کنترل می شود ، با چهار گزینه برای انتخاب نور پس زمینه: حالت قرمز ، سبز ، آبی ، PWM یا OFF. توجه داشته باشید که مقاومتهایی که به صورت پیوسته به پایه های LED R ، G و B متصل می شوند دارای مقادیر متفاوتی هستند ، زیرا هر رنگ شدت متفاوتی در جریان ثابت دارد. برای LEDS سبز و آبی ویژگی های مشابهی وجود دارد ، هنگامی که رنگ قرمز کمی بیشتر است. بنابراین LED قرمز به مقدار مقاومت بیشتر متصل می شود - در این مورد: 180 اهم (توضیح RGB LED را ببینید).7. اتصالات:

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

مرحله 4: لحیم کاری

لحیم کاری
لحیم کاری
لحیم کاری
لحیم کاری
لحیم کاری
لحیم کاری

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

1. اتصال MCU و برنامه نویسی: توصیه می شود به جای MCU هدر 28 پین را لحیم کنید تا در صورت خرابی بتوانید IC IC MCU را جایگزین کنید. مطمئن شوید که دستگاه قابلیت برنامه ریزی و روشن شدن را دارد. توصیه می شود برچسب توصیف پین را روی اتصال برنامه نویسی قرار دهید (تصویر سوم را ببینید).

2. مدار RTC: پس از لحیم کاری تمام قطعات مورد نیاز ، مطمئن شوید که خازن های کالیبراسیون به راحتی قابل تعویض هستند. اگر می خواهید از جعبه باتری سکه 3 ولت استفاده کنید - مطمئن شوید که با ابعاد محفظه دستگاه مطابقت دارد.

3. صفحه نمایش: دو IC صفحه نمایش باید روی برد جداگانه کوچک (تصویر 1) لحیم شوند. پس از لحیم کاری تمام شبکه های مورد نیاز ، باید سیم های خارج از صفحه آماده کنید (تصویر 4): این سیم ها را باید لحیم کرده و در کنار صفحه نمایش قرار دهید ، توجه داشته باشید که کشش و فشار مکانیکی روی سیم ها اعمال نمی شود. روی اتصالات لحیم کاری روی صفحه نمایش تأثیر می گذارد.

4. بر روی سیمهای مرحله قبل ، برچسب های برچسب باید نصب شوند - این امر باعث می شود که مراحل مونتاژ در مرحله بعدی بسیار ساده تر شود. مرحله اختیاری: به هر سیم یک کانکتور تک پین مردانه (به سبک آردوینو) اضافه کنید.

5. اتصالات باقی مانده را روی برد اصلی ، از جمله اجزای جانبی ، لحیم کنید. یکبار دیگر ، توصیه می شود برچسب هایی با توضیحات پین برای هر اتصال دهنده قرار دهید.

6. مدار زنگ: زنگ در داخل دستگاه قرار دارد ، بنابراین باید روی صفحه اصلی لحیم شود ، نیازی به اتصال دهنده نیست.

7. LED RGB: به منظور صرفه جویی در فضای صفحه اصلی ، من مقاومت های سری را روی پین های LED لحیم کرده ام ، جایی که هر مقاومت با رنگ مطابقت خود و پین MCU مناسب مطابقت دارد (تصویر 5).

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

مونتاژ کردن
مونتاژ کردن
مونتاژ کردن
مونتاژ کردن
مونتاژ کردن
مونتاژ کردن

این مرحله ظاهر پروژه - الکتریکی و مکانیکی را مشخص می کند. اگر تمام نکات توصیه شده در نظر گرفته شود ، اجرای مونتاژ بسیار آسان می شود. دنباله گام به گام زیر اطلاعات کامل فرایند را ارائه می دهد:

قسمت A: محوطه

با توجه به قطر دستگیره دکمه (در این حالت 3 میلی متر) سه سوراخ ایجاد کنید.2. یک سوراخ مخصوص زنگ را در کنار محفظه ایجاد کنید. هر قطر مته مته مورد نظر را می توان استفاده کرد. سوراخ کوچکی را به عنوان پایه ای برای سنگ زنی با توجه به اتصال USB که باید استفاده کنید ، ایجاد کنید (در این مورد میکرو USB). پس از آن ، برای مطابقت با ابعاد کانکتور ، سنگ زنی را با فایل کوچک انجام دهید. سوراخ نسبتاً بزرگی را به عنوان پایه ای برای سنگ زنی ایجاد کنید. با توجه به ابعاد صفحه ، با یک فایل متوسط سنگ زنی را انجام دهید. اطمینان حاصل کنید که IC های صفحه نمایش در قسمت بیرونی محفظه وجود دارد. با توجه به قطر LED RGB ، سوراخی با اندازه متوسط در پایین دستگاه ایجاد کنید. قسمت B - پیوست ها:

1. دو سیم را به هر یک از سه دکمه (GND و سیگنال) لحیم کنید. برچسب های برچسب و اتصالات تک پین روی سیم ها توصیه می شود. چهار سیم آماده شده را به پایه های LED RGB وصل کنید. برچسب های برچسب و لوله های کوچک کننده را روی اتصالات لحیم کاری قرار دهید. چهار پایه لاستیکی را در پایین دستگاه وصل کنید. قسمت C - اتصال قطعات:

1. LED RGB را در پایین محفظه قرار دهید ، آن را به کانکتور اختصاصی روی برد اصلی وصل کنید. آن را با چسب حرارتی وصل کنید.2. سه سوئیچ را فشار دهید ، آنها را به کانکتور اختصاصی روی صفحه اصلی وصل کنید ، آنها را با چسب حرارتی وصل کنید. اتصال USB را قرار دهید ، آن را به پین های منبع تغذیه اتصال برنامه نویسی (VCC و GND) وصل کنید. مطمئن شوید که قطبیت خطوط تغذیه با قطعات لحیم شده مطابقت دارد. آن را با چسب حرارتی وصل کنید.4. صفحه نمایش را قرار دهید ، آن را به کانکتور اختصاصی وصل کنید. آن را با چسب داغ وصل کنید. توجه:

1. توصیه می شود که جفت پیچ و مهره را به محفظه اصلی و پوشش بالا اضافه کنید (همانطور که در این مورد نشان داده شده است).2. به منظور جلوگیری از خرابی سیم ها ، آنها را با ظاهر خود در داخل محوطه در نظر بگیرید.

مرحله ششم: مقدمه برنامه نویسی مختصر

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

پس از لحیم کاری تمام قطعات ، توصیه می شود قبل از اقدام به مرحله مونتاژ نهایی ، آزمایش اولیه دستگاه را انجام دهید. کد MCU به زبان C نوشته شده است و ATMEGA328P از طریق هر برنامه نویس ISP برنامه ریزی شده است (انواع مختلفی از دستگاه های برنامه نویسی Atmel وجود دارد: AVR MKII AVR DRAGON و غیره. محیط برنامه نویسی باید Atmel Studio 4 و بالاتر باشد (من جدیدترین نسخه های نرم افزار را به شدت توصیه می کنم). اگر از برنامه نویس خارجی غیر Atmel Studio استفاده می شود ، باید مسیر فایل hex را به نرم افزار برنامه نویسی (معمولاً در پوشه اشکال زدایی یا انتشار پروژه) قرار دهید. اطمینان حاصل کنید که قبل از ادامه مرحله مونتاژ ، دستگاه را می توان برنامه ریزی کرد و هرگونه پروژه ساخت و تدوین پروژه اختصاصی AVR مبتنی بر میکروکنترلر ATMEGA328P است (به آموزش آتلیه استودیو مراجعه کنید).

مرحله 7: توضیحات کد

توضیحات کد
توضیحات کد
توضیحات کد
توضیحات کد

الگوریتم کد Decice در دو لایه نیمه مجزا لایه بندی شده است: 1. لایه اصلی: ارتباط با مدارهای جانبی ، تعریف عملیات دستگاه ، مقداردهی اولیه و اعلانات جزء. لایه رابط: تعامل کاربر و دستگاه ، عملکرد منو ، تنظیم ساعت/زنگ/رنگ/زنگ هشدار. ترتیب برنامه در تصویر توضیح داده شده است. 1 ، جایی که هر بلوک مربوط به حالت MCU است. برنامه توصیف شده به عنوان "سیستم عامل اصلی" عمل می کند که رابط بین سخت افزار و دنیای خارج را فراهم می کند. توضیحات زیر عملکرد اصلی برنامه را بر اساس بخش ها توضیح می دهد: قسمت A: لایه اصلی:

1. MCU I/O Initialization: اول از همه ، نیاز به مقداردهی اولیه اجزای سخت افزاری است:- ثابت های مورد استفاده کد.- پورت های ورودی/خروجی- رابط.- اعلامیه های ارتباطی جانبی.

2. عملکردهای عمومی عمومی: برخی از توابع توسط بلوک های کد جداگانه استفاده می شوند ، عملیات را در پین هایی که توسط نرم افزار کنترل می شوند ، استفاده می کنند:- فعال یا غیرفعال کردن RTC و ارتباط صفحه نمایش.- روشن/خاموش کردن صدای زنگ.- ساعت 3 سیم بالا/Clock down توابع.- نمایش توابع ایجاد کاراکتر. راه اندازی اولیه: پس از پیکربندی پورت های ورودی/خروجی ، ارتباط بین توابع مدار انجام می شود. پس از اتمام - MCU با استفاده از توابعی که در بالا تعریف شد ، مقداردهی اولیه RTC و مدارهای نمایش را آغاز می کند.

4. تعریف توابع اصلی: در این مرحله ، دستگاه تنظیم شده و آماده انجام ارتباطات با برخی از مدارهای جانبی است. این توابع عبارتند از:- تغییر کلید کنترل- عملکرد LED RGB (به ویژه PWM)- ژنراتور موج مربعی زنگ

5. توابع نمایش: من در اینترنت چیزهای زیادی در مورد IC های HSMS که استفاده کردم پیدا نکردم ، بنابراین کتابخانه آن را خودم نوشتم. توابع نمایش عملکرد کامل نمایش کاراکتر ، از جمله نمایش کاراکترهای ASCII و هر عدد صحیح را ارائه می دهند. توابع به صورت کلی نوشته می شوند ، بنابراین در صورت نیاز به فراخوانی توابع نمایشگر از هر قسمتی از کد ، استفاده از آنها آسان است زیرا آنها با عمل تعمیم داده می شوند (به عنوان مثال: صفحه نمایش رشته ، نمایش تک کاراکتر و غیره).

6. توابع عملکرد RTC: همه توابع RTC به صورت کلی (مشابه عملکردهای نمایش داده شده) مطابق عملکرد IC DS1302 نوشته می شوند. کد بر اساس کتابخانه نوشته شده است ، که در انواع مختلف در gitHub موجود است. همانطور که در کد نهایی مشاهده خواهید کرد ، مجموعه توابع display و RTC در فایل های جداگانه.c و.h گنجانده شده است. قسمت B - لایه رابط:

1. تابع اصلی: در قسمت void main () ، اعلان تمام توابع اولیه سازی اولیه وجود دارد. درست پس از راه اندازی همه اجزا ، MCU وارد حلقه بی نهایت می شود ، جایی که عملکرد دستگاه توسط کاربر کنترل می شود.

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

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

4تغییر منوی کاربر: هنگامی که ورودی کاربر ارائه می شود ، حالت منو باید حالت خود را تغییر دهد. بنابراین ، این توابع کنترل وابسته به کاربر را بر روی یک ماشین حالت ارائه می دهند. در این مورد خاص: بعدی ، قبلی و OK.

مرحله 8: کد نهایی و فایلهای مفید

و بس! در این مرحله ، می توانید تمام فایل های مورد نیاز خود را بیابید:- شماتیک الکتریکی- کد منبع کامل- نمایش شخصیت سازنده ویژگی اختیاری: انواع مختلفی از کاراکترها برای نمایش در کتابخانه ICs صفحه نمایش موجود است ، اما برخی شامل نمی شوند به اگر می خواهید کاراکترها را خودتان بسازید ، حالت مورد را با یک مرجع ASCII در عملکرد Print_Character ('') اضافه کنید (به توابع display.c مراجعه کنید). امیدوارم این دستورالعمل برای شما مفید واقع شود:) ممنون که خواندید!

توصیه شده: