شروع-دوباره-فعالیت-یوبرد

شروع دوباره فعالیت یوبرد

شروع دوباره فعالیت یوبرد، دلایل و لزوم محدود شدن فعالیت های یوبرد، خدمات گذشتۀ یوبرد، خدمات جدید یوبرد، پلتفرم نرم افزار یوبرد، پروژه یوبرد، مشاوره یوبرد، آموزش های یوبرد، فیلم های آموزشی یوبرد، آموزش های خصوصی یوبرد، بردهای آموزشی یوبرد، دوره های آموزشی یوبرد، وبلاگ یوبرد

مرجع متنی دقیق، پویا و معتبر

 

مقایسۀ برابری انواع float

در برنامه نویسی، عبارات floating-point نباید از نظر برابری یا نابرابری آزمایش شوند. ماهیت ذاتی انواع float به گونه‌ای است که مقایسۀ برابری آنها اغلب درست نخواهد بود. رفتار چنین مقایسه‌ای را نمی‌توان قبل از اجرا پیش‌بینی کرد و ممکن است از یک اجرا به اجرای دیگر متفاوت باشد. مثلاً نتیجۀ آزمایش if(x == y) وقتی که x و y از نوع float باشند، غیر قابل پیش‌بینی است.

استاندارد MISRA C، قانون 13.3

تاخیر میکروثانیه ای

تأخیرهایی در حد میکروثانیه و به صورت Non-blocking (یعنی تأخیری که کل سیستم را منتظر نگذارد) معمولاً توسط OSها یا پلتفرم‌ها ایجاد نمی‌شوند. زیرا برای این کار باید وقفۀ یک تایمر، حداقل هر یک میکروثانیه اتفاق بیفتد. وقفه‌ای با این سرعت و به صورت پیوسته، باعث افزایش بار پردازشی UPC می‌شود و در بسیاری از پروژه‌ها، معایب این موضوع بیشتر از مزایای آن است. نکات ارائه شده در ویدئوی پیوست کتابخانۀ Delay

توابع و داده های static

در تعریف و اعلان توابع و داده‌هایی که لینک داخلی دارند، یعنی تنها در یک فایل استفاده می‌شوند، باید از مشخص کنندۀ کلاس حافظۀ static استفاده شود. دلیل این موضوع این است که ممکن است دربارۀ این که متغیر یا تابعی، extern یا static است، ابهام به وجود بیاید. استفاده از کلمۀ static این ابهام را برطرف می‌کند.

استاندارد MISRA C، قانون 8.11

آرایه با کلاس حافظۀ خارجی

در زمانی که یک آرایه با کلاس حافظۀ extern اعلان می‌شود، تعداد اعضای آن باید به صورت صریح (قرار دادن عدد در براکت) یا به صورت ضمنی (مقداردهی اولیۀ اعضای آن) مشخص شود. اگرچه می‌توان آرایه‌ها را با کلاس ذخیره سازی extern، بدون مشخص کردن اندازۀ آنها اعلان کرد، اما در زمانی که امکان تعیین اندازۀ آرایه‌ها وجود دارد، انجام این کار ایمن‌تر است.
استاندارد MISRA C، قانون 8.12

کد مرده در برنامه نویسی

در هیچ جای برنامه نباید کد مرده وجود داشته باشد. هر کدی که حذف آن، تأثیری بر خروجی برنامه نگذارد، کد مرده است. برای مرور کنندۀ کد مشخص نیست که وجود این کد عمدی است یا به دلیل خطای برنامه نویس رخ داده است. از نمونه‌های کد مرده، کدهای درون ifی است که شرط آن هیچ‌گاه True نمی‌شود. در این صورت کدهای درون if هیچ‌گاه اجرا نمی‌شوند.

استاندارد MISRA C++، قانون 0-1-9

عملگرهای رابطه‌ای برای اشاره‌گرها

عملگرهای <، =<، > و => نباید برای اشاره‌گرها اعمال شوند، مگر در مواردی که اشاره‌گرها به یک آرایۀ یکسان اشاره می‌کنند. اگر دو اشاره‌گر به شیء یکسانی اشاره نکنند، تلاش برای مقایسه بین آنها، رفتار نامشخص ایجاد می‌کند.
استاندارد MISRA C++، قانون 5-0-18

مقداردهی متغیر قبل از خواندن

همۀ متغیرها قبل از استفاده باید مقدار مشخصی داشته باشند. بنابراین قبل از خوانده شدن، باید در آنها نوشت و لزوماً نیاز به مقداردهی اولیه در زمان اعلان نیست. متغیر با مدت زمان ذخیرۀ استاتیک، اگر مقداردهی اولیه نشود، به طور خودکار صفر می‌شود. در عمل، بسیاری از محیط‌های امبدد این کار را نمی‌کنند. متغیر با مدت زمان ذخیرۀ اتوماتیک هم معمولاً به طور خودکار مقداردهی اولیه نمی‌شود. سازنده‌های کلاس هم باید همۀ اعضای غیر ثابت کلاس را مقداردهی اولیه کنند.
استاندارد MISRA C++، قانون 1-5-8

کنترل موتور براشلس با STM32

از ویژگی‌های تایمرهای Advanced میکروکنترلرهای STM32، امکان ایجاد PWM شش مرحله‌ای است. PWM شش مرحله‌ای در کنترل موتورهای براشلس کاربرد دارد و در STM32 می‌توان با تایمرهای Advanced، موتورهای براشلس را کنترل کرد. PWM شش مرحله‌ای نسبت به روش‌های دیگر کنترل موتور براشلس، عملکرد بهتر، مصرف انرژی کمتر و سطح ایمنی بالاتری را فراهم می‌آورد.

از مباحث آموزش STM32

فیوزبیت EESAVE

برای جلوگیری از پاک شدن محتوای حافظۀ EEPROM داخلی میکروکنترلرهای AVR در هنگام پاک کردن حافظۀ فلش آن، فیوزبیتی به نام EESAVE وجود دارد که باید فعال شود. در غیر این صورت، هر بار که حافظۀ فلش پاک می‌شود، حافظۀ EEPROM نیز پاک می‌شود. فیوزبیت EESAVE به صورت پیش‌فرض غیر فعال است و برای حفظ محتوای EEPROM باید فعال شود. حفظ محتوای EEPROM در بسیاری از پروژه‌ها ضروری است.

از مباحث آموزش AVR

تفاوت Event با وقفه در STM32

در میکروکنترلرهای STM32، علاوه بر وقفه‌های خارجی، Eventهای خارجی هم وجود دارند. تفاوت Event خارجی با وقفۀ خارجی این است که در وقفۀ خارجی، اجرای کد وجود دارد و با اتفاق افتادن آن، کدهای روتین وقفه اجرا می‌شوند، اما در Event خارجی، اجرای کد وجود ندارد و اتفاق افتادن آن فقط باعث می‌شود  میکروکنترلر از مد کاهش مصرف توان خارج شود.

از مباحث آموزش STM32

کلاک خروجی در STM32

در میکروکنترلرهای STM32، قابلیتی وجود دارد که می‌توان از برخی قسمت‌های واحد RCC، یک سیگنال کلاک را انتخاب کرد و آن را روی یک پایۀ خروجی تحت عنوان MCO قرار داد. سیگنال کلاک خروجی می‌تواند از قسمت‌هایی نظیر کلاک سیستم، خروجی PLLها، خروجی اسیلاتورهای HSE و HSI یا از بخش‌هایی دیگر باشد. این سیگنال خروجی می‌تواند برای سنکرون سازی و یا تأمین کلاک یک مدار یا آی سی دیگر به کار رود.

از مباحث آموزش STM32

وقفۀ Pin change در AVR

در برخی میکروکنترلرهای AVR، وقفه‌های Pin change وجود دارند که تفاوتشان با وقفۀ خارجی این است که در وقفۀ خارجی می‌توان تعیین کرد وقفه با لبۀ پایین‌رونده یا بالارونده یا تغییر سطح اتفاق بیفتد، اما وقفۀ Pin change با هر لبه یا تغییر سطح سیگنال اتفاق می‌افتد. همچنین هر وقفۀ خارجی با تحریک تنها یک پایۀ ورودی اتفاق می‌افتد. اما هر وقفۀ Pin change، چند پایۀ ورودی دارد و تحریک هر یک از آنها، باعث اتفاق افتادن وقفۀ Pin change می‌شود.
از مباحث آموزش آردوینو

خواندن فرکانس و دیوتی سایکل با آردوینو

یک روش برای خواندن Duty Cycleو فرکانس موج PWM ، قابلیت Capture تایمرهاست. برای بردهای آردوینو مبتنی بر AVR، کتابخانۀ TimerOne،  فاقد قابلیت کپچر است. اما در کتابخانۀ HardwareTimer میکروکنترلرهای STM32 در آردوینو، می‌توان از کپچر استفاده کرد و مد input PWM تایمرهای STM32 را فعال کرد و دو کپچر را به کار گرفت و فرکانس و دیوتی سایکل موج ورودی را خواند.

از مباحث آموزش آردوینو

اولویت وقفه‌ها در STM32

 

از مباحث آموزش stm32در میکروکنترلرهای STM32، قابلیتی وجود دارد که می‌توان از برخی قسمت‌های واحد RCC، یک سیگنال کلاک را انتخاب کرد و آن را روی یک پایۀ خروجی تحت عنوان MCO قرار داد. سیگنال کلاک خروجی می‌تواند از قسمت‌هایی نظیر کلاک سیستم، خروجی PLLها، خروجی اسیلاتورهای HSE و HSI یا از بخش‌هایی دیگر باشد. این سیگنال خروجی می‌تواند برای سنکرون سازی و یا تأمین کلاک یک مدار یا آی سی دیگر به کار رود.

از مباحث آموزش STM32

خم کردن پایۀ THD

خم پایه‌های قطعات THD برای مونتاژ در حالت خوابیده، باید ربع دایره‌ای با شعاع R باشد. برای قطر (D) یا ضخامت (T) پایه کمتر از 0.8mm، حداقل R باید برابر D یا T، برای D یا T بین 0.8mm تا 1.2mm، حداقل R باید 1.5D یا 1.5T و برای D یا T بزرگتر از 1.2mm، حداقل R باید 2D یا 2T باشد.
از مباحث آموزش لحیم‌کاری و استاندارد IPC-610

مکان صحیح ورودی/خروجی‌ها در PCB

ورودی‌ها و خروجی‌ها در PCB باید حتی الامکان دور از هم قرار گیرند. بهترین حالت این است که ورودی‌ها در یک سمت PCB و خروجی‌ها در سمت دیگر باشند. همچنین مدارات مربوط به ورودی/خروجی‌ها، باید در نزدیکی کانکتورهای ورودی/خروجی قرار گیرند و از مرکز PCB فاصله داشته باشند.
از نکات جلسۀ آموزش EMC/EMI و کاهش نویز در PCB

شرایط هدف IPC (Target Condition) درمورد سیم در زیر پیچ

تمام رشته‌های سیم  در کنار هم و در زیر پیچ قرار گیرند.

سیم حداقل 270 درجه از 360 درجه را زیر پیچ باشد.

محکم شود.

جهت تابیدن سیم زیر پیچ در جهت سفت شدن پیچ باشد.

آموزش لحیم کاری مبتنی بر IPC

ارتفاع قلع در حفرۀ پدهای برد متالیزه

در لحیم کاری پایۀ یک قطعه در حفرۀ پدهای بردهای متالیزه، بهترین حالت، پر شدن قلع به اندازۀ 100% ارتفاع حفره است. درصورتی که تا 75% این ارتفاع از قلع پر شده باشد نیز برای هر 3 کلاس پذیرفته شده است. در صورتی که این مقدار کمتر از 75% باشد، برای کلاس 1 پذیرفته ولی برای کلاس 2 و 3 پذیرفته شده نیست.

استاندارد IPC-A-610، بخش 7.5.5.1

چرا در نزدیکی یا روی پدها از وایا استفاده نکنیم؟

زیرا در هنگام مونتاژ توسط ماشین، قلع قرار گرفته روی پد، داخل وایا می‌رود و قلع کافی برای اتصال پد باقی نمی‌ماند. در نتیجه ممکن است اتصالی بین پایه و پد برقرار نشود یا این که اتصال، ضعیف و شکننده باشد. این سوال، پاسخ‌های متعددی دارد، اما پاسخ درست همین است.

راه اندازی DAC در STM32

راه اندازی DAC در STM32

راه اندازی DAC در STM32، ویژگی های DAC در میکروکنترلرهای STM32F1، بلوک دیاگرام DAC در STM32، اتصالات راه اندازی DAC در میکروکنترلر STM32F107VC، نمونه کد رجیستری راه اندازی واحد DAC در میکروکنترلرهای STM32F1، ساخت موج سینوسی با STM32، راه اندازی مبدل دیجیتال به آنالوگ STM32 با توابع HAL

راه اندازی ماژول SIM800، تماس تلفنی و پیامک

راه اندازی ماژول SIM800، تماس تلفنی و پیامک

راه اندازی ماژول SIM800، AT کامند چیست، سخت افزارها و نرم افزارهای مورد نیاز برای راه انداختن SIM800، تغذِیۀ ماژول SIM800، ارتباط سریال ماژول SIM800، ارسال AT کامند به SIM800، سینتکس های AT کامند در SIM800، تنظیمات اولیۀ SIM800، تماس تلفنی و ارسال و دریافت SMS با SIM800

انواع هویه، ویژگی ها و کاربرد آنها

انواع هویه، ویژگی ها و کاربرد آنها

تعریف و انواع هویه، هویه های الکتریکی و غیر الکتریکی، هویه ها از لحاظ اتصال نوک هویه به هیتر آن، توان هویه، قابل حمل بودن، سرعت داغ شدن هویه، هویه های AC و DC، هویه های قلمی و تفنگی، قابلیت های دیگر هویه ها، انواع مختلف هویه، نکات هویه

تست الکتریکال PCB و روش های آن

تست الکتریکال PCB و روش های آن

تست الکتریکال برد مدار چاپی چیست؟ برخی انواع تست PCB، تست الکتریکال PCB، پارامترهای اندازه گیری در تست الکتریکال، روش های تست الکتریکال برد مدار چاپی، روش تست Flying probe، روش تست Universal grid یا Bed of nails، نکات تست الکتریکال برد مدار چاپی

انواع نوک هویه و کاربرد آنها

انواع نوک هویه و کاربرد آنها

انواع نوک هویه متداول، انواع اتصال نوک هویه به هیتر، مشخصات و کاربرد انواع نوک هویه، نوک هویه تایپ B، تایپ I، تایپ BI، تایپ SI، تایپ D، تایپ C، تایپ K، قاشقی، T شکل و Diamond، احیا کننده های نوک هویه، نام های نوک هویه

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

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

راه اندازی سون سگمنت با آردوینو UNO، راه اندازی سون سگمنت 4 تایی آند مشترک با آردوینو، اتصال سون سگمنت به آردوینو، کتابخانۀ سون سگمنت برای آردوینو، نمونه کد راه اندازی سون سگمنت، نمایش اعداد در سون سگمنت 4 تایی، نکات راه اندازی سون سگمنت

راه اندازی ADC در آردوینو

راه اندازی ADC در آردوینو

راه اندازی ADC در آردوینو، راه اندازی LCD گرافیکی KS0108 با کتابخانۀ U8g2، اتصالات لازم برای راه اندازی ADC و LCD گرافیکی KS0108، نمونه کد راه اندازی ADC آردوینو، فرمول محاسبۀ دما با TMP36، راه اندازی سنسور دما با آردوینو، راه اندازی فتوسل (LDR) با آردوینو

راه اندازی آردوینو، شروع کار با Arduino

راه اندازی آردوینو، شروع کار با Arduino

راه اندازی آردوینو، اضافه کردن آردوینو به VS Code و ویژوال استودیو، ایجاد پروژه آردوینو در Arduino IDE و VS Code و ویژوال استودیو، برنامه نویسی آردوینو در Arduino IDE و VS Code و ویژوال استودیو، آپلود برنامه روی آردوینو با Arduini IDE و VS Code و ویژوال استودیو

راه اندازی UART در STM32، رجیستری و HAL

راه اندازی UART در STM32، رجیستری و HAL

راه اندازی UART در STM32، اتصالات و نرم افزار مورد نیاز، نمونه کد USART در STM32 به صورت رجیستری، نمونه کد رجیستری USART با وقفۀ دریافت، نمونه کد HAL برای راه اندازی USART در STM32، نمونه کد HAL با وقفۀ دریافت، نحوه محاسبه Baud rate در USART میکروکنترلرهای STM32F1

برنامه نویسی میکروکنترلرها با ویژوال استودیو

برنامه نویسی میکروکنترلرها با ویژوال استودیو

نصب VisualGDB روی ویژوال استودیو، ساخت پروژه برای برنامه نویسی میکروکنترلرها با ویژوال استودیو، ساخت پروژه برای STM32 در ویژوال استودیو، کدنویسی STM32 در ویژوال استودیو، ساخت پروژه برای AVR در ویژوال استودیو، ساخت پروژه برای LPC در ویژوال استودیو، ساخت پروژۀ آردوینو در ویژوال استودیو

راه اندازی ADC در STM32، رجیستری و HAL

راه اندازی ADC در STM32، رجیستری و HAL

راه اندازی ADC در STM32، استفاده از پیکربندی Independent، کانال تکی، تبدیل Discontinuous و کانال Regular، اتصالات لازم برای راه اندازی واحد ADC در STM32، نمونه کد رجیستری، نمونه کد ADC میکروکنترلر STM32 با HAL، خواندن از چند کانال ADC با توابع HAL، توابع HAL راه اندازی ADC

راه اندازی STM32 با آردوینو

راه اندازی STM32 با آردوینو

راه اندازی STM32 با آردوینو، راه اندازی STM32 در آردوینو، اضافه کردن میکروکنترلرهای STM32 به Arduino IDE، برنامه نویسی میکروکنترلرهای STM32 و بردهای Nucleo-F103RB و Blue pill در Arduino ، پروگرام کردن STM32 با Arduino IDE، بوت لودر USB برد Blue pill، بوت لودر STM32 HID

راه اندازی سون سگمنت با STM32، رجیستری و HAL

راه اندازی سون سگمنت با STM32، رجیستری و HAL

راه اندازی سون سگمنت با STM32F103VE، مقداردهی به رجیسترهای واحد GPIO با تابع، استفاده از توابع GPIO برای نمایش اعداد روی سون سگمنت، راه اندازی سون سگمنت 4 رقمی با STM32، تشریح برنامۀ نوشته شده و توضیح عملکرد آن، نکات راه اندازی سون سگمنت، راه اندازی 7-segment با توابع HAL

پروگرامر J-Link و برنامه ریزی میکروکنترلرهای ARM

پروگرامر J-Link و برنامه ریزی میکروکنترلرهای ARM

پروگرامر J-Link، پردازنده هایی که توسط J-Link پشتیبانی می شوند، انواع J-Link، ویژگی های J-Link، نرم افزار J-Flash چیست؟ پروگرام کردن STM32F1xx و LPC17xx با J-Flash و J-Flash Lite و Keil، اتصالات JTAG و SWD در J-Link، تنظیمات J-Flash و Keil برای پروگرام کردن با J-Link

رله، سوییچ تحریک پذیر

رله، سوییچ تحریک پذیر

