فهرست مطالب:
- مرحله 1: اهداف
- مرحله 2: مواد
- مرحله 3: پیش کدگذاری: Micro: Bit خود را وصل کنید
- مرحله 4: مرحله 0: کد جریان
- مرحله 5: مرحله 1: تعریف متغیرها
- مرحله 6: مرحله 2: مقادیر Tilt را به Level تبدیل کنید
- مرحله 7: مرحله 3: کامپایل سطوح شیب
- مرحله 8: مرحله 4: توابع LEDPlotList را بنویسید
- مرحله 9: مرحله 5: ماتریس LED را برای هر مورد ترسیم کنید
- مرحله 10: مرحله 6: توابع کالیبراسیون را بنویسید
- مرحله 11: مرحله 7: تابع حالت را بنویسید
- مرحله 12: مرحله 8: همه چیز را با هم ترکیب کنید قسمت 1
- مرحله 13: مرحله 9: همه چیز را با هم ترکیب کنید قسمت 2
- مرحله 14: مرحله 10: مونتاژ
- مرحله 15: منبع
تصویری: سطح روح الکتریکی ایجاد کنید: 15 قدم
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
از این سطح روح استفاده کنید تا به راحتی و به راحتی شیب هر شیء متصل شده را نمایش دهید!
ایجاد شده توسط Kaitlyn از موسسه Raffles.
مرحله 1: اهداف
یاد بگیرید که شیب را با شتاب سنج داخلی micro: bit بخوانید.
کار با میکرو: نمایشگر LED 5x5 بیت را بیاموزید!
مرحله 2: مواد
1 عدد میکرو بی بی سی: بیت
1 عدد کابل میکرو USB
2 عدد باتری AA
1 عدد دو عدد باتری AA
مرحله 3: پیش کدگذاری: Micro: Bit خود را وصل کنید
- میکرو بی بی سی: بیت را با استفاده از کابل میکرو USB به رایانه خود وصل کنید.
- به ویرایشگر جاوا اسکریپت برای 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] تماس بگیرید.
توصیه شده:
سطح روح دیجیتال مبتنی بر آردوینو و MPU6050: 3 مرحله
سطح روح دیجیتال مبتنی بر آردوینو و MPU6050: به اولین برنامه اموزشی من خوش آمدید! امیدوارم که آموزنده باشد لطفا در صورت تمایل نظرات خود را در مورد مثبت یا منفی بگذارید. این پروژه ساخت آردوینو است & amp؛ سطح روح دیجیتال مبتنی بر MPU6050. در حالی که طراحی تمام شده و
سطح روح دیجیتال DIY: 5 مرحله (همراه با تصاویر)
سطح روح دیجیتال DIY: در این پروژه ما نگاهی دقیق تر به IC های شتاب سنج خواهیم داشت و خواهیم فهمید که چگونه می توان از آنها با Arduino استفاده کرد. بعداً ما چنین IC را با چند جزء مکمل و یک محفظه چاپ سه بعدی ترکیب می کنیم تا یک دیجیتال ایجاد کنیم
یک نقطه دسترسی WiFi ایجاد کنید و یک سرور وب در مراحل NodeMCU V3: 4 تهیه کنید
یک نقطه دسترسی WiFi ایجاد کنید و یک سرور وب در NodeMCU V3 تهیه کنید: در مقاله قبلی در مورد نحوه استفاده از NodeMCU ESP8266 بحث کردم. در مقاله نحوه افزودن NodeMCU ESP8266 به Arduini IDE را توضیح می دهم. روش های مختلفی برای برقراری ارتباط از طریق اینترنت با استفاده از NodeMCU ESP8266 وجود دارد. ساخت NodeMCU به عنوان
موتور الکتریکی: 5 قدم
موتور الکتریکی: این آزمایشی است که نحوه عملکرد یک موتور را نشان می دهد آنچه شما نیاز دارید یاتاقان موتور برس دار 2 که روتور را نگه می دارد چوب سوژه چسب داغ انبردست لحیم کاری آهن لحیم کاری سیم باتری
یک فرودگاه در Google Earth ایجاد کنید و در اطراف پرواز کنید: 5 قدم
ایجاد یک فرودگاه در Google Earth و پرواز در اطراف: پس از کشف یک شبیه ساز پرواز پنهان در Google Earth ، بخشی از یک آزمایش بتا برای برخی از بازی های آنلاین آنلاین ، فقط یک موضوع زمان (دو روز) بود تا به هک کردن آن فکر کنم. شبیه ساز در مقیاس جزئی پس از انجام پرواز NOE