aKaReZa 44 - AVR, 7Segment - Part A
در این ویدئو، در ابتدا یاد میگیریم که چگونه یک سون سگمنت آند مشترک را با استفاده از میکروکنترلر AVR راهاندازی کنیم و نتیجه عملی آن را روی بردبرد مشاهده میکنیم. این مرحله به شما کمک میکند تا با نحوه اتصال سون سگمنت و کنترل آن از طریق میکروکنترلر آشنا شوید.
در مرحله دوم، با استفاده از شیلدی که قبلاً طراحی کرده بودیم، سون سگمنت چهار رقمی را به صورت مالتیپلکس راهاندازی میکنیم. این روش به شما این امکان را میدهد که با استفاده از تعداد پایههای کمتری، چندین نمایشگر سون سگمنت را به میکروکنترلر متصل و راهاندازی کنید. در ادامه، به بررسی نحوه بهبود خوانایی کدها و بهینهسازی آنها برای نگهداری راحتتر خواهیم پرداخت.
مطالبی که در این ویدئو یاد خواهید گرفت:
راهاندازی سون سگمنت آند مشترک با میکروکنترلر AVR
استفاده از بردبرد برای انجام پروژه عملی
طراحی و راهاندازی سون سگمنت چهار رقمی به صورت مالتیپلکس
بهبود خوانایی کد و استفاده از تکنیکهای مختلف برای سادهتر کردن کدها
این ویدئو برای کسانی که به دنبال یادگیری نحوه کار با سون سگمنتها و استفاده از آنها در پروژههای میکروکنترلری هستند، بسیار مفید خواهد بود.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DIf28FAysOT/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/HGlJtcpjZ-E
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 45 - Microcontroller, Interrupts
در این ویدئو، شما با مفاهیم و کاربردهای وقفهها در میکروکنترلرها آشنا خواهید شد. این ویدئو به شما کمک میکند تا تفاوتها و مزایای استفاده از Polling و Interrupts را درک کنید و در نهایت نحوه پیادهسازی روتینهای وقفه (ISR) را یاد بگیرید. همچنین با مفاهیمی مانند Heap و Stack، و همچنین ساختارهای دادهای مثل FIFO و LIFO آشنا میشوید.
در این ویدئو، شما مطالب زیر را یاد خواهید گرفت:
وقفه چیست و چه کاربردی دارد؟ و چرا در میکروکنترلرها از آن استفاده میشود.
مقایسه روشهای Polling و Interrupts و بررسی مزایا و معایب هرکدام.
آشنایی با روتین وقفه و نحوه نوشتن آن.
معرفی جدول بردار وقفه و نحوه استفاده از آن.
آشنایی با Heap و Stack و تفاوتهای آنها.
بررسی ساختارهای دادهای FIFO و LIFO و کاربرد آنها در مدیریت دادهها.
روند اتفاق افتادن وقفه و نحوه پردازش آن.
مفهوم الویت وقفهها و چگونگی تعیین اولویت در پردازش وقفهها.
وقفههای تودرتو و نحوه مدیریت آنها.
آشنایی با وقفههای خارجی و نحوه استفاده از آنها در پروژههای مختلف.
این ویدئو برای کسانی که به دنبال درک بهتر نحوه عملکرد وقفهها در میکروکنترلرها هستند، بسیار مفید است و به شما کمک میکند تا در پروژههای خود از وقفهها به نحو بهتری استفاده کنید.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DIf3v-LSPCn/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/Zr2dET7aFKM
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 46 - Embededd_C - Part B
در این ویدئو، شما با مفاهیم و ساختارهای پایهای زبان برنامهنویسی C آشنا خواهید شد. این ویدئو شامل آموزشهای اولیهای است که برای شروع برنامهنویسی در C به آن نیاز خواهید داشت و مفاهیم کلیدی مانند Format Specifiers، آرایهها، ماتریسها و رشتهها، و دستورات شرطی را پوشش میدهد.
در این ویدئو، مطالب زیر را خواهید آموخت:
آشنایی با Format Specifier و نحوه استفاده از آنها برای چاپ دادهها در زبان C.
آشنایی با کدهای ASCII و جدول آنها و نحوه استفاده از کدهای ASCII در برنامهنویسی.
آرایهها، ماتریسها و رشتهها در زبان C و نحوه استفاده از این ساختارهای داده.
حلقههای do-while و حلقه شمارشی for و تفاوتهای آنها در اجرای دستورات تکراری.
عملگرهای ++ و -- که برای افزایش یا کاهش مقادیر متغیرها استفاده میشوند.
دستور شرطی if و نحوه استفاده از آن برای انجام عملیات بر اساس شرایط مختلف.
دستور شرطی switch و تفاوت آن با if در شرایطی که تعداد گزینهها زیاد باشد.
آشنایی با شرطهای نامساوی، بزرگتر، کوچکتر و نحوه استفاده از آنها در دستور شرطی if.
این ویدئو برای کسانی که میخواهند برنامهنویسی به زبان C را شروع کنند یا مباحث پایهای را مرور کنند، مفید خواهد بود.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DIf4Zv-SQB9/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/2EDKP_W_4Zc
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 47 - AVR, 7Segment - Part B
در این ویدئو، که ادامه ویدئوی قبلی در خصوص راهاندازی سون سگمنت میباشد، به شما آموزش میدهیم که چگونه یک شمارنده بسازید و از کلیدها برای افزایش تعداد شمارنده استفاده کنید. در این ویدئو همچنین یک روش جدید برای تفکیک ارقام نمایش داده شده روی سون سگمنت معرفی میشود. در نهایت، به بهینهسازی کد پرداخته و با اضافه کردن چند ماکرو جدید، کد را بهبود میبخشیم.
در این ویدئو، شما با موارد زیر آشنا خواهید شد:
اضافه کردن کلیدها به برنامه و نحوه استفاده از آنها برای افزایش شمارنده
تعریف و استفاده از ماکروها برای بهینهسازی کد و کاهش پیچیدگی آن
تفکیک ارقام نمایش داده شده روی سون سگمنت به طوری که هر رقم به طور جداگانه نمایش داده شود
بهینهسازی کد و ایجاد ماکروهای جدید برای بهبود عملکرد و خوانایی کد
ساخت شمارنده که با فشردن کلیدها عدد آن افزایش مییابد
این ویدئو به شما کمک میکند تا پروژههای شمارنده با سون سگمنت را به صورت کاربردی و بهینه بسازید و از ماکروها برای سادهتر کردن کدها استفاده کنید.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DIf5JFuSarD/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/_pwxBJ06aMk
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 48 - Simulation, TINA, Fast and Easy
در این ویدئو، شما یاد خواهید گرفت که چگونه در شبیهساز TINA به سرعت قطعات مورد نیاز خود را وارد کرده و سپس تحلیلهای مختلف مانند تحلیل DC، حالت گذرا و پاسخ فرکانسی را انجام دهید. TINA یک شبیهساز قدرتمند مدارهای الکترونیکی است که به شما امکان میدهد تا عملکرد مدارها را تحت شرایط مختلف تجزیه و تحلیل کنید.
در این ویدئو، مطالب زیر بررسی میشود:
وارد کردن قطعات در TINA و نحوه استفاده از آنها برای ساخت مدارها
تحلیل DC برای بررسی وضعیت پایدار مدار و عملکرد آن در حالت ایستا
تحلیل حالت گذرا برای مشاهده رفتار مدار در پاسخ به سیگنالهای ورودی در زمانهای مختلف
تحلیل پاسخ فرکانسی برای تحلیل واکنش مدار به سیگنالهای ورودی با فرکانسهای مختلف
این ویدئو به شما کمک میکند تا با استفاده از TINA شبیهسازیهای دقیق انجام داده و مدارهای خود را قبل از ساخت واقعی ارزیابی کنید.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DIf589uy0-q/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/6yHGW2FJB5s
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 50 - PCB, How to drive a Relay
در این ویدئو، شما با مفاهیم مختلف مرتبط با رلهها و درایور کردن رلهها با میکروکنترلر آشنا خواهید شد. در ابتدا، تعریف رله و کاربردهای آن را یاد میگیریم، سپس نحوه اتصال رله به میکروکنترلر و طراحی مدار درایور رله را بررسی میکنیم. همچنین نکات مهمی مانند استفاده از دیود Flywheel و مدار Snubber برای محافظت از رلهها و نحوه قرار دادن LED Indicator برای نشان دادن وضعیت رله به شما آموزش داده خواهد شد.
در ادامه ویدئو، مطالب زیر پوشش داده میشود:
رله چیست و چه کاربردی دارد؟ و چرا در پروژههای الکترونیکی از آن استفاده میشود.
چگونگی اتصال رله به میکروکنترلر و طراحی مدار درایور رله.
دیود Flywheel چیست و چرا باید از آن برای محافظت در برابر ولتاژهای اضافی استفاده کرد.
نحوه قرار دادن LED Indicator برای نشان دادن وضعیت رله.
آشنایی با مدار Snubber و علت استفاده از آن برای رلهها.
آموزش برش زدن داخلی برد و زیر رلهها برای جلوگیری از آسیب به مدار.
چگونگی درایور کردن چندین رله به صورت همزمان و نحوه کنترل آنها.
آشنایی با Optocoupler و نحوه استفاده از آن برای جداسازی مدار کنترل از بارهای قدرتمند.
قرارگیری قطعات در PCB و نحوه انجام مسیر کشی صحیح برای یک مدار بهینه.
این ویدئو علاوه بر آموزش مفاهیم کاربردی در مورد رلهها، به شما کمک میکند که در پروژههای خود از رلهها به شکل بهینه استفاده کنید.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DIf7fKWy_4B/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/Cm22w3K2WrA
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 51 - Repair, USB to TTL Soldering
در این ویدئو، مبدل USB به UART که قبلاً طراحی کرده بودیم را مونتاژ و تست میکنیم. همچنین در این ویدئو یاد میگیریم که چگونه آیسیهای SMD را به دو روش مختلف مونتاژ کنیم و نکات مهمی در خصوص تست ماژول و اطمینان از عملکرد صحیح آن یاد میگیریم.
در این ویدئو، مطالب زیر بررسی میشود:
آشنایی با چیپ CH340 و نحوه کار آن به عنوان مبدل USB به UART.
نحوه اتصال کریستال به مدار و اهمیت آن در تنظیم فرکانس.
بررسی سایر قطعات مدار و نحوه انتخاب آنها.
نحوه استفاده از لحیمکاری با خمیر لحیم برای قطعات SMD.
برش برد PCB و ایجاد فضای کافی برای مونتاژ قطعات.
انجام تست نهایی روی ماژول و اطمینان از عملکرد صحیح آن.
این ویدئو برای کسانی که میخواهند به صورت عملی با مونتاژ و تست ماژولها کار کنند و همچنین نحوه مونتاژ قطعات SMD را یاد بگیرند، بسیار مفید خواهد بود.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DJQ50T3yA0B/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/JnmfULXj2iA
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 52 - Embededd_C - Part D
در این ویدئو، شما با مفاهیم پیشرفتهتر در زبان C آشنا خواهید شد. این ویدئو شامل موضوعات تکمیلی درباره رشتهها (string)، تعریف توابع، کدنویسی ماژولار و انواع مختلف متغیرها است. علاوه بر این، با هدرفایلها و نحوه استفاده از آنها برای مدیریت پروژههای بزرگتر آشنا خواهید شد. همچنین به بررسی هدرگارد و کاربرد آن در جلوگیری از مشکلات تکرار تعریفها پرداخته میشود.
در این ویدئو، شما موارد زیر را یاد خواهید گرفت:
نکات تکمیلی در خصوص رشتهها و نحوه کار با آنها در زبان C.
انواع حالتهای مختلف تعریف تابع و نحوه انتخاب بهترین روش برای تعریف توابع.
تعریف هدرفایلها و سورس فایلها و نحوه پیادهسازی کدنویسی ماژولار در پروژهها.
آشنایی با هدرگارد و کاربرد آن برای جلوگیری از چندبار بارگذاری فایلهای هدر.
کلاسهای مختلف متغیرها:
متغیرهای Global و نحوه استفاده از آنها در برنامهها.
متغیرهای Local و نحوه استفاده در توابع.
متغیرهای Extern و نحوه اشتراکگذاری متغیرها بین فایلهای مختلف.
متغیرهای Static و کاربرد آنها در حفظ مقادیر متغیر در طول اجرای برنامه.
متغیرهای Auto و چگونگی استفاده از آنها در توابع.
این ویدئو به شما کمک میکند تا با مفاهیم پیشرفتهتر زبان C آشنا شوید و توانایی برنامهنویسی خود را ارتقا دهید.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DJQ6wKay0T3/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/a7NB3CK2SJs
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 53 - AVR, 7Segment - Part C
در این ویدئو، که ادامهای بر ویدئوی قبلی در خصوص راهاندازی سون سگمنت است، سه مشکل معرفیشده در ویدئوی قبلی به صورت نرمافزاری و با استفاده از کدنویسی و بدون استفاده از امکانات سختافزاری حل میشود. این ویدئو به شما کمک میکند که کدهای خود را به صورت ماژولار بنویسید، مشکلات مربوط به رفرش سون سگمنت را رفع کنید و همچنین شمارش یک ثانیهای را به درستی پیادهسازی کنید.
در این ویدئو، شما با موارد زیر آشنا خواهید شد:
ماژولار نوشتن کد: در این بخش، کد به بخشهای مختلف تقسیم میشود و با استفاده از تعریف توابع و هدرفایلها کد را ماژولار میکنیم. این بخش تمرینی برای مبحث معرفی شده در ویدئوی قبلی در بخش برنامهنویسی C برای میکروکنترلرها است.
حل مشکل رفرش نشدن سون سگمنت: این مشکل هنگامی رخ میدهد که دست روی کلیدها نگه داشته میشود و سون سگمنت دیگر بهدرستی رفرش نمیشود. در این بخش، این مشکل به صورت نرمافزاری حل خواهد شد.
شمارش یک ثانیه یکبار: مشکل سوم مربوط به شمارش زمان است. در این بخش، کدی نوشته میشود که شمارش یک ثانیهای را بهدرستی پیادهسازی کند.
این ویدئو به شما کمک میکند که پروژههای میکروکنترلری خود را به صورت بهینه و بدون نیاز به تغییرات سختافزاری بهبود دهید.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DJQ7nnXyvhr/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/5OG6KQWCLCA
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 54 - Microcontroller, Timer
در این ویدئو، شما با مفهوم و عملکرد واحد تایمر-کانتر در میکروکنترلرها آشنا خواهید شد. این واحد یکی از اجزای اصلی میکروکنترلر است که برای انجام عملیاتهای زمانی مختلف استفاده میشود. در این ویدئو، شما یاد میگیرید که هر بخش از واحد تایمر-کانتر چه کاربردی دارد و عملکرد هر هفت مود مختلف این واحد را بررسی خواهید کرد.
در این ویدئو، مطالب زیر پوشش داده میشود:
مفهوم و عملکرد واحد تایمر-کانتر در میکروکنترلرها.
توضیح درباره هفت مود مختلف این واحد و کاربرد هرکدام:
مود 1: Accurate Time (تایم دقیق برای رفرش سون سگمنت)
مود 2: PWM (مدولاسیون عرض پالس برای کنترل موتور DC و سروو موتور)
مود 3: Counter (شمارش برای اندازهگیری فرکانس و تاکومتر)
مود 4: Capture (ضبط پالسها برای اندازهگیری Duty Cycle و استفاده در سنسورهایی مانند SRF05)
مود 5: RTC (ساعت واقعی برای اندازهگیری زمان واقعی)
مود 6: WDT (تایمر Watchdog برای محافظت از سیستم)
مود 7: Millis (شمارش میلیثانیه)
مثالهای عملی برای هر مود: برای هر مود، مثالهایی برای عملکرد صحیح و کاربرد هر مود در میکروکنترلر معرفی میشود تا نحوه کارکرد آنها را درک کنید.
این ویدئو برای کسانی که میخواهند با واحد تایمر-کانتر در میکروکنترلر آشنا شوند و نحوه استفاده از آن را یاد بگیرند، بسیار مفید خواهد بود.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DJQ8vztSqMT/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/R8XcFXiZaRU
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 55 - AVR, External Interrupts
در این ویدئو، شما با راهاندازی و استفاده از وقفههای خارجی در میکروکنترلرهای AVR آشنا خواهید شد. این ویدئو به طور ویژه به بررسی تمامی وقتیهای خارجی در میکروکنترلر ATMEGA328 میپردازد و نحوه مدیریت پرچم وقفهها و زمان پاک کردن آنها را آموزش میدهد.
در این ویدئو، شما با موارد زیر آشنا خواهید شد:
راهاندازی وقفه خارجی 0 و نحوه استفاده از آن در میکروکنترلر AVR.
بررسی هدر فایل eInterrupt.h و نحوه استفاده از آن برای مدیریت وقفهها.
راهاندازی وقفه خارجی 1 و نحوه پیکربندی آن در ATMEGA328.
Interrupts Pin Change و نحوه استفاده از آن برای شناسایی تغییرات در ورودیها.
پرچم وقفه چیست و چطور باید در زمان مناسب آن را به صورت دستی پاک کرد.
بهینهسازی کد برای عملکرد بهتر در هنگام استفاده از وقفههای خارجی.
این ویدئو برای کسانی که میخواهند از وقفههای خارجی در پروژههای خود استفاده کنند و بهترین روشها برای مدیریت وقفهها را یاد بگیرند، بسیار مفید است. همچنین این ویدئو به شما کمک میکند تا مدیریت بهینه و کارآمدتری بر روی وقفهها داشته باشید.
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DJQ9eAIy2S4/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/eGV7mYVpWX4
صفحه گیتهاب من:
https://github.com/aKaReZa75