تعریف رله، تاریخچه، طرز کار رلۀ الکترومکانیکی، اصطلاحات، انواع الکترومکانیکی، رلۀ حالت جامد، رلۀ هیبریدی، رلۀ حرارتی و انواع تحریک شونده با عوامل غیر الکتریکی، انواع موجود در صنعت برق و برق صنعتی، رلۀ ایمنی و برخی انواع حفاظتی، رلۀ دیجیتال، لزوم استفاده و راه اندازی رله، مشخصات الکتریکی

پروتکل I2C، ادغامی از USART و SPI توسط Philips

پروتکل I2C، ادغامی از USART و SPI توسط Philips

پروتکل I2C، تاریخچه I2C، ویژگی ها و کاربردهای I2C، عبارات و اصطلاحات I2C، باس، اتصالات و گسترش شبکه I2C، سیگنال های I2C، قالب داده و آدرس در I2C، انتقال داده در I2C، آدرس دهی 10 بیتی، قابلیت Multi-master، حکمیت، مشخصات الکتریکی و زمانی، مقدار مقاومت های پول آپ، Clock Stretching

آردوینو، پروژه بدون الکترونیک و برنامه نویسی

آردوینو، پروژه بدون الکترونیک و برنامه نویسی

سخت افزار آردوینو، نرم افزار آردوینو، نرم افزار Arduino IDE، نرم افزار Arduino Web Editor، زبان برنامه نویسی آردوینو، Arduino Pro پلتفرم IOT آردوینو، مزایای آردوینو، آردوینو مناسب چه کاربردهایی است، معایب آردوینو، تحلیل هدف آردوینو، کاربرد آردوینو در صنعت، پروژه های پیچیده و محدودیت های آردوینو

سون سگمنت، نمایشگر هفت قسمتی

سون سگمنت، نمایشگر هفت قسمتی

سون سگمنت چیست؟ انواع 7-segment، تاریخچه 7-segment، ساختار 7-segment و نمایش در آن، تعداد ارقام و 7-segmentهای مالتی پلکس، کاربردها، انواع اندازه ها و رنگ ها و مدار راه اندازی 7-segment، بایاس 7-segment، مقدار مقاومت در راه اندازی 7-segment، درایور سون سگمنت، پایه های 7-segment

نرم افزار ST-LINK Utility و برنامه ریزی STM32

نرم افزار ST-LINK Utility و برنامه ریزی STM32

معرفی نرم افزار ST-LINK Utility و ویژگی های آن، بخش های مختلف ST-LINK Utility، برنامه ریزی STM32 با ST-LINK Utility، برنامه ریزی اتوماتیک میکروکنترلرهای STM32، کار با محتویات حافظه در ST-LINK Utility، آپدیت Firmware پروگرامر ST-LINK، انجام تنظیمات برنامه ریزی در ST-LINK Utility، ابزارهای کاربردی در ST-LINK Utility

آپدیت Firmware ماژول SIM800

آپدیت Firmware ماژول SIM800

نحوه آپدیت Firmware ماژول SIM800، آپدیت Firmware بلوتوث ماژول SIM808 و SIM800، نکات قبل از شروع آپدیت ماژول های SIM800، آپدیت ماژول های SIM800 با نرم افزار SIM800 Series download Tools Customer، مراحل به روز رسانی و تغییر نرم افزار SIM800، آپدیت Firmware ماژول SIM800C

ترمینال پورت سریال و کار با نرم افزار Hercules

ترمینال پورت سریال و کار با نرم افزار Hercules

ترمینال پورت سریال چیست؟ پورت سریال مجازی چیست؟ نرم افزارهای پورت سریال، ترمینال سریال در CodeVisionAVR و Atmel Studio و Arduino، ارتباط کامپیوتر با میکروکنترلرها و ماژول ها از طریق پورت سریال، ترمینال سریال در پروتئوس، کار با ترمینال سریال نرم افزار Hercules، ارسال و دریافت دادۀ سریال با Hercules

ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است