فهرست مطالب:

Micro Binary Clock: 10 مرحله (همراه با تصاویر)
Micro Binary Clock: 10 مرحله (همراه با تصاویر)

تصویری: Micro Binary Clock: 10 مرحله (همراه با تصاویر)

تصویری: Micro Binary Clock: 10 مرحله (همراه با تصاویر)
تصویری: Lesson 10: Conditional Statement in Arduino and Using Array | SunFounder Robojax 2024, جولای
Anonim
Micro Binary Clock
Micro Binary Clock
ساعت دوتایی میکرو
ساعت دوتایی میکرو

پروژه های Tinkercad »

قبلاً یک Instructable (Binary DVM) ایجاد کرده اید که از منطقه نمایش محدود با استفاده از باینری استفاده می کند.

این تنها یک گام کوچک بود که قبلاً ماژول اصلی کد دهی به دودویی را برای ایجاد یک ساعت دودویی ایجاد کرده بود اما تنها چیزی که وجود نداشت RTC (ساعت زمان واقعی) بود.

با این حال ، Microbit ساخت RTC ندارد.

RTC امکان اجرای پروژه های ساعت با پشتیبان گیری باتری را فراهم می کند.

به این ترتیب پروژه زیر از Microbit و Kitronik RTC برای ایجاد ساعت 24 ساعته با صفحه نمایش دودویی استفاده می کند و علاوه بر این دارای گزینه زنگ خطر است.

نرم افزار پروژه ای که روی Microbit اجرا می شود در Makecode Blocks ایجاد می شود.

تدارکات:

MicroBit V1 یا V2

قاب محافظ MicroBit (اختیاری)

کد ساخت

Kitronik RTC

CR2032

بلوک های کد

کورا

چاپگر سه بعدی

سوئیچ 1 * SPDT (روشن - روشن)

سوئیچ 1 * SPDT (روشن - خاموش - روشن)

2 * SPST (معمولاً باز است) ، سوئیچ لحظه ای

4 * M3 (10+6 میلی متر) ، مقادیر M/F با مهره های M3

4 * M3 (8 میلی متر) ، پیچ

اتصال دهنده بلوز M/F ، 100 میلی متر ، 28AWG از پیش ساخته شده با دوشاخه و سوکت.

1 * Piezo Buzzer (بدون رانندگی)

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

مرحله 1: تعیین منطقه نمایش

تعیین ناحیه نمایش
تعیین ناحیه نمایش
تعیین ناحیه نمایش
تعیین ناحیه نمایش

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

بنابراین ، منطقه کافی برای نمایش کلمات دوتایی 4 * 4 بیتی برای نمایش زمان با اعلان ها و حالت های انتخاب وجود دارد.

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

زمان

شانزده LED به Time اختصاص داده شده است ، هر ستون از 4 LED به یک فاصله زمانی اختصاص داده شده است ، فواصل به شکل H ، H ، M & M است.

هر بیت از کلمه دودویی دارای وزن 1 ، 2 ، 4 و 8 با LSB در ردیف 4 و MSB در ردیف 1 است

هر کلمه 4 بیتی دودویی امکان شمارش 0 تا 15 را دارد که برای قالب زمان 24 ساعت بیش از حد کافی است و حداکثر تعداد در هر ستون 2 ، 9 ، 5 و 9 لازم است.

انتخاب

یک ردیف از 4 LED در ردیف 0 برای شناسایی ستون زمان انتخاب شده هنگام وارد کردن زمان استفاده می شود.

حالت ها

یک ستون از 5 LED در ستون 4 برای شناسایی حالت ها ، عملکردها و عملکرد استفاده می شود.

تیک - LED 4 ، 0 چشمک می زند و خاموش برای نشان دادن ثانیه ها و عملکرد استفاده می شود.

زمان - LED 4 ، 1 حالت زمان را هنگام روشن بودن نشان می دهد. (حالت پیش فرض هنگام روشن شدن)

زنگ هشدار - LED 4 ، 2 هنگام روشن بودن حالت هشدار را نشان می دهد.

هشدار هشدار - LED 4 ، 3 و LED 4 ، 4 هنگام فعال شدن زنگ هشدار چشمک می زند.

مرحله 2: RTC (ساعت زمان واقعی)

RTC (ساعت زمان واقعی)
RTC (ساعت زمان واقعی)
RTC (ساعت واقعی)
RTC (ساعت واقعی)
RTC (ساعت واقعی)
RTC (ساعت واقعی)
RTC (ساعت واقعی)
RTC (ساعت واقعی)

RTC قلب تپنده برنامه است که امکان تنظیم و نگهداری زمان دقیق را فراهم می کند.

جزئیات بیشتر RTC را می توانید در Kitronik بیابید.

RTC منبع تغذیه ای را کنترل می کند که نیازی به تغذیه Microbit توسط اتصال USB یا JST خود ندارد و پشتیبان گیری از باتری برای حفظ زمان در صورت قطع برق ارائه می شود.

قبل از استفاده از RTC باید بسته Extension را بارگیری کنید.

با استفاده از Makecode از نماد تنظیمات ، Extensions را انتخاب کرده و Kitronik RTC را در جستجو تایپ کنید.

بسته را برای نصب انتخاب کنید و به سایر برنامه های افزودنی اضافه می شود.

تعدادی بلوک کد برای خواندن و نوشتن در RTC وجود دارد.

ما فقط 4 مورد از این بلوک های کد را برای ساعت دودویی نیاز داریم.

از این موارد برای نوشتن زمان تنظیم شده به RTC و خواندن زمان برگشت برای به روز رسانی صفحه ساعت استفاده می شود.

مرحله 3: کدگذاری ساعت

کدگذاری ساعت
کدگذاری ساعت
برنامه نویسی ساعت
برنامه نویسی ساعت
برنامه نویسی ساعت
برنامه نویسی ساعت

قسمت اول کد ، راه اندازی اولیه متغیرها ، آرایه ها و متن آموزنده است.

شروع

Bclk - ساعت دودویی

<Sel - یک دکمه ستونی را انتخاب می کند که برای تنظیم زمان تنظیم می شود.

Inc - دکمه B زمان را افزایش می دهد.

با فشردن هر دو دکمه A & B حالت بین Time & Alarm تغییر می کند.

Strval - مقدار رشته حاوی زمان در فرم "HH: MM: SS" است که از RTC بازگردانده می شود.

فقط HH & MM برای نمایش یا تنظیم زمان استفاده می شود.

حالت - مقدار حالت را برای Time = 1 و Alarm = 2 که با ترکیب دکمه A+B انتخاب شده اند حفظ می کند.

دوره - مقدار ستون زمان است که با دکمه A انتخاب شده است.

0 = ستون 0 (H) ، 1 = ستون 1 (H) ، 2 = ستون 2 (M) ، 3 = ستون 3 (M)

Tick_en - فعال می کند = 1 یا غیرفعال می کند = 0 تیک (ثانیه) ، نشانگر.

Inc - ذخیره متوسط مقدار تنظیم زمان افزایشی.

Tm_list - مقدار هر ستون زمانی را هنگام تنظیم ذخیره می کند.

زنگ هشدار - نشانگر زنگ هشدار را فعال یا غیرفعال می کند.

برای همیشه تابع tick را فراخوانی می کند.

تیک زدن

عملکرد تیک که معمولاً فعال است ، یک LED متناوب روشن/خاموش را در گوشه بالا سمت راست نشان می دهد تا عملکرد و ثانیه ها را نشان دهد.

علاوه بر این ، تابع showtm را می خواند که RTC را می خواند و این را پردازش می کند تا به صورت باینری نمایش داده شود ، در حالی که alarm_mode را نیز فرا می خواند ، در صورت فعال بودن ، LED های اعلان هشدار را در گوشه سمت راست پایین نمایش می دهد.

نمایشگاه

تابع showtm ، فراخوانی rdtime و مقدار استفاده شده از این strval حاوی رشته زمان است.

یک حلقه ایجاد می شود که از طریق strval استخراج هر عدد واحد و نادیده گرفتن جدا کننده ":" افزایش می یابد.

سپس هر عدد به معادل دودویی خود با عملکرد dec2bin تبدیل شده و به ستون صحیح اختصاص داده می شود.

Rdtime

تابع rdtime ، 5 نویسه اول رشته را که از RTC برگشت (بدون توجه به بخش ثانیه) می خواند و آن را به strval منتقل می کند.

اگر زنگ هشدار تنظیم شده باشد (حالت = 2) ، مقادیر مجموعه زنگ هشدار با مقادیر بازگشتی RTC مقایسه می شود ، اگر تطبیقی وجود داشته باشد ، در صورت عدم وجود زنگ هشدار = 0 ، زنگ = 1.

Alarm_mode در صورت فعال بودن ، دو LED متناوب روشن/خاموش را در گوشه سمت راست پایین ستون 4 نمایش می دهد.

Dec2bin

تابع dec2bin یک عدد اعشاری را به دوتایی تبدیل می کند و آن را در ستون صحیح نمایش می دهد.

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

List2 آرایه ای است که کلمه دودویی 4 بیتی از فرایند تبدیل دودویی در آن ذخیره می شود.

یک حلقه شروع می شود که مقدار را بر 2 تقسیم می کند و باقی مانده در عنصر آرایه ذخیره می شود ، عدد صحیح بر 2 تقسیم می شود ، این کار تکرار می شود تا زمانی که مقدار عدد صحیح <= 1 باشد و این آخرین مقدار در آرایه قرار می گیرد.

بزرگترین مقدار اعشاری یک رقمی 9 است و در دوتایی این 1001 به عنوان یک کلمه 4 بیتی است.

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

سپس یک حلقه برای روشن کردن LED صحیح در ستون مناسب آغاز می شود ، این امر برای هر بار ایجاد یک در کلمه دودویی 4 بیتی انجام می شود.

رابط انسانی با دکمه ها انجام می شود.

دکمه A

این ستون را انتخاب می کند که مقدار زمان در آن وارد می شود و یک LED روشن بر روی ستون انتخاب شده در ردیف 4 نمایش می دهد.

پس از به روزرسانی تمام ستون های زمان ، افزایش انتخاب به ستون 5 متغیر زمان را به روز می کند.

اگر حالت = 1 باشد ، RTC به روز می شود ، در غیر این صورت زمان هشدار به روز می شود.

دکمه B

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

به منظور كاهش خطاها و صرفه جويي در زمان رسيدن به مقدار صحيح ، حداكثر مقداري كه مي توان در هر ستون وارد كرد بر اساس مقدار زمان براي يك سيستم زماني 24 ساعته محدود مي شود.

این حداکثر مقادیر در tm_max ، یک در هر ستون ذخیره می شوند و به طور خودکار بر اساس ستون زمان انتخاب می شوند.

حداکثر مقادیر H = 2 ، H = 9 ، M = 5 ، M = 9 است

مقدار افزایش در dec2bin به باینری تبدیل می شود و صفحه نمایش به روز می شود.

انتخاب حالت دکمه A+B

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

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

مرحله 4: عملیات

عمل
عمل
عمل
عمل
عمل
عمل

فایل Hex را در Microbit بارگیری کنید ، یک باتری CR2032 را در RTC قرار دهید.

Microbit را به RTC وصل کرده و برد RTC را از طریق USB یا پایانه های پیچ تغذیه کنید.

LED Tick شروع به چشمک زدن می کند و مدت کوتاهی پس از این زمان نمایش داده می شود.

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

انتخاب حالت

با فشردن دکمه های Selection (A) & Increment (B) دوچرخه سواری گزینه های حالت بین Time & Alarm را امکان پذیر می کند.

تنظیم زمان

تنظیم زمان در حالت 24 ساعته است.

از دکمه انتخاب (A) استفاده کنید ، برای حرکت LED در ردیف بالا ، این ستون را نشان می دهد که زمان را می توان تغییر داد. ستون های انتخاب با H ، H ، M & M مطابقت دارند.

جایی که H = ساعت و M = دقیقه.

پس از انتخاب یک ستون ، دکمه افزایش (b) را فشار دهید ، و بارها و بارها تعداد را در هر فشار یک بار افزایش دهید. شمارش ها به صورت دودویی نشان داده می شوند ، پس از همه آنها یک ساعت دودویی است.

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

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

توجه: *** هنگامی که زمان یا زنگ هشدار را تنظیم می کنید ، باید زمانی را در ستون انتخاب شده وارد کنید ، حتی اگر زمان موجود در ستون بدون تغییر باقی بماند ، زیرا رد شدن یک ستون زمان آن ستون را به صفر می رساند ****

این کار را تکرار کنید تا زمان استفاده از هر 4 ستون مشخص شود.

دکمه Selection را برای پنجمین بار فشار دهید تا به ستون پنجم منتقل شود و زمان تنظیم می شود.

تنظیم زنگ هشدار

تنظیم زمان زنگ هشدار دقیقاً همانند زمان انجام می شود.

به منظور فعال شدن زنگ هشدار در زمان مورد نیاز ، حالت را روی زنگ تنظیم کنید.

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

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

زمان هشدار در RTC ذخیره نمی شود ، بنابراین در صورت قطع برق نیاز به تنظیم مجدد دارد.

مرحله 5: جعبه را قرار دهید

جعبه آن
جعبه آن
جعبه آن
جعبه آن

این پروژه برای مشاهده ساعت در زاویه مناسب قرار می گیرد ، اما یک جعبه حس ماندگاری را اضافه می کند.

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

با این حال؛ علاوه بر این ، من می خواستم دکمه های Microbit را به همراه سایر کنترل ها و نشانگرها تکرار کنم.

به طور معمول ، برای شناسایی دکمه ها باید افسانه ها روی جعبه اعمال شوند.

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

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

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

من با استفاده از Tinkercad CodeBlocks "ترسیم شده با کد" را انتخاب کردم

فایل های مربوط به جعبه جعبه و جعبه پایه را می توانید در Tinkercad CodeBlocks پیدا کنید

مرحله 6: طراحی کد بلوک

طراحی کد بلوک
طراحی کد بلوک
طراحی کد بلوک
طراحی کد بلوک

جعبه دارای طرح دو قسمتی است که شامل پایه و درب می باشد.

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

درپوش دارای یک برش برای اتصال Microbit و کلیدهای مورد نیاز است ، علاوه بر این هر متنی مستقیماً روی درب چاپ می شود و سوراخ های پیچ با ستون های پایه تراز می شوند.

برد RTC توسط 4 ستون و 4 پیچ به قسمت زیر درپوش وصل می شود.

اندازه جعبه به همراه درپوش 70 * 105 * 31 میلی متر است

کد درپوش و پایه در TinkerCad CodeBlocks موجود است.

مرحله 7: چاپ سه بعدی

پرینت سه بعدی
پرینت سه بعدی
پرینت سه بعدی
پرینت سه بعدی
چاپ سه بعدی
چاپ سه بعدی
پرینت سه بعدی
پرینت سه بعدی

فایلها را در Cura بارگذاری کرده و تنظیمات برش دهنده دلخواه خود را اعمال کنید.

تنظیمات کاربردی

کیفیت: 0.15 میلی متر

پر کردن: 80، ، سه ضلعی

پایه: لبه

فایلهای خود را ذخیره کرده و سپس چاپ کنید.

با Cura می توانید هر دو فایل را با هم در یک منطقه چاپ بارگذاری کرده و یکجا چاپ کنید.

مرحله 8: پر کردن

پر کردن
پر کردن
پر کردن
پر کردن
پر کردن
پر کردن

درب جعبه با متن فرو رفته چاپ شده است که با رزین اپوکسی رنگی 2 قسمتی پر می شود.

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

رنگ انتخاب شده زرد برای تضاد با پس زمینه بود. سفید انتخاب دیگری بود.

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

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

بنابراین مطمئن شوید که قسمت پایینی نامه پوشانده شده است و آن را با سطحی کمی برجسته تکمیل کنید.

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

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

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

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

Microbit در دو جهت در سوکت قرار می گیرد و قسمت اصلی RTC رو به رو است.

اگر رو به قسمت اصلی RTC از اتصالات پیوندی نمی توان استفاده کرد ، اما اگر Microbit از قسمت اصلی برد دور است ، می توانیم از این اتصالات استفاده کنیم.

مونتاژ با لحیم کردن سرصفحه SIL زاویه راست روی RTC شروع می شود ، این امر به منظور ایجاد اتصالات با اتصالات فشار مناسب است.

RTC با 4 * M3 (10+6 میلی متر) ، اتصالات M/F با مهره های M3 که به درپوش با 4 * M3 (8 میلی متر) محکم شده اند ، پیچ در سوراخ های پیش ساخته نصب شده است.

سوئیچ ها در سوراخ های پیش ساخته درب نصب می شوند.

اتصالات مورد نیاز عبارتند از:

GND ، 3V ، P1 (مجموعه) ، P2 (هشدار) ، P5 (فروش) و P11 (شامل)

توجه *** مقاومت (1R) ، در نمودار P5 & P11 ، به سادگی نقاط اتصال مرجع هستند ، زیرا در حال حاضر اتصال مستقیم به این پین ها در Microbit در بلوک های کد موجود نیست. ***

P5 اتصال خارجی دکمه A است که توسط یک کلید لحظه ای SPST متصل می شود. یک اتصال به P5 و پین دیگر به GND متصل است ، این دکمه برای انتخاب ستون در هنگام تنظیم زمان است.

P11 اتصال خارجی دکمه B است که توسط یک سوئیچ لحظه ای SPST متصل می شود. یک اتصال به P11 و پین دیگر به GND متصل است دکمه او برای افزایش تعداد در هنگام تنظیم زمان است.

P1 یک سوئیچ SPDT (روشن) است که برای فعال یا غیرفعال کردن گزینه های تنظیم استفاده می شود. پین مرکزی به P1 می رود در حالی که یک پین از طریق یک مقاومت 10k به GND و دیگری به 3V متصل می شود. این باعث می شود که یک H (3V) و L (0V) روی این پین اعمال شود. وقتی P1 به 3 ولت متصل است ، این گزینه تنظیمات زمان را فعال می کند و زمانی که 0V تنظیم زمان را غیرفعال می کند. در نتیجه کنترل اینکه آیا دکمه های A & B تاثیری دارند یا خیر.

P2 یک سوئیچ SPDT (روشن و خاموش) است که برای فعال یا غیرفعال کردن صدای هشدار دهنده و چراغ های خارجی اختیاری استفاده می شود.

صدای هشدار دهنده یک Piezo Buzzer است (به سادگی با یک پد چسبنده دو طرفه چسبانده می شود) ، که نیاز به درایو پالس دارد که توسط Microbit ارائه می شود.

مرحله 10: در نهایت

شما عناصر موجود در جعبه را مونتاژ کرده اید ، Microbit را برنامه ریزی کرده و آن را در سوکت روی جعبه نصب کرده اید.

سپس قدرت را اعمال کرده و زمان را تنظیم کنید.

لذت بردن.

مسابقه کد بلوک
مسابقه کد بلوک
مسابقه کد بلوک
مسابقه کد بلوک

نفر دوم در مسابقه کد بلوک

توصیه شده: