فهرست مطالب:

سطح روح الکتریکی ایجاد کنید: 15 قدم
سطح روح الکتریکی ایجاد کنید: 15 قدم

تصویری: سطح روح الکتریکی ایجاد کنید: 15 قدم

تصویری: سطح روح الکتریکی ایجاد کنید: 15 قدم
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, جولای
Anonim
ایجاد سطح روح الکتریکی
ایجاد سطح روح الکتریکی

از این سطح روح استفاده کنید تا به راحتی و به راحتی شیب هر شیء متصل شده را نمایش دهید!

ایجاد شده توسط Kaitlyn از موسسه Raffles.

مرحله 1: اهداف

یاد بگیرید که شیب را با شتاب سنج داخلی micro: bit بخوانید.

کار با میکرو: نمایشگر LED 5x5 بیت را بیاموزید!

مرحله 2: مواد

1 عدد میکرو بی بی سی: بیت

1 عدد کابل میکرو USB

2 عدد باتری AA

1 عدد دو عدد باتری AA

مرحله 3: پیش کدگذاری: Micro: Bit خود را وصل کنید

  1. میکرو بی بی سی: بیت را با استفاده از کابل میکرو USB به رایانه خود وصل کنید.
  2. به ویرایشگر جاوا اسکریپت برای micro: bit در makecode.microbit.org دسترسی پیدا کنید.

مرحله 4: مرحله 0: کد جریان

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

برای سطح روح الکتریکی ، مراحلی که در کد برای هر حلقه انجام خواهیم داد عبارتند از:

  • خواندن شیب از شتاب سنج
  • خواندن شیب را به سطح شیب تبدیل کنید تا روی ماتریس LED نمایش داده شود.
  • تغییر قرائت سطح شیب را از حلقه قبلی بررسی کنید.
  • آرایه ای از مختصات LED برای موارد مختلف جهت و جهت ایجاد کنید.
  • مختصات LED را روی ماتریس LED micro: bit ترسیم کنید.

چند عملکرد اضافی که ما باید شامل آنها باشیم عبارتند از:

  • کالیبراسیون برای موقعیت شیب اولیه
  • بازگشت به کالیبراسیون شیب پیش فرض.

مرحله 5: مرحله 1: تعریف متغیرها

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

  • tiltList: آرایه ای که میزان کج شدن از مقادیر 0-4 را به ترتیب [چپ ، راست ، جلو ، عقب] ذخیره می کند.
  • tiltBoundary: مرز اولین سطح شیب بین 0 (بدون شیب) و 1 (کمی شیب)
  • prevState: آرایه ای که مقادیر شیب micro: bit را از حلقه قبلی در همان قالب tiltList ذخیره می کند ، که برای بررسی تغییر شیب بین تکرارها استفاده می شود.
  • ledPlotList: آرایه های مختصات led را به شکل (x ، y) ترسیم کنید. برای تعریف آرایه ، از شماره نوع برای نشان دادن آرایه تو در تو متغیرهای نوع: number استفاده می کنیم.

مرحله 6: مرحله 2: مقادیر Tilt را به Level تبدیل کنید

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

در عوض ، یک تابع tiltExtent () پارامتر num را که به مقدار شیب از شتاب سنج اشاره دارد ، می گیرد و این مقادیر شیب (num) را به سطوح شیب از 0 تا 4 تبدیل می کند.

0 نشان دهنده عدم کج شدن در جهت داده شده و 4 نشان دهنده شیب بسیار بزرگ است ، در حالی که -1 در صورت وجود خطا باز می گردد.

در اینجا از tiltBoundary و tiltSensitivity به عنوان مقادیر مرزی بین سطوح شیب استفاده می شود.

مرحله 7: مرحله 3: کامپایل سطوح شیب

دو تابع checkRoll () و checkPitch () سطوح شیب بدست آمده از tiltExtent () را به ترتیب در محورهای رول (چپ-راست) و پیچ (رو به جلو-عقب) به ترتیب در tiltList می نویسند.

قبل از استفاده از مقادیر شیب ، آنها را با استفاده از مقدار صفر شده برای هر دو پیچ (zeroPitch) و رول (zeroRoll) که از یک تابع کالیبراسیون که بعداً نوشته شده است ، کالیبره می کنیم.

از آنجا که قرائت شتاب سنج برای شیب چپ و جلو منفی است ، ما باید از تابع () Math.abs برای بدست آوردن مدول مقدار منفی که به تابع tiltExtent () داده می شود به عنوان پارامتری برای این دو جهت استفاده کنیم.

