·
فصل یکم - معرفی دوره
–
برنامه نویسی -
میکروکنترلر -
STM32
–
معرفی مدرس دوره
–
مشخصات اصلی دوره
–
محتوی فصول دوره
–
بردهای توسعه STM32
–
پروگرامرهای استفاده شده در دوره
–
نرم افزارهای استفاده شده در دوره
–
ماژولهای خاص در دوره
–
نحوه انجام پرروژهها در این دوره
–
این دوره برای چه کسی مناسب است؟
–
دستاورد اصلی این دوره چیست؟
–
ابزارها و لوازم مورد نیاز در این دوره
–
پیشنیازهای این دوره چیست؟
–
پشتیبانی از دوره
–
نحوه استفاده از دوره
–
سوالات متداول
–
سخن نهایی قبل از شروع دوره
·
فصل دوم
o
جلسه یکم
–
اصول یادگیری به روش هرم بلوم
–
شیوه مطالعه سه مرحلهای دوره
–
بررسی مشکل اساسی دانش پذیران
–
مفاهیم پایه الکترونیک
–
تعریف علم الکترونیک
–
دسته بندی انواع مدارات الکترونیکی
–
مدارات کامپیوتری و گیتهای منطقی و ماژولهای
منطقی
–
مبانی دیجیتال، صفرویک منطقی، رسم بیت کلمه و
رجیستر
–
مبنی اعداد← باینری، دسیمال و BCD /
مقیاس ها
–
معرفی جبر بول
–
معرفی معماری کامپیوتر و CPU
–
تعریف میکروکنترلر
–
معرفی معماری ARM
o
جلسه دوم
–
مثال های عملی از
♦
استفاده از ماشین حسلب کامپیوتر
♦
تبدیل عدد دسیمال به باینری Bin ➝ Dec
♦
باینری به هگزادسیمال Hex ➝ Bin
♦
هگزادسیمال به دسیمال
Dec ➝ Hex
♦
هگزادسیمال به باینری
Bin ➝ Hex
♦
باینری به اکتال Oct
➝ Bin
♦
علت وجودی اعداد هگز و اوکتال
♦
توضیح محل کاربرد مبنی اعداد در برنامه نویسی
میکروکنترلر
–
توضیح کلی درمورد کاربرد میکروکنترلرها
–
معرفی چند نمونه از میکروهای STM32
–
بررسی خانواده میکروهای STM32 بر اساس جدول و نام میکرو
–
بررسی دو نمونه از دیتاشیت میکروهای STM32
–
آشنایی با امکانات اولیه میکروهای STM32
–
مشاهده و بررسی پایههای میکرو در دیتاشیت
o
جلسه سوم
–
تفاوتهای AVR و STM32
–
حساسیتهای STM32به کلاک و ولتاژ
–
تفاوت سیستم 32بیتی با 8 بیتی
–
انواع حافظهها و تفاوتهای آنها
–
انواع حافظه در STM32
–
بررسی موارد استفاده EEPROM
درپروژههای میکروکنترلری
–
چرخه انجام پروژه و سناریونویسی برای پروژه / بررسی
سناریونویسی
–
توضیح مفصل از چرخه پروگرام کردن میکروهای STM32 / توضیح مراحل لازم برای ساختن برنامه و پروگرام کردن
–
بررسی انواع پروگرامرهای موجود در بازار
–
تفاوت پروگرامر اصلی و تقلبی
–
تفاوت پروگرامر فلشی و رومیزی
o
جلسه چهارم
–
نصب و راه اندازی نرم افزارهای
♦
Cube IDE
♦
ST-LINK
Utility
♦ Cube
Programer
–
نصب پکیجهای نرم افزاری برای خانواده FO و F1 و GO
–
نگاهی به نرم افزارهای ST-LINK
Utility و Cube Programer
–
نحوه بررسی اصلی یا تقلبی بودن پروگرامر
–
آموزش آپدیت کردن Firewall یک پروگرامر
–
معرفی کامپایلرهای دیگر برای برنامه نویسی STM32
–
تفاوت Cube MX و Cube IDE
–
توضیح علت استفاده از برد تبدیل در این دوره
–
آموزش تشخیص پایههای آیسیهای STM32
–
آموزش لحیم کاری IC میکرو روی برد
–
توضیح پایههای عمومی میکرو، انواع پایهها،
تغذیه GPIO و NRST و BOOT
o
جلسه پنجم
–
بررسی چندین دیتاشیت برای یافتن مقدار صحیح خازنهای
روی تغذیه میکرو
–
بررسی انواع منابع کلاک LST,
HST, LSE و HSE
–
بررسی نحوه تعیین صحیح خازن پای کریستال در میکرو
–
بررسی دیتاشیت میکرو برای یافتن مقدار خازن پای
کریستال
–
مشاهده چند نمونه IC میکرو + برد تبدیل
–
انجام اولیه پروژه با STM32 و یادگیری تمام تنظیمات
♦
آموزش ایجاد پروژه در Cube
IDE
♦
بررسی پایه های میکرو
–
پروژه LED چشمک
زن
–
تست پروگرامر رومیزی
o
جلسه ششم
–
آموزش بازگردانی تیک سریال وایر
–
بررسی 30 خطا و علل و روش رفع خطاهای پروگرام
کردن
–
بررسی بردهای آموزشی
–
بررسی دقیق شماتیک و PCB برای برد Bluepill
–
انجام پروژه LED چشمک
زن با برد Bluepill
–
توضیح انواع سطح حفاظت از چپ
–
آزمایش انجام تنظیم Option
Bytes
–
چندین نکته تکمیلی
·
فصل سوم
o
جلسه اول
–
معرفی انواع زبانهای برنامه نویسی
–
دسته بندی زبانهای برنامه نویسی
–
معرفی کامپایلر و IDE
–
اشتباهات مهلک در یادگیری برنامه نویسی
–
مهارت حل مساله
–
الگوریتم و فلوچارت
–
حل چند مساله با فلوچارت
–
فلوچارت کلی سطح بالا و جزئی سطح پایین
–
بررسی کاراکترهای خاص در زبان C/C++
–
بررسی ساختار کلی برنامه در زبان C
–
بررسی تابع اصلی برنامه در زبان C
–
بررسی ترتیب و محل اجرای کدها در زبان C
o
جلسه دوم
–
ادامه مباحث ساختار کلی برنامه در زبان C
–
نشانگر اجرای کدها در یک برنامه
–
متغییرها و ثوابت در زبان C
–
انواع داده ها در زبان C
–
آرایه ها در زبان C
–
محل ذخیره سازی متغییرها RAM
یا FLASH
–
داده های متنی در زبان C++/C
–
قوانین نام گذاری متغییرها و توابع در زبان C/C++
–
خصوصیات زبان C++/C
–
انواع ورودی و خروجی ها
–
عملگر انتصاب در زبان C/C++
–
خطاهای عملگر انتصاب
o
جلسه سوم
–
انجام آزمایشات وتست های برنامه نویسی
–
نام گذاری متغییرها
–
نکات عملگر انتصاب
–
نکات برنامه نویسی متعدد
–
نوشتن اعداد در مبنی مختلف
–
تعریف آرایه
–
بررسی انواع خطاها، سینتاکس،Runtime ، Logic Error
–
نکاتی در مورد برنامه نویسی هم وند
–
معرفی انواع عملگرهای زبان C
–
بررسی عملگرهای محاسباتی در زبان C
–
خواص
عملگر باقی مانده صحیح در زبان C/C++
o
جلسه چهارم
–
ادامه عملگرهای زبان C
–
عملگرهای منطقی
–
عملگرهای بیتی
–
ساختارهای تکرار وتصمیم
–
حل چندین مثال شرط نویسی
–
حل چندین مثال از دستور IF
o
جلسه پنجم
–
توضیحات تکمیلی در مورد ساختار Define
–
توضیح کاربرد عملیات عملگرهای بیتی
–
حل تمرین عملگرهای بیتی در زبان C/C++
–
آموزش ساختار Switch/Case درزبان C/C++
–
معرفی انواع حلقه در زبان C/C++
–
آموزش حلقه While با
جزئیات و مثال
–
آموزش حلقه For با
جزئیات و مثال
o
جلسه ششم
–
ادامه مطالب جلسه پنجم ( آموزش حلقه ها )
–
دستورا ت Goto-label
–
دستورات Break-Cantinue
–
ورودی و خروجی عمومی
–
خروجی Open Drain ,
Push/Pull
–
ورودیPull-Up Pull -Down
,
–
ترفند برنامه نویسی برای صبر کردن با حلقه
–
ساختار دستورات وثوابت GPIO
–
بحث بانس و دیبانس
–
معرفی ای سی 7414 نات
اشمیت تریگر
o
جلسه هفتم
–
بحث در مورد انواع ماژول ها و قطعات از نظر ورودی
وخروجی بودن
–
توابع در زبان C
–
ساختار تابع در زبان C
–
خروجی توابع درزبان C
–
فراخوانی توابع در زبان C
–
ورودی تابع در زبان C
–
انواع توابع در زبان C
–
انواع محل های نوشتن نمیدانم توابع
–
مفاهیم Hang , Halt دربرنامه
–
علل Hang
یا Halt شدن برنامه
–
معرفی تابع فیبوناتچی
–
تمرین عملی نوشتن کد تابع فیبوناتچی بصورت ساده و
بازگشتی
o
جلسه هشتم
–
تمرین فرمول نویسی در زبان C/C++
–
مفهوم Scope متغییرهای سراسری ومحلی در زبان C/C++
–
انواع تیپ های برنامه نویسی
–
معرفی فرایندهای همروند
–
آموزش چند ترفند برنامه نویسی در زبان C/C++
–
منطق برنامه نویسی
–
مهارت برنامه نویسی
o
جلسه نهم
–
ایجاد پروژه آخر فصل سوم
–
انجام پروژه آخر فصل سوم ←6
پروژه ساده
–
نکات
و اشکالات نرم افزارهای ممکن
· فصل چهارم
o
جلسه اول
–
معرفی توابع Hall و
یادگیری سیستم Hall Driver
–
بررسی چندین تابع معروف Hall
–
استراکچرها در زبان C/C++
♦
لزوم استفاده
♦
نحوه تعریف و استفاده
♦
دسترسی به متغیرهای داخل استراکچر
–
مفهوم Enum در
زبان C/C++
♦
لزوم استفاده
♦
نحوه تعریف
♦
نحوه استفاده
–
معرفی رابط سریال به USB و نرم افزارهای آن
–
مفهوم Bug و دیباگ کردن
–
انواع روش های دیباگ کردن
–
سیستم دیباگ کردن مبنی بر مبدل USB به
سریال
o
جلسه دوم
–
نصب مبدل USB
به سریال
–
افزودن
قابلیت USART
به پروژه آخر فصل سوم
–
استفاده
از تابع Strlen ,
SprintF و
تابع ارسال اطلاعات روی USART
–
تمرین
عملی نوشتن کدهای استراکچر
–
نحوه
تعریف آرایه ای از استراکچرها
–
آموزش
اشاره گرها بصورت کامل
♦
مفاهیم آدرس و متغیر
♦
نکات استفاده از اشارهگرها
–
نحوه استفاده از اشاره گرها برای ارسال ( پارامتر
به تابع )
–
ارتباط ارایه ها با اشاره گرها
–
ترتیب استراکچرها و اشاره گرها
o
جلسه سوم
–
آموزش عملی برنامه نویسی اشاره گرها در زبان C با
چند مثال
–
آموزش عملی اشاره گر به استراکچر و دسترسی به
عناصر
–
چند نکته تکمیلی در مورد اشاره گر
–
شروع کار با تجهیزات جانبی میکروها
–
نکاتی در مورد پایه های تجهیزات جانبی میکروها
–
معرفی کامل GPIO با توابع و ثوابت مربوطه
–
توضیحات مختصر در مورد انواع سوئیچ های
الکترونیکی
–
توضیح اجمالی در مورد سوئیچ ترانزیستوری
–
معرفی تابع تاخیر
–
انجام پروژه ساده با سلونوئید و تمرین GPIO و
تابع تاخیر
o
جلسه چهارم
–
تعیین جهت پایه های میکرو
–
تغییر جهت پایه ها بصورت داینامیک از طریق کد ها
–
انجام پروژه برای تست تغییر جهت پایه ها
–
توضیح انواع تنظیمات پیشرفته GPIO
–
آموزش Pinlabel -ضرورت و نحوه استفاده
–
انجام پروژه برای یادگیری Pinlabel
و نحوی استفاده از آن
–
آموزش تغییر همزمان چند پایه خروجی با یک دستور
–
آموزش نمایشگر هفت قسمتی و آموزش درایو کردن نوع
مالتی پلکس 4رقمه با میکرو STM32
–
نکات مربوط به نمایشگر 7قسمتی و انواع اند وکاتد
مشترک
o
جلسه پنجم
–
انجام پروژه جلسه قبلی با نمایشگر 7 قسمتی و
پیاده سازی نکات جلسه قبلی
o
جلسه ششم
–
معرفی USART پایه
ها + توابع کاربردها
–
بررسی Handler برای
USART
–
علت وجودی واهمیت Timeout در USART
–
تفاوت UART با USART
–
تفاوت مدهای کاری سنکرون و آسنکرون در USART
–
مفهوم بیت Start و Stop
وBoudrate
–
مفهوم بیت توازن
–
معرفی MAX232 IC برای
ارتباط میکرو با پورت Com
o
جلسه هفتم
–
انجام پروژه برای یادگیری USART (در این پروژه ها دو میکر وکنترول را برنامه
نویسی کردیم و نهایتا دو دستور مختلف را توانستیم که از میکرو اول به میکرو دوم
ارسال کنیم (منظور از دستور مقدار دو دکمه است) )
–
معرفی ماژول های ارتباط رادیویی قابل اتصال به
میکرو کنترول
o
جلسه هشتم
–
معرفی تراشه MAX485
–
معرفی ماژول های رادیویی ساده 433مگاهرتز
–
آشنایی اجمالی با نحوهی استفاده از ماژولهای
رادیویی
–
معرفی ماژولهای HM-T و HM-R
–
آشنایی با اصول اولیه انتقال داده بصورت بی سیم
–
آموزش تبدیل سطح ولتاژ منطقی 5 به 3.3
ولت
–
آموزش نحوهی تغییر پایه های USART ( عملی )
–
آموزش نحوهی تغییر پارامترهای USART (
عملی )
–
توضیح تابع Sprintf و Strlen
–
کاراکترهای خاص در کار با رشته ها
–
شروع بحث وقفه ها ی خارجی در STM32
–
انواع لبه ها در وقفه خارجی
–
3نکته بسیارمهم در فعال کردن وقفه خارجی
–
نوشتن تابع برای وقفه خارجی
o
جلسه نهم
–
آزمایش عملی یک
پروژه ساده برای وقفه خارجی
–
تنظیم پایه های میکرو به عنوان وقفه خارجی
–
انجام تمام تنظیمات وقفه خارجی در CubeIDE
–
نکته درمورد عدم پروگرام شدن برخی میکروها با
پروگرمرهای فیک
–
نکاتی در مورد Firewale پروگرامرها
–
آموزش کیبورد یا کیپد ماتریس
–
انجام پروژه پیچیده برای وقفه خارجی با کیپد
ماتریس
o
جلسه دهم
–
نوشتن کد برای خواندن دکمه بصورت تکی (فقط یکبار)
–
رفع ایراد منطقی از کد صفحه کلید به روش یولینگ
–
نوشتن کد مربوط به KeyPad با وقفه خارجی
–
آموزش نوشتن تابع برای وقفه خارجی بصورت عملی
–
استفاده از Flay برای
همروند کردن
–
شروع بحث تایمر و کانتر
–
آموزش تئوری اندازه گیری زمان وعرض پالس بصورت
یولینگ
–
آموزش فعال کردن تایمر
–
آشنایی با Prescaler و CanterPeriod
–
آشنایی با روتین تایمر
–
آموزش تفکیک تایمرهای مختلف داخل روتین تایمر
–
نکات نهایی فعال کردن تایمر و وقفه تایمر
–
نحوه مقدار دهی به Prescaler و Canterperiod
o
جلسه یازدهم
–
انجام عملی پروژه با تایمر
–
آموزش بیشتر در مورد Prescaler و Canterperiod
–
مثال 100ms برای تنظیم تایمر
–
معرفی ابزار آنلاین برای مقدار دهی متغییرهای
تایمر
–
استفاده و تست ابزار آنلاین برای تایمر
–
آموزش عملی تنظیمات تایمر و نوشتن روتین تایمر
–
مواجهه عملی با باگ CubeIDE در مورد مقادیر پارامترها
–
تئوری استفاده از تایمردر
راه اندازی 7segment از نوع Mltiplex
–
معرفی ماژول اولتراسونیک
–
مکانیزم عملکرد ماژول اولتراسونیک
–
معرفی فیلتر نرم افزاری Moving
Average برای
حذف نویز از پارامترها
o
جلسه دوازدهم
–
بستن پروژه فاصله سنج با التراسونیک7segment
–
مثال های دیگر در مورد تایمر در STM32
–
تغییر نوع نمایشگر7segment از
یولینگ به تایمر
–
تنظیم فرکانس تایمر برای نمایشی 7segment
بصورت بی نقص در مورد تصویر برداری
–
رفع هاله از نمایشگر 7segment
–
اموزش نحوهی عملکرد سنسور فاصله سنج اولتراسونیک
–
برنامه نوعی ماژول اولتراسونیک
o
جلسه سیزدهم
–
ادامه پروژه نمایشگر 7segment وسنسور اولتراسونیک
–
مفاهیم عملی در مورد تایمرها و امکان هنگ کردن
سیستم با تنظیم نادرست تایمر
–
پیاده سازی عملی ترفند Moving
Average برای
تثبیت مقدار سنسور
–
معرفی موتورهای پله ای
–
ارتباط درایو کردن موتور پله ای با تایمر
–
انواع موتورهای پله ای از نظر مشخصات فنی
–
انواع روشهای درایو کردن موتور پله ای بصورت تک
قطبی یا دو قطبی
–
نحوهی تشخیص سیم های موتور پله ای
–
کاربرد موتورهای پله ای در انواع دستگاهها
–
تکنیک راه اندازی چند موتور پله ای بصورت همزمان
با تایمر
–
مفهوم ترک در موتورهای پله ای
–
روتاری انکودر و کاربردهای آن
–
ساختار درونی روتاری انکودر
–
مکانیزم عملکرد روتاری انکودر
–
تکنیک نرم افزاری برای حذف نویز روتاری انکودر
o
جلسه چهاردهم
–
ایجاد پروژه STM32 از روی پروژه دیگر
–
برنامه نویسی عملی Rotary
Encoder
–
ترفند Moving Average برای مقابله با کیفیت کم روتاری انکودر های
بازار
–
مشاهده عملی سیستم های
موتور پله ای
–
آموزش عملی اتصال موتور پله ای به میکرو کنترل STM32
–
برنامه نویسی برای راه اندازی موتور پله ای با STM32
o
جلسه پانزدهم
–
رفع چند ایراد در کد در ادامه پروژه جلسه قبلی
–
تکمیل مدار درایو موتور پله ای
–
آموزش عملی تست موتور پله ای و یافتن ترتیب سیم
ها با مولتی متر
–
آموزش عملی تغییر مشخصات تایمر بصورت پویا
–
نکات عملی در Map کردن مقادیر مختلف و تنظیم روی تایمر بصورت
داینامیک
–
تحلیل تفاوت محاسبات ریاضی عادی با محاسبات ریاضی
در میکرو کنترل
–
انواع توابع و روش های ایجاد تاخیر
–
پروژه ساده برای ایجاد تاخیر با استفاده از تایمر
o
جلسه شانزدهم
–
ترفند برنامه نویسی با تایمر برای کاهش فرکانس
عملکرد تایمر
–
آموزش مفهوم PWM
–
پارامترها و مشخصات PWM
–
روش های تولید PWM
–
نکات تولید PWM توسط تایمر میکرو
–
انجام پروژه عملی ساده برای تست PWM با
تایمر )پروژه افزایش و کاهش سرعت موتور DC با PWM )
–
کنترل سرعت موتور DC به روش Polling
–
کنترل سرعت موتور DC با PWM تولید شده توسط تایمر
o
جلسه هفدهم
–
معرفی سروو موتور و خصوصیات آن
–
تفاوت انواع سیگنال ها با فرکانس متفاوت برای راه
اندازی Serro Motor
–
آموزش محاسبات لازم برای تولید پالس برای Serro Motor
–
اصول کار موتور های براش لس و نحوهی درایو کردن
آنها
–
شروع مبحث RTC
–
نکات استفاده از RTC
–
تنظیمات واحد تاریخ و ساعت
–
توابع مربوط به واحد تاریخ و ساعت
–
تفاوت فرمت BIN و BCD در توابع RTC
–
ساختار شرط پرانتزی
–
معرفی LCD کاراکتری
o
جلسه هجدهم
–
شروع پروژه عملی ساعت و تقویم با LCD
کاراکتری
–
شروع پایههای LCD
کاراکتری
–
توضیح پایههای اختصاصی RTC
–
توضیح تنظیمات RTC
–
نحوهی اضافه کردن کتابخانه LCD
کاراکتری به پروژه
–
نحوه اتصال LCD کاراکتری به میکرو کنترل
–
توابع مربوط به LCD و RTC
–
نکته ای در مورد همروند بودن فرایندها
–
چندین ترفند برنامه نویسی برای چاپ روی LCD کاراکتری
–
نکته برای رفع پرپر زدن نور پس زمینه نمایشگرها
–
معرفی رابط سریال I2C
–
مفهوم Master و Slave در
رابط I2C
–
نکات ارتباطی در سطح سخت افزاری برای I2C
o
جلسه نوزدهم
–
ادامه مباحث I2C
–
توابع I2C
–
ساختار آدرس دهی در ارتباط I2C
–
اطلاعات تکمیلی در مورد AT24C32
–
انجام پروژه عملی راه اندازی آی سی AT24C32
–
نکات خاص در دیتاشیت آی سی AT24C32
–
توابع Read و Write روی EEPROM
–
نوشتن روی حافظه EEPROM
–
خواندن از حافظه EEPROM
–
نکات تکمیلی در مورد I2C
–
نکات تکمیلی در مورد آی سی AT24C32
o
جلسه بیستم
–
شروع بحث مربوط ADC
–
مباحث پایه در مورد انالوگ و سنسورها
–
نکات در مورد پایه های مربوط به ADC
–
تغذیه و ولتاژ مرجع در ADC
–
نکات مربوط
به رزولوشن در ADC
–
اسکیل کردن ولتاژ برای اندازه گیری ولتاژهای
بالای 3.3 V
–
توابع ADC در STM32
–
ماهیت غیرخطی ADC در
میکرو کنترلها
–
ترفنداندازه گیری ولتاژهای بسیار پایین
–
انجام پروژه ترموستات با LM32 و ثبت پارامترها در EEPROM
–
ترفند متوسط گیری بصورت عملی در مقدار ولتاژ
سنسور
–
محاسبات مورد نیاز در ADC
–
نمایش دما بصورت اعشاری روی LDC
کاراکتری
o
جلسه بیست ویکم
–
معرفی ماژول Joystick
–
آموزش مفاهیم مولتی خیلی برای ADC
–
انجام پروژه خواندن چند کانال ADC برای Joystick
–
تست جوی استیک با مولتی متر
–
تنظیمات پیشرفته ADC
–
مفهوم Rank در تبدیل ADC
–
تغییرRank بصورت داینامیک
–
راه اندازی دو سروو موتور با یک Joystick
–
مولتی قبل ADC در میکروهای فاقدNumber Of Converstion
–
کانال های Vref و
دماسنج داخلی در ADC
o
جلسه بیست و دوم
–
آموزش صفحات لمسی مقاومتی
–
اصول کار صفحات لمسی مقاومتی
–
نحوه درایو کردن صفحات لمسی مقاومتی
–
انجام پروژه و برنامه نویسی لازم برای راه اندازی
صفحه لمسی مقاومتی با STM32
–
کالیبراسیون صفحات لمس مقاومتی
–
معایب روش استفاده شده برای راه اندازی صفحه لمس
مقاومتی
–
ترفند آماری برای افزایش دقت نمونه برداری از
صفحه لمس مقاومتی
–
شروع بحث SPI در STM32
–
اتصالات SPI وپایه های SPI
·
فصل پنجم
o
جلسه یکم
–
یادآوری تعریف سناریو و روابط کاربردی و تعریف
محدودیت
–
راهکار عملی برای دیباگ کردن پروژه های پیچیده
–
برنامه نویسی ماژولار
–
دات ماتریس 8*8و نحوه عملکرد این ماژول ها
–
شروع پروژه رسم شکل روی دات ماتریس
–
نکته در مورد تغذیه آنالوگ برخی میکروها
o
جلسه دوم
–
ادامه کد نویسی جلسه قبل
–
تنظیم فرکانس دات ماتریس
–
رفع چندین باک
–
نمایش اشکال خاص روی دات ماتریس
–
ایجاد امکان تغییر شکل روی دات ماتریس
–
چشمک زن کردن نقطه هدف روی دات ماتریس
–
تعریف Font برای نمایش روی دات ماتریس
–
اتمام پروژه اول فصل پنجم
o
جلسه سوم
–
نکته باگ ودیاگ در مورد کد پروژه جلسه قبلی
–
معرفی نمایشگرهای رنگی TFT
–
ساختار داخلی نمایشگر رنگی برای نمایش تصویر
–
مفهوم Pixel و عمق رنگ – انواع سیستم رنگ HSV,RGB و CMYK-رزولوشن-بیتمپ
–
بررسی کامل فضای رنگ RGB 16بیتی
–
معرفی توابع مربوط به نمایشگر ILI9488
–
معرفی نرم افزار Lcdvision
–
منطق انتقال تصویر از کامپیوتر روی نمایشگر
–
مفهوم Little endian/big
endian
–
معرفی تابع Itoa 3
پارامتری
–
اهمیت قید Const در زبان C/C++
–
معرفی تراشه STM32F103RET6
–
شروع پروژه راه اندازی نمایشگر رنگی TFT
o
جلسه چهارم
–
ادامه پروژه راه اندازی نمایشگر رنگی
–
اتصال نمایشگر ILI9488 به میکرو کنترول
–
اتصال و تنظیم رابط SPI برای نمایشگر
–
تست توابع مختلف نمایشگر رنگی
–
تست عملی توابع تولید عدد تصادفی
–
محاسبات لاز م برای جایابی تصویر روی نمایشگر
–
تست عملی Map کردن یک عدد تصادفی به بازه دلخواه
–
تبدیل تصویر معمولی به Hex برای اتصال به میکروکنترول
–
استفاده از نرم افزار Lcdvision
–
تفاوت RNG و PRNG
–
ایجاد عدد تصادفی در بازه دلخواه
–
ترفند تبدیل PRNG به شبه تصادفی
–
مفهوم Seed در تولید عدد تصادفی
–
برنامه نویسی بازی ها وتئوری بازی ها
o
جلسه پنجم
–
شروع پروژه بازی Tetris
–
اضافه کردن چند قطعه به پروژه جلسه قبلی
–
بررسی بیشتر روی توابع نمایشگر رنگی
–
تبدیل کد رنگ 24 بیتی به 16 بیتی
–
طراحی بلوک های بازی
–
تست اولیه ساخت محیط بازی
–
تست اولیه شکل های موجود در بازی
o
جلسه ششم
–
ادامه برنامه نویسی پروژه Tetris
–
نکته مهم در مورد استفاده از تایمرها
–
مفهوم Sprite در
برنامه نویسی بازی ها
–
توصیف مکانیزم چرخش اسپریت ها دربازی Tetris
–
تعریف استراکچر مربوط به اسپریت ها +مقداردهی
اولیه
–
توابع چاپ اسپریت روی نمایشگر
–
توابع حذف اسپریت از روی نمایشگر
–
رفع عیب مقدار دهی مکان اولیه اسپریت ها
–
تست مقادیر اولیه اسپریت ها
–
رفع عیب مقادیر اولیه اسپریت ها
o
جلسه هفتم
–
ادامه برنامه نویسی پروژه بازی Tetris
–
تشخیص تداخل Spriteها هنگام چرخش
–
افزودن چند دکمه به مدار
–
افزودن امکان به چپ و راست بردن Sprite ها
–
افزودن LED برای یافتن خطای منطقی داخل بازی
o
جلسه هشتم
–
ادامه برنامه نویسی بازی Tetris
–
چک کردن تایمر برای رفع مشکل جلسه قبلی
–
رفع مشکل جلسه قبلی
–
شمارش دفعات کلیک برای دیباگ کردن
–
روش های پیشرفته برای حذف بانس
–
رفع چندین باگ و توضیح علت و راه حل
–
شروع برنامه نویسی هسته اصلی بازی
–
تشخیص برخورد Sprite به پایین صفحه
–
عملیات بروزرسانی محیط بازی پس از برخورد
–
اولین تست بازی
o
جلسه نهم
–
ادامه برنامه نویسی بازی Tetris
–
ترفند نرم افزاری برای دیباگ کردن
–
دیباگ کردن برنامه برای رفع مشکل جلسه قبلی
–
رفع مشکل جلس قبلی
–
افزودن حالت GemeOver به بازی
Tetris
–
ایجاد حالت افزایش سرعت Sprite در مراحل بالاتر بازی
–
رفع مشکل تغییر وضعیت بازی موقع GemeOver شدن
–
افزودن حالت حذف ردیف در صورت پرشدن ردیف
o
جلسه دهم
–
ادامه برنامه نویسی بازی Tetris
–
رفع باگ جلسه قبلی از بازی
–
اضافه کردن بازربه بازی
–
تست نهایی و اتمام پروژه بازی Tetris
–
معرفی توابع جدید برای تولید عدد تصادفی با کیفیت
بالاتر
–
شروع پروژه جدید : پروژه منوی 3 سطحی
–
تعریف دقیق پروژه منوی 3 سطحی
–
ایجاد پروژه منوی 3 سطحی و توابع اصلی آن
–
طراحی و ایجاد تصاویر مورد نیاز برای پروژه
–
تعریف و طراحی ساختار درختی منو
–
تست اولیه منو
–
برنامه نویسی فلش انتخابگر منو و دکمه های پروژه
o
جلسه یازدهم
–
ادامه برنامه نویسی پروژه منوی 3 سطحی
–
طراحی منوهای سطح دوم رله ها
–
برنامه نویسی سطح دوم
–
طراحی آیکون Home و Return
–
برنامه نویسی سطح سوم رله ها
–
طراحی منوهای سطح دوم موتورها
o
جلسه دوازدهم
–
ادامه برنامه نویسی منوی 3 سطحی
–
بررسی باگ های موجود در برنامه
–
تغییر سرعت حرکت فلش روی منو
–
رفع باگ های برنامه
–
اضافه کردن 3سرووموتور 5ولتی به مدار
–
تنظیمات تامیر برای راه اندازی سرووموتور
–
تعریف فرمول دقیق برای راه اندازی سرووموتور
–
تغییر آیکون بازگشت
–
افزودن بوق به دکمه ها
–
رفع چند باگ
–
اتمام پروژه منوی 3سطحی
o
جلسه سیزدهم
–
توضیحات بیشتر درمورد صفحات لمسی مقاومتی
–
شروع پروژه بازی ویروس با صفحه لمسی
–
نصب صفحه لمسی روی نمایشگر لمسی
–
ایجاد پروژه درCube IDE و
انجام تنظیمات اولیه
–
تشخیص بازه مجاز برای لمس (تشخیص عدم لمس شدن
صفحه)
–
انجام محاسبات لازم برای تشخیص دقیق محل لمس
–
تهیه Spriteهای لازم برای باری ویروس
–
تعریف استراکچر ویروس
–
تعریف برخی از توابع مورد نیاز
–
تشخیص برخورد محل تاچ روی ویروس
o
جلسه چهاردهم
–
ادامه انجام پروژه بازی ساده ویروس
–
تولید ویروس تصادفی
–
جایابی تصادفی و تدوین ها
–
تشخیص تداخل در محل ویروس ها
–
تست اولیه بازی
–
رفع عیوب و باگ ها
–
تست نهایی پروژه بازی ساده ویروس
o
جلسه پانزدهم
–
شروع پروژه منوی 3 سطحی با صفحه لمسی
–
کپی پروژه از پروژه شماره23
–
ایجاد تغییرات جرئی در پروژه
–
تنظیمات اولیه پروژه و تست موتورها
–
تشخیص محل دقیق لمس صفحه
–
تشخیص لمس شدن دکمه های مجازی
–
شبیه سازی فشرده شدن کلیدها
–
رفع باگ های برنامه
–
تست نهایی پروژه و اتمام پروژه
–
ترفند متوسط گیری در خواندن صفحه لمسی
–
راه اندازی ماژول های ناشناخته
·
فصل ششم
–
مدارات منطقی
–
زبان توصیف سخت افزاری
–
تولید کنندگان FPG و CPLD
–
تراشه ها و محیط های توسعه FPG و CPLD
–
روش های درامدزایی از مهارت حاصله از این دوره
نخبگان
–
ترفندهای گرفتن پروژه (8روش موثر در گرفتن پروژه)
–
توسعه پروژه
–
قیمت گذاری روی پروژه (8عامل موثر در قیمت گذاری
پروژه)
–
طراحی صنعتی و عوامل موثر در آن
–
دوبخش عمده طراحی صنعتی
–
نویز در طراحی صنعتی
–
نکات تغذیه مدار در طراحی صنعتی
–
نکات طراحی PCB در طراحی صنعتی
–
تاثیر کیفیت قطعه در طراحی صنعتی