آشنایی مختصر با دوره Embedded C مقدماتی
امروزه برنامه نویسی ریزپردازنده ها ، میکروپروسسورها ، میکروکنترلرها (از جمله AVR,ARM,PIC,dsPIC) ، SBC ها (از جمله Arduino و Raspberry pi) و انواع CPU ها و همچنین تولید سیستم عامل های جدید و نرم افزارهای کاربردی از طریق زبان C صورت می گیرد.
کاربرد وسیع این زبان برنامه نویسی و مقبولیت آن نزد توسعه دهنده های Embedded System ناشی از عوامل مختلفی همچون پشتیبانی از کلیه میکروکنترلرها و تراشه های با قابلیت برنامه ریزی ، قابلیت پیاده سازی سیستم های بلادرنگ و Real time ، بازدهی بالا ، دسترسی به سخت افزار و حافظه ، وجود استاندارد ، برنامه نویسی به صورت ماژولار ، پشتیبانی از اشاره گرها ، structure ها و union ها و مواردی از این دست می باشد .
علاقمندان به یادگیری میکروکنترلرها و پردازنده های سیستم های دیجیتال DSP می بایست از تسلط کافی در امر برنامه نویسی این سیستم ها برخوردار باشند که در دوره Programming Embedded C پیشرفته نیراسیستم مهارت لازم برای ورود به دنیای سیستم های نهفته ایجاد می شود .
تحلیل بازار کار
سیستم های نهفته در بسیاری از زمینه ها همچون حمل و نقل ، تجهیزات پزشکی ، سامانه های هوشمند ، تجهیزات امنیتی ، سیستم های مخابراتی ، دستگاه های بی سیم ، لوازم خانگی ، صنایع خودرو سازی ، صنایع نظامی و ... کاربرد دارند و به عبارت دیگر می توان بخش عظیمی از الکترونیک دیجیتال را وابسته به Embedded System ها دانست . با توجه به این موضوع بازارکار مناسبی چه در کشور ایران و چه در کشورهای دارای صنعت الکترونیک دیجیتال می توان برای افراد توانمند در این زمینه متصور شد . هم چنین روزانه آگهی های مختلفی برای استخدام مهندسین توانمند در امر طراحی ، توسعه و پیاده سازی امبدد سیستم ها شامل میکروکنترلرها ، میکروپروسسورها ، کامپیوترهای تک بردی و پردازنده های دیجیتال در سایت ها و روزنامه های منتشر کننده آگهی های استخدامی درج می شود .
توانایی دانشجو پس از پایان دوره Embedded C مقدماتی
دانشجو در پایان دوره می تواند :
• درک مناسبی از الگورتیم های برنامه نویسی و مفاهیم برنامه نویسی ویژه میکروکنترلرها داشته باشد
• انواع داده ها ، نحوه تبدیل آن ها به یکدیگر ، آرایه ها و رشته ها در زبان C را مورد استفاده قرار دهد
• استفاده از توابع و برنامه نویسی به صورت ماژولار و ساخت یافته را انجام دهد
• با ساختارهای کنترلی برنامه مانند IF و Switch آشنا و جایگاه درست استفاده از هر کدام را درک کند
• با انواع حلقههای تکرار for , while و do while و نحوه استفاده آن در سیستم های نهفته آشنا شود
• برنامه نویسی بر روی تراشه های برنامه پذیر از جمله میکروکنترلرها را انجام دهد
• تجربه برنامه نویسی واحد I/O میکروکنترلر AVR را کسب نماید
• از کامپایلر Codevision برای محیط برنامه نویسی استفاده کند
• راه اندازی موتور پله ای ، LCD کاراکتری ، نمایشگر LED ، کیپد ماتریسی ، 7segment را فرا می گیرد
شیوه برگزاری کلاس
کلاس ما ، محیطی پر نشاط ، پویا و صمیمی است و بر خلاف دوره های دانشگاهی که عمدتا به صورت تئوری برگزار می گردد با انجام پروژه های متعدد در طول دوره ؛ یادگیری برنامه نویسی به صورت کاملا عملی و واقعی انجام می شود و دانشجویان در خلال انجام تمرین ها و پروژه ها با مفاهیم و تکنیک های برنامه نویسی آشنا می شوند .
هدف دوره آموزشی برنامه نویسی امبدد سیستم مقدماتی ایجاد تسلط برنامه نویسی و پیاده سازی الگوریتم ها برای میکروکنترلرها می باشد و این مهارت برای کلیه میکروکنترلرها از جمله AVR, ARM, PIC, dsPIC عمومیت دارد و خاص یک میکرو نیست . اما برای تمرکز بیشتر و سهولت یادگیری میکروکنترلر AVR برای پیاده سازی تمرین ها و کار عملی این دوره انتخاب شده است . برنامه نویسی در محیط نرم افزار Codevision انجام می شود و برای تست و کار عملی از محیط شبیه ساز Proteus استفاده می شود .
سرفصل دوره آموزشی Embedded C مقدماتی :
• مقدمات زبان C
♦ معرفی انواع زبان های برنامه نویسی کاربردی سیستم های نهفته
♦ آشنایی با ساختار برنامه نویسی و مفاهیم اولیه برنامه نویسی
♦ انواع داده ها در زبان برنامه نویسی C
♦ معرفی انواع متغیرها و ثابت ها و نحوه به کارگیری آن در برنامه نویسی امبدد سیستم ها
♦ آشنایی با نحوه مقدار دهی متغیرها
♦ معرفی عملگرهای محاسباتی ، رابطه ای ، منطقی ، بیتی و نحوه استفاده از آن ها
♦ معرفی تابع main و نحوه استفاده از آن در برنامه نویسی میکروکنترلر
♦ به کارگیری دستور #include جهت اضافه کردن کتابخانه ها به برنامه
♦ استفاده از دستور پیش پردازنده #define
• برنامه نویسی میکروکنترلر AVR
♦ آشنایی کلی با میکروکنترلر AVR و عملکرد واحدهای آن
♦ معرفی ساختار میکروکنترلر AVR
♦ آشنایی با مفاهیم پالس ساعت ، ریست و شیوه های برنامه ریزی میکرو
♦ معرفی رجیسترهای واحد I/O میکروکنترلر AVR
♦ آموزش کار با کامپایلر Codevision
♦ به کارگیری LED به عنوان نمایشگر در پروژه ها
♦ آموزش مفاهیم pull up / pull down در سیستم های دیجیتال
♦ نحوه خواندن کلید فشاری به عنوان ورودی توسط میکروکنترلر
♦ معرفی توابع چاپ دیتا بر روی نمایشگر LCD کاراکتری
♦ آشنایی با بازر و راه اندازی آن به صورت عملی
♦ آشنایی با نرم افزار Proteus به عنوان شبیه ساز پروژه های embedded system
• حلقه های تکرار و ساختارهای تصمیم گیری
♦ آشنایی با حلقه های تکرار for(), while(), do … while()
♦ آشنایی با کاربرد حلقه های تکرار تو در تو
♦ آشنایی با ساختارهای تصمیم گیری if , else if, switch و نحوه به کارگیری آن در برنامه نویسی میکروکنترلر
♦ اجرای انواع تمرین های رقص نور بر روی LED
♦ نحوه به کارگیری کیپد تلفنی در پروژه های میکروکنترلری
♦ طراحی و پیاده سازی انواع شمارنده های بالا شمار ، پایین شمار ، حلقوی ، جانسون و ...
• آرایه ها و رشته ها
♦ تعریف آرایه های تک بعدی و چند بعدی کاربرد آن ها
♦ آشنایی با نحوه مقداردهی به آرایه
♦ آشنایی با رشته ها و مقدار دهی به آن ها
♦ به کار گیری string ها در برنامه نویسی سیستم های نهفته
♦ راه اندازی موتور پله ای Stepper motor توسط میکرو AVR
♦ نمایش کارکترها و حروف بر روی LCD کاراکتری
♦ راه اندازی نمایشگر هفت قسمتی 7segment توسط میکروکنترلر AVR
• توابع و برنامه نویسی ساخت یافته
♦ آشنایی با روش های تابع نویسی
♦ معرفی انواع توابع از نظر ورودی و خروجی
♦ تعریف متغیرهای محلی و عمومی
♦ مدیریت استفاده از چند تابع در یک برنامه
♦ طراحی برنامه های دارای منوی انتخابی با استفاده از توابع فرعی
♦ پیاده سازی توابع دارای مقدار برگشتی
عناوین پروژه ها و تمرین های دوره آموزشی Embedded C مقدماتی :
• راه اندازی LED به عنوان نمایشگر در پروژه ها
• پیاده سازی انواع شمارنده های Up counter, Down counter, Ring counter, star و ...
• اجرای انواع تمرین های رقص نور بر روی LED
• راه اندازی Push button به عنوان ورودی سیستم
• راه اندازی کیپد ماتریسی در پروژه های میکروکنترلری
• راه اندازی نمایشگر LCD کاراکتری توسط میکروکنترلر AVR
• ایجاد منوی انتخابی چند صفحه ای با استفاده از میکرو و نمایش روی LCD
• راه اندازی نمایشگر هفت قسمتی 7segment توسط میکروکنترلر AVR
• ایجاد منوی انتخابی چند صفحه ای با استفاده از میکرو و نمایش روی 7Segment
• راه اندازی موتور پله ای Stepper motor توسط میکرو AVR
• کنترل استپ موتور به صورت چپ گرد و راست گرد و تعداد گردش انتخابی
• طراحی و پیاده سازی ماشین حساب چهار عمل اصلی با استفاده از AVR
• کار با نرم افزار Proteus به عنوان شبیه ساز پروژه های embedded system
دانشجویان و علاقمندانی که تمایل دارند به حوزه های مختلف از جمله برنامه نویسی تحت سیستم عامل و یا برنامه نویسی میکروکنترلرها و سایر ریزپردازنده ها ورود کنند می توانند با یادگیری زبان C به عنوان اولین قدم ، پیمودن این مسیر جذاب را آغاز نمایند . یادگیری کلیه زبان های برنامه نویسی نیازمند ذهنی خلاق و تمرکز بالا در حین یادگیری می باشد . در نتیجه توصیه می شود برای یادگیری بهتر و مطلوب تر با ذهنی آرام و آماده یادگیری در کلاس C حضور یابید . هم چنین انجام تمرین های متعددی که با هدف ایجاد تسلط بیشتر دانشجویان طراحی گردیده است می تواند موفقیت هرچه بیشتر شما را فراهم آورد.
برای یادگیری زبان C چه پیش نیازی لازم است ؟
دوره برنامه نویسی C نیراسیستم ویژه افرادی طراحی شده است که سطح خاصی در برنامه نویسی ندارند و یا درک عمیقی از این حوزه کسب نکرده اند و برای این دوره پیش نیازی لازم نیست .
آیا دوره زبان C هم به صورت عملی برگزار میشه ؟
بله تمامی دوره های نیراسیستم صرف نظر از دوره های عملی و یا نرم افزاری به صورت عملی تدریس میشه و در طول دوره پروژه ها و تمرین های متعددی جهت پیاده سازی توسط دانشجویان انجام می شود . در این دوره تمامی مباحث پس از تدریس تئوری توسط مدرس تحت قالب تمرین ها و پروژه های متعدد به صورت عملی در نرم افزارهای کاربردی طراحی شده با این منظور توسط دانشجویان کد نویسی می گردد .
تفاوت این دوره با دوره های دانشگاهی چیست ؟
در این واحد درسی در بسیاری از دانشگاه ها اصول برنامه نویسی و طراحی الگوریتم تدریس نمی شود و همین امر موجب ایجاد مشکل برای یادگیری مناسب و عدم درک کامل مباحث و توانمندی ضعیف دانشجویان در برنامه نویسی می شود . در دوره زبان C نیراسیستم علاوه بر آموزش طراحی الگوریتم با حل مثال های متعدد و برنامه نویسی در محیط کامپیوتر تلاش می شود به بهترین شکل ممکن تسلط لازم برای برنامه نویسی ایجاد گردد .
آیا گذراندن این دوره برای شروع یادگیری AVR ضروری است ؟
بله ؛ برای یادگیری هر میکروکنترلری از جمله AVR تسلط بر مباحث برنامه نویسی و مفاهیم آن به صورت کامل ضروری است .
آیا در انتهای دوره برای شرکت کنندگان گواهینامه صادر می شود؟
در صورتی که دانشجو در پایان دوره نمره ی لازم را کسب کند موفق به دریافت گواهینامه خواهد شد. حد نصاب نمره 70 از 100 بوده و از مجموع نمرات فعالیت های کلاسی، کوییز ها ، تمرینات و آزمون پایانی دانشجو محاسبه می شود.
آیا برای این دوره جزوه یا کتاب خاصی باید خریداری شود ؟
در تمامی دوره های آموزشی کتاب ها ، مراجع و فایل های آموزشی مختلفی توسط اساتید معرفی می گردد .
نحوه برگزاری آزمون پایانی دوره به چه صورت است؟
مدت زمان مشخصی از جلسه پایانی هر دوره به برگزاری آزمون اختصاص می یابد. این آزمون کاملا عملی بوده و سوال مطرح شده در قالب یک پروژه ترکیبی می باشد.