مرحله 8: مرحله 4: توابع LEDPlotList را بنویسید

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

  • plotSingle (): فقط در یک جهت متمایل شوید ، و میزان شیب را در جهت داده شده به عنوان پارامتر در نظر بگیرید.
  • plotDiagonal (): در دو جهت با اندازه یکسان کج شوید و میزان کج شدن را در هر دو جهت به عنوان پارامتر در نظر بگیرید.
  • plotUnequal (): در دو جهت با اندازه های مختلف کج کنید و میزان شیب را در هر جهت به عنوان پارامتر در نظر بگیرید. ابتدا از plotDiagonal () استفاده می کند و سپس به آرایه ledPlotList اضافه می کند.

این توابع رسم آرایه ای از مختصات led را به ledPlotList می نویسد تا بعداً رسم شود.

مرحله 9: مرحله 5: ماتریس LED را برای هر مورد ترسیم کنید

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

PlotResult () شامل چندین شرط است که نوع شیب را بررسی کرده و ماتریس LED را مطابق آن با استفاده از led.plot (x ، y) ترسیم می کند. ترکیبات احتمالی شیب عبارتند از:

جهت واحد: فقط چپ یا فقط راست

جهت واحد: فقط جلو یا عقب

دو جهت: جلو به چپ یا عقب به چپ

دو جهت: جلو به راست یا عقب به راست

توجه: برای شیب در دو جهت ، هر ترکیب می تواند اندازه یکسان یا متفاوتی داشته باشد (با مقایسه maxX و maxY بررسی می شود) ، و از این رو به ترتیب با استفاده از plotDiagonal () یا plotUnequal () ترسیم می شود.

مرحله 10: مرحله 6: توابع کالیبراسیون را بنویسید

پس از تکمیل بخش عمده ای از کد ، اکنون توابع calibTilt () و resetTilt () را اضافه می کنیم.

calibTilt () به کاربران اجازه می دهد تا شیب را در موقعیت فعلی micro: bit به صفر برسانند

resetTilt () کالیبراسیون برد را به حالت اولیه باز می گرداند.

مرحله 11: مرحله 7: تابع حالت را بنویسید

ما یک تابع ساده checkState () اضافه می کنیم تا بررسی کنیم که آیا سطح شیب نسبت به تکرار قبلی تغییر کرده است یا خیر.

اگر تغییری در سطوح شیب نسبت به تکرار قبلی ایجاد نشود ، یعنی stateChange == 0 ، می توانیم مستقیماً به تکرار بعدی برویم و از ترسیم نمودار ماتریس LED صرف نظر کرده و محاسبه مورد نیاز را کاهش دهیم.

مرحله 12: مرحله 8: همه چیز را با هم ترکیب کنید قسمت 1

اکنون ما در نهایت می توانیم همه توابع لازم را در حلقه بی نهایت micro: bit قرار دهیم تا بارها و بارها اجرا شود.

ابتدا دکمه A و B را روی میکرو تنظیم می کنیم: bit به ترتیب با استفاده از input.onButtonPressed () و به ترتیب توابع calibTilt () و resetTilt () ، و هنگامی که کالیبراسیون به پایان رسید ، یک تیک روی ماتریس LED ترسیم می کنیم.

مرحله 13: مرحله 9: همه چیز را با هم ترکیب کنید قسمت 2

سپس توابع لازم را با توجه به جریان کد ما در مرحله 0 اجرا کنید و یک تغییر حالت را بررسی کنید (به این معنی که از آخرین تکرار تغییراتی در شیب micro: bit وجود دارد).

اگر تغییری در سطوح شیب ایجاد شود یعنی stateChange == 1 ، کد prevState را به سطوح جدید شیب به روز می کند و برای تکرار بعدی وضعیت را به 0 باز می گرداند و سطوح شیب به روز شده را در ماتریس LED با استفاده از PlotResult () ترسیم می کند.

مرحله 14: مرحله 10: مونتاژ

کد تکمیل شده را روی micro: bit خود فلش کنید.

میکرو: بیت و بسته باتری خود را به طور ایمن به هر شی وصل کنید و آماده استفاده است!

عالی

از سطح روحیه الکتریکی خود لذت ببرید! و در حالی که این کار را انجام می دهید ، چرا سعی نکنید قابلیت های سنسور شیب را گسترش دهید یا حتی آن را به یک بازی تبدیل کنید؟

این مقاله از TINKERCADEMY است.

مرحله 15: منبع

این مقاله از: https://www.elecfreaks.com/11632.html است

اگر س questionsالی دارید ، می توانید با : [email protected] تماس بگیرید.

توصیه شده: