فهرست مطالب:

آردوینو 101: دوره از مرد فن: 4 مرحله
آردوینو 101: دوره از مرد فن: 4 مرحله

تصویری: آردوینو 101: دوره از مرد فن: 4 مرحله

تصویری: آردوینو 101: دوره از مرد فن: 4 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, نوامبر
Anonim
آردوینو 101: دوره ای از تکنسین گای
آردوینو 101: دوره ای از تکنسین گای

امیدوارم بسیاری از افراد ، به ویژه مبتدیان ، که مایل به غواصی در دنیای آردوینو هستند ، از این و سایر مقالات/دستورالعمل های من (که قرار است مرتباً آنها را پست کنم) مفید بدانند.

این مانند یک درس معمولی Copy-&-Paste نخواهد بود. بسیار بیشتر از.

سلام! من رومی هستم و یک توسعه دهنده PHP متوسط هستم.

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

من از 10 سالگی برنامه نویسی را شروع کرده ام. و واقعا تاثیر زیادی روی من گذاشت چون خیلی جالب بود - باورم نمی شد. علاوه بر این ، بسیاری از بچه های هم سن و سال من نتوانستند چنین مهارت هایی را در مدرسه نشان دهند. حتی قبل از شروع یادگیری انفورماتیک ، به عنوان یک موضوع ، و برنامه نویسی در دوره بود.

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

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

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

مرحله 1: نرم افزار مورد نیاز را نصب کنید/سخت افزار مورد نیاز را دریافت کنید

برای شروع فرآیند توسعه ، به موارد زیر نیاز دارید:

نرم افزار

- کد ویژوال استودیو

- Platform. IO

سخت افزار

- یکی از بردهای آردوینو (مگا 2560 ، نانو ، لئوناردو و غیره)

- تخته نان

-سیم های Dupont (مرد به مرد)

- مقاومت های مختلف اسمی

- RGB Leds

- نمایش و غیره

مرحله 2: اصول برنامه نویسی

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

- جامد

- خشک (خودتان را تکرار نکنید)

- KISS (خیلی ساده نگه دارید)

- YAGNI (شما به آن احتیاج ندارید)

SOLID چیست؟

SOLID را می توان به صورت زیر رونویسی کرد:

- [S] تک مسئولیت (هر کلاس مسئول یک نوع است)

- [O] اصل بسته-باز (کلاس ها و اشیاء برای باز شدن ، اما اصلاح شده باز هستند)

- [L] Liskov جایگزینی (کلاس ها و اشیاء را می توان با زیرگونه های خود بدون آسیب جایگزین کرد)

- [I] تفکیک رابط (بهتر است به جای داشتن یک رابط جهانی ، رابط های تخصصی تری داشته باشید)

- [D] وارونگی وابستگی (کلاس ها باید بر اساس چکیده ها ساخته شوند)

DRY چیست؟

DRY یعنی خود را تکرار نکنید. بنابراین ، هنگامی که راه حلی ارائه می دهید و می بینید که روش هایی مشابه وجود دارد - فقط یک کلاس کمکی با این روش ها (حتی ممکن است به صورت استاتیک تماس بگیرید) ایجاد کنید تا آن را تا حد امکان ساده نگه دارید. اما این یکی داستان دیگری است.

KISS چیست؟

KISS مخفف Keep It So Simple است. این بدان معناست که همه راه حل های شما باید تا حد ممکن خطوط کد کمتری داشته باشند ، اما کل کلاس را بیش از حد پیچیده نکنند.

YAGNI چیست؟

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

سعی کنید تا حد امکان کد خود را تمیز نگه دارید.

مرحله 3: پروژه ها

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

به علاوه ، من سعی می کنم افزونه ای برای VS Code ایجاد کنم تا بتوانید فایلهای مورد نیاز خود را در پروژه خود بارگیری کنید.

به خاطر داشته باشید که پروژه های بدون پیوند هنوز عملی نشده اند و در آینده نزدیک انجام می شوند. من سعی می کنم تا آنجا که می توانم آموزنده و آموزنده عمل کنم. و بعداً - من یک ویدئو ضبط می کنم و آنها را به عنوان دستورالعمل برای پیگیری شما اضافه می کنم.

  • کنترل ساده لامپ های LED
  • LED's + پتانسیومتر (نقشه برداری پویا از مقادیر پتانسیومتر به تعداد LED ها)
  • ایستگاه هواشناسی ساده (v1 ؛ رطوبت + دما)
  • ایستگاه هواشناسی پیشرفته با LCD 1602 (v2)
  • Advanced Weather Station v2 + Settings (v3)
  • کنترل آب و هوای پیشرفته v3 + IR (کنترل از راه دور مادون قرمز) برای نمایش (v4)
  • Advanced Weather Station v4 + نمایش وضعیت با LED (v5)
  • خواننده ساده RFID (v1)
  • RFID Reader v1 w/ نمایش داده ها بر روی LCD 1602 و صفحه نمایش OLED 0.91 اینچی (I2C) (v2)
  • RFID Reader v2 w/ Control Relay (v3)
  • ایستگاه ساده تک سیم کارت (v1)
  • ایستگاه تک سیم کارت پیشرفته با صفحه نمایش OLED 0.91 اینچ (v2)
  • ایستگاه دو سیم کارت پیشرفته با صفحه نمایش OLED 0.91 اینچ (v1)
  • ایستگاه دو سیم کارت پیشرفته v1 بدون ارسال پیامک
  • دستگاه فروش خودکار
  • کنترل ساده RGB Strip WS8212b (v1)
  • پیشرفته RGB Strip WS8212b Control v1 w/ رنگها + کنترل روشنایی (پتانسیومتر + دکمه ها) (v2)
  • Advanced RGB Strip WS8212b Control v1 with IRVending Machine

همه پروژه ها و کتابخانه ها در GitHub در دسترس خواهند بود.

مرحله 4: پروژه های آینده منتشر می شوند

7-8 مارس 20- کنترل ساده لامپهای LED- پتانسیومتر LED (نقشه برداری پویا از مقادیر پتانسیومتر به تعداد LED ها)

توصیه شده: