آموزش مقدمه ای بر برنامه نویسی شی گرا با آردوینو

Introduction to object-oriented programming with Arduino

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:

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

از ESP32 در کل دوره استفاده می‌شود، اما تمام مثال‌ها (به جز نمونه آخر با وب‌سایت/وب سرور و WIFI)، تمرین‌ها و توضیحات را می‌توان با هر آردوینو انجام داد.

پس از اتمام این دوره، می‌توانید…

  • ...برنامه ها و کتابخانه های شی گرا خود را ایجاد کنید

  • ...کد منبع قابل استفاده مجدد برنامه

  • ... معماری کد منبع تمیز را برای برنامه نویسی و سازگاری انعطاف پذیر ایجاد کنید

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

  • ... مفاهیم اولیه OOP را برای پروژه های خود پیاده کنید و بلافاصله آنها را به کار ببرید.

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

  • ... حتی پس از مدت زمان طولانی تری کد خود را بهتر حفظ کنید.

آنچه در این دوره طی می کنیم:

  • مبانی برنامه نویسی شی گرا در محیط آردوینو. ما مطالب ضروری OOP را مرحله به مرحله مرور خواهیم کرد. ما مستقیماً وارد مثال های عملی می شویم.

  • مثال عملی: کلاس LED خود را. بسیاری از توابع و رابط های مختلف.

  • مثال عملی 2: تخته گالتون با آسانسور مرمری و ارزیابی 12 سنسور IR.

  • مثال عملی 3: چراغ پیشانی تنها با یک دکمه(!)، دو LED و سه حالت نور.

  • مثال عملی: بازی سنگ، کاغذ، قیچی. ما این بازی کوچک را توسعه می دهیم. ما با ربات رقابت می کنیم و برای بردن دو بازی بازی می کنیم. منطق توسط یک وب سرور در ESP32 (با رویدادهای جانبی سرور) راه اندازی می شود.

رویکرد من در دوره:

  • هیچ (خوب، فقط تعداد بسیار کمی) اسلاید/پاورپوینت. ما بلافاصله با یک مثال عملی به اصول اولیه می پردازیم. همچنین این تئوری را می توان بلافاصله در آردوینو با مانیتور سریال آزمایش کرد و بنابراین بلافاصله بهتر درک کرد.

  • پروژه های عملی با هم در دستورالعمل های گام به گام توسعه یافته اند.

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

  • همه کدها برای دانلود در پلتفرم موجود هستند، بنابراین می‌توانید بدون ناراحتی به نتیجه برسید.

  • بدون توضیحات گیج کننده یا مونولوگ های تئوری، ما حق داریم در فصل مبانی کار کنیم.

همه طرح‌ها/فایل‌های این دوره در بخش پروژه پیوست شده‌اند.

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

من مشتاقانه منتظر دیدار شما در کلاس هستم

مارکوس ادنهاوزر

تکالیف پروژه:

کار 1:
کلاس Budgetplaner خود را ایجاد کنید:

  • سازنده باید بودجه شروع را بگیرد
  • یک تابع بنویسید که می توانید با یک متن پول اضافه و برداشت کنید
  • تمام حرکات حساب را در یک آرایه ذخیره کنید
  • تابعی بنویسید که تمام حرکات را برمی گرداند
  • تابعی بنویسید که بتوانید پول را به حساب دیگری انتقال دهید


وظیفه 2:
کلاس خود را برای سنسور دما مورد علاقه خود ایجاد کنید (به عنوان مثال سنسور BME 280 یا DHT22)

  • تابعی بنویسید که مقدار شما را به صورت رشته با واحد برمی گرداند
  • تابع دیگری باید مقادیر 5 دقیقه در یک آرایه را ایمن کند.
  • تابعی بنویسید که آرایه شما را برمی گرداند

وظیفه 3:
پروژه های کلاس را با ایده های خود تطبیق دهید. مثلا. افکت های LED بیشتری اضافه کنید، سنسورهای بیشتری اضافه کنید یا سنسورها را تغییر دهید.


من دوست دارم نتایج شما را ببینم - آن را در پلتفرم به اشتراک بگذارید.


سرفصل ها و درس ها

درس ها Lessons

  • سیم کشی Wiring

  • حالت بازی در دو بازی برد Game mode on two games won

  • سیم کشی و محاسبه مقاومت سری Wiring and series resistance calculation

  • روشن کردن LED Toggle LED

  • تنظیم کننده Setter

  • هدرفایل Headerfile

  • رابط تمیز Clean Interface

  • شبیه سازی موتور خاموش Simulate Motor on off

  • اشیاء در آرایه Objects in Array

  • نبض کنید Pulsate

  • سیم کشی Wiring

  • حالت اول بازی First game mode

  • دسترسی به وب سایت از طریق وب سرور ESP32 Access website via ESP32 Webserver

  • راه حل ممکن Possible solution

  • وراثت Inheritance

  • اجرای کار اضافی کلاس LED Additional task implement LED class

  • مثال تمرین تعامل هدر و فایل های CPP Exercise example Interaction of header and CPP files

  • تجربه عملی در مقابل نظریه Practical experience vs. theory

  • پیش نیازهای این دوره Prerequisites for this course

  • گیرنده Getter

  • ارسال رویدادهای جانبی سرور Sending Server Side Events

  • نمونه سازی اشیاء در آرایه Instantiate objects in array

  • عملکرد دکمه نگه داشتن فشار داده شده است Function Keep button pressed

  • کد منبع از VS Code در Arduino IDE Source Code from VS Code in Arduino IDE

  • ساختار یک کلاس و کپسوله سازی داده ها Structure of a class & data encapsulation

  • خلاصه ای از آموخته ها Summary of the Learnings

  • تشخیص مدت زمان کلیک ها Detect duration of clicks

  • ButtonHeadlamp از Button به ارث می رسد ButtonHeadlamp inherits from Button

  • بررسی اجمالی پروژه صنایع دستی Craft Project Overview

  • پین اوت ESP32 ESP32 Pinout

  • حالت بازی در حلقه Game mode in loop

  • ارزیابی سنسورهای IR Evaluation of the IR sensors

  • تنظیمات اولیه یک پروژه خالی Basic setting of an empty project

  • آدرس سنسور IR به صورت جداگانه Address IR sensor individually

  • پروژه و کلاس ایجاد کنید Create Project and Class

  • کنترل LED Control LEDs

  • شبیه ساز آنلاین Online Simulator

  • معرفی این دوره Introduction to this course

  • دکمه Debounce با میلیس Debounce button with millis

  • هدرفایل Headerfile

  • عملکرد ارثی بیش از حد بارگذاری شده است Inherited function overloaded

  • محو شدن Fading

  • بعد از x ثانیه LED را خاموش کنید Turn LED off after x seconds

  • خلاصه مقدمه OOP Recap Introduction OOP

  • سازنده اضافه بار Overloading constructor

  • ایجاد فایل های کلاس Creating class files

  • رویدادها را زیبا کنید Prettify events

  • کتابخانه خود را ایجاد و منتشر کنید Create and publish your own library

  • افزودن تابع Fade Add function Fade

  • جلوه تعقیب LED LED chasing effect

  • VS Code در مقابل Arduino IDE VS Code vs Arduino IDE

  • ساختار Struct

  • نمونه و سازنده Instance and constructor

  • انتقال داده ها از وب سایت به ESP32 Transfer data from website to ESP32

  • دکمه اضافه کردن کلاس Add Class Button

  • پیاده سازی کلاس LED Implement LED Class

  • سلب مسئولیت Disclaimer

  • حسگرهای IRS OOP را جمع بندی کنید Recap OOP IRSensors

  • LED را با یک جسم کنترل کنید Control the LED with an object

  • یک وب سایت ایجاد کنید Create a website

  • Enum Enum

  • سیم کشی Wiring

نمایش نظرات

آموزش مقدمه ای بر برنامه نویسی شی گرا با آردوینو
جزییات دوره
5h 33m
62
Skillshare (اسکیل شیر) Skillshare (اسکیل شیر)
(آخرین آپدیت)
85
4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Markus Edenhauser Markus Edenhauser

IT و مردم را به هم نزدیک کنید

سلام!

من مارکوس ادنهاوزر از اتریش/تیرول هستم. من تجربه حرفه ای در صنعت مالی مهندسی برق و همچنین در بخش غیر انتفاعی دارم. تجربیات من از حسابرس و مربی فناوری اطلاعات برای موضوعات آن، رئیس بخش مالی و فناوری تا مدیریت پرسنل است. امروزه من چیزهای خنده‌داری را با میکروکنترلرها برای دستگاه‌های IoT #smarthome توسعه می‌دهم.

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

من مشتاقانه منتظر استقبال شما در دوره های آموزشی خود هستم.

pixelEDI