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

Introduction to object-oriented programming with Arduino

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یک آموزش عملی با تعداد زیادی پروژه کوچک OOP-Arduino/ESP32 برای شرکت در آنها. ساختار یک کلاس کپسوله سازی داده ها چیست و چگونه این مفهوم را پیاده سازی می کنیم ایجاد و استفاده از سازنده ها بارگذاری بیش از حد سازنده ها و توابع (چند ریختی) وراثت کلاس ها استفاده و سازگاری کلاس های ارثی تعامل هدرها و فایل های CPP کنترل سروو موتورها، سنسورهای مادون قرمز، LED ها. استفاده از Visual Studio Code/Platform IO (با Arduino IDE نیز امکان پذیر است) ارائه کتابخانه های اختصاصی برای توسعه دهندگان خارجی ایجاد کتابخانه های فردی برای استفاده شخصی بهترین روش ها در برنامه نویسی شی گرا میکروکنترلرها مثال های کاربردی بسیاری که گام به گام ساخته شده اند پیش نیازها: اولین تجربه در توسعه آردوینو (millis، pinMode، انواع داده). مقدمات C++ در محیط آردوینو می توان چیزهای زیادی را با شبیه سازهای آنلاین شبیه سازی کرد، اما اگر مثال های عملی را با قطعات سخت افزاری بازسازی کنید، موفقیت بیشتری در یادگیری خواهید داشت. همه چیز در مورد OOP در این دوره آموزش داده می شود تجربه اول با ESP32 سودمند است

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


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


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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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


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


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


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



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

معرفی Introduction

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

  • درمورد من About me

  • دانلود قطعه کد Download code snippets

  • لیست اجزاء List of components

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

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

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

مبانی Basics

  • مقدمه Intro

  • پین اوت ESP32 ESP32 Pinout

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

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

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

  • Enum Enum

  • ساختار Struct

مقدمه ای کوتاه بر برنامه نویسی شی گرا Short introduction to object-oriented programming

  • مقدمه Intro

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

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

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

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

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

  • گیرنده Getter

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

  • وراثت Inheritance

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

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

  • آزمون 1 Quiz 1

کلاس LED انفرادی Individual LED Class

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

  • هدرفایل Headerfile

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

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

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

  • محو شدن Fading

  • نبض کنید Pulsate

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

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

  • آزمون 2 Quiz 2

سنسورهای IR با استفاده از برد Galton به عنوان مثال IR sensors using the Galton board as an example

  • معرفی پروژه Project Introduction

  • سیم کشی Wiring

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

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

  • اشیاء در یک آرایه Objects into an array

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

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

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

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

  • امتحان 3 Quiz 3

چراغ پیشانی - دکمه کوتاه/طولانی کلیک کنید Headlamp - Button short/long click

  • ایده پروژه Project idea

  • سیم کشی Wiring

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

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

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

  • رابط تمیز Clean Interface

  • کنترل LED Control LEDs

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

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

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

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

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

  • آزمون 4 Quiz 4

سنگ کاغذ قیچی Rock Paper Scissors

  • ایده پروژه Project idea

  • سیم کشی Wiring

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

  • هدرفایل Headerfile

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

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

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

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

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

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

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

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

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

  • مسکن Housing

کد منبع OOP خود را به عنوان کتابخانه آردوینو منتشر کنید Publish your OOP source code as Arduino library

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

نتیجه Conclusion

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

نمایش نظرات

آموزش مقدمه ای بر برنامه نویسی شی گرا با آردوینو
جزییات دوره
6 hours
71
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,493
4.3 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Markus Edenhauser Markus Edenhauser

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

سلام!

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

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

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

pixelEDI