<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های SM _ FARAJI</title>
        <link>https://virgool.io/feed/@sm_faraji</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-17 02:02:09</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/2152797/avatar/vsjsDP.jpg?height=120&amp;width=120</url>
            <title>SM _ FARAJI</title>
            <link>https://virgool.io/@sm_faraji</link>
        </image>

                    <item>
                <title>الگوریتم AHRS (پیدا کردن وضعیت کوادکوپتر)</title>
                <link>https://virgool.io/@sm_faraji/%D9%8Eahrskf-o8yuptmsam6o</link>
                <description>طبق تعاریف رایج AHRS(attitude and heading reference system) شامل سنسورهای سه محوره است که وضعیت (attitude) یک جسم را در دستگاه NED (North, East, Down) مشخص می کند این زوایا Roll، Pitch و Yaw هستند. بطور معمول از سنسورهای میکرو الکترومکانیکی (MEMS) بدلیل سادگی و ارزانی استفاده می شود درحالیکه در گذشته از ژایروسکوپ های مکانیکی بسیار بزرگ‌تر و پیچیده استفاده می‌شد که با پیشرفت تکنولوژی جای خود را به MEMS دادند. در AHRS از سنسورهای شتاب سنج(Accelerometer)، ژایروسکوپ (Gyroscope) و مغناطیس سنج(Magnetometer) بطور معمول استفاده میشود که مورد آخر بصورت دلخواه و وابسته به الگوریتم است. فرق AHRS با IMU(inertial measurement unit) است که یک برد محاسبه گر در کنار سنسورها  می تواند تخمینی از وضعیت وسیله ارائه دهد.ورودی و خروجی الگوریتم AHRSبررسی سنسور ها:سنسور شتاب‌سنج(Accelerometer)این سنسور مجموع شتابهای وارده بر جسم (بعلاوه شتاب جاذبه) را در سه محور متعامد اندازه گیری می کند در مسئله AHRS شتاب جسم نزدیک صفر فرض می شود و فرض میگردد که تنها شتاب جاذبه اندازه گیری میگردد. در برخی از الگوریتم های ارائه شده در این زمینه از این تکنیک برای محاسبه اولیه مقادیر Roll و Pitch سیستم استفاده میگردد.چالش هایی که رابطه با این سنسور وجود دارد برای مثال هنگامی که شتاب خارجی به سیستم وارد میگردد مقادیر وضعیت محاسبه شده با واقعیت کمی فاصله دارد. و در هنگام شتاب گرفتن جسم مقدار خوانده شده توسط شتاب سنج شامل میزان شتاب جاذبه و شتاب خارجی سیستم است که اگر مقدار شتاب خارجی در هر محور به تفکیک مشخص نباشد محاسبات دارای خطا خواهند شد گرچه برای سیستم های با شتاب نزدیک صفر میتوان از آن چشم پوشی کرد یا با اعمال الگوریتم های مناسب میتوان اثر ان را در تخمین کاهش داد همچنین اکثر سیستم در بیشتر زمان کارکرد خود دارای شتاب صفر هستند یک هواپیما را درنظر بگیرید بیشترین تغییرات سرعت آن هنگام نشست و برخاست است، یا کوادروتور درحال پرواز.سنسور ژایروسکوپ(Gyroscope)این سنسور  نرخ تغییرات زاویه سیستم را در سه محور محاسبه میکند که در حالت ایده آل می توان با داشتن زوایای اولیه جسم و نرخ تغییرات زاویه در طول زمان، وضعیت سیستم را تخمین زد که بدلیل وجود دریفت درطول زمان همچنین بایاس این کار بسیار سخت است. بعلاوه اینکه با توجه به شرایط محیطی این ویژگی های سنسور میتواند تغییر کند.سنسور مغناطیس‌سنج(Magnetometer)این سنسور میدان مغناطیسی زمین را در سه محور خود اندازه گیری می کند و بطور معمول برای محاسبه زاویه Yaw استفاده می گردد و نقشی در محاسبه Roll و Pitch ندارد. البته تخمین این زاویه با استفاده از مگنتومتر دارای چالش هایی است برای مثال میدان مغناطیسی زمین بسیار ضعیف است و حضور اجسام فلزی، مغناطیسی و سیم های حامل جریان الکتریکی اندازه گیری ها را دچار اعوجاج می کند. همچنین میدان مغناطیسی زمین بصورت یکنواخت نیست و این خوب سبب ایجاد پدیده هایی مثل Hard-iron و Soft-iron میشود که باید مقادیر محور ها را قبل از محاسبه Yaw کالیبره کرد. مدل کردن میدان مغناطیسی در یک ناحیه را میتوان با 10 پارامتر انجام داد که 6 تای آن عناصر یک ماتریس 3 در 3 متقارن، برای حذف اثر پدیده Soft-iron و سه تای آن برای حذف آفست Hard-iron و آخری نمایانگر شدت میدان مغناطیسی در آن نقطه است.مدل مغناطیسی زمیناگر میدان مغناطیسی دارای اعوجاج آهن-سخت و آهن-نرم نباشد تمام مقادیر هر دو محور دلخواه آن، اگر نسبت بهم رسم شوند درون یک دایره به مرکز مبدا قرار میگیرد:عدم اعوجاج مغناطیسیاعوجاج آهن-سخت باعث تغییر مبدا میگردد:وجود اعوجاج آهن-سختو در آخر اثر هر دو اعوجاج را میتوان بصورت زیر نمایش داد:دارای هردو اعوجاجدر شکل زیر میتوان اندازه گیری های کالیبره شده و کالیبره نشده(شکل راست) را بصورت سه بعدی مشاهده کرد. در شکل کالیبره شده یک کره در مبدا صفر تمام مقدار اندازه گیری در سه محور را در بر میگیرد:کالیبراسیون مقادیر محورهاخلاصه ای از مزایا و معایب هر سنسور در جدول زیر آمده است:جمع بندی بررسی سنسورهاانواع راه حل های AHRS بصورت زیر دسته بندی شده اند:انواع الگوریتم های AHRSشبیه سازی یک مقاله در رابطه با AHRSبرای درک بیشتر این مساله یک مقاله در این حوزه در یک بستر مناسب شبیه سازی می شود مقاله انتخاب شده Concept of AHRS Algorithm Designed for Platform Independent Imu Attitude Alignment است که یک الگوریتم پیشنهادی برای بدست آوردن وضعیت سیستم با استفاده داده سنسورهای شتابسنج، ژایروسکوپ و مگنتومتر ارائه داده است داده های این سنسورها بصورت آنلاین با استفاده از الگوریتم فیلتر کالمن با هم ترکیب شده و وضعیت سیستم تخمین زده میشود.سنسورهای میکروالکترونیک امروزه بسیار پراستفاده هستند میکروسیستم ها برای افزایش تولید در زمینه های مختلف مورد استفاده قرار میگیرند تا عملکرد را بهبود و هزینه را کاهش دهند بعنوان مثال به AHRS های مبتنی بر MEMS میتوان اشاره کرد که در ناوبری زیرسطحی، تشخیص حرکت، واقعیت افزوده و هدایت اجسام هوایی کاربرد دارند. سنسور IMU مقادیر شتاب خطی، نرخ زاویه ای و القای مغناطیسی زمین را در سه محور دو به دو عمود بر هم را اندازه گیری میکند همچنین سه محور متناظر هم سه سنسور با هم موازی بوده و مبدا هر سه یک نقطه است. این راهکار دستگاه بدنی IMU را معرفی میکند که فریم بدنی نام دارد.محاسبات AHRS از فیلتر کالمن خطی بهره میگیرد و مقاله از داده های سنسور گوشی Samsung galaxy s5 استفاده کرده است. اما در شبیه سازی از نمونه داده های آماده که قبلا از سنسور یک گوشی گرفته شده استفاده میشود و الگوریتم بصورت کد در متلب پیاده سازی میشود.برای تخمین زوایای اویلر باید فیلتر کالمن خطی طراحی شود. مقادیر اندازه گیری یا همان بردار Zt بصورت زیر محاسبه میشود:ماتریس H نیز از ژاکوبین ماتریس بالا بدست می آید:همچنین ماتریس R نیز بصورت قطری تعریف میگردد:حالت های سیستم نیز شامل زوایای اویلر و دریفت ژایروسکوپ مرتبط با هر زوایه اویلر است:ماتریس انتقال حالت A نیز بگونه ای تعریف میگردد که اثر دریفت را در پیش بینی زاویه حذف کند:ماتریس B نیز که در مقادیر ژایرو که بعنوان ورودی تعریف شده اند بصورت زیر تعریف میگردد:ماتریس Q نیز بصورت قطری و با ابعاد 6 در 6 تعیین میگردد.کالمن بصورت دو بخش پیاده سازی میگردد یکی بخش اول که به ان اصطلاحا Predict گفته میشود و یک تخمین اولیه از حالت های سیستم میدهد و در بخش Update با رسیدن مقادیر حالت های سیستم را بروزرسانی میکند.حال باید الگوریتم را در متلب پیاده سازی کنیم. داده خام سنسورها نیز بصورت زیر است:کد پیاده سازی در گیت‌هاب قرار داده شده است.در پایان تخمین زوایای اویلر بدین گونه شد:اگر با دقت مشاهده کنیم در بخش هایی که اغتشاش زیاد است یا شتاب خارجی به سیستم وارد شده الگوریتم تخمین بهتری ارائه داده است:در آینده نحوه پیاده سازی این الگوریتم در بسترها سخت افزاری رایج بررسی خواهد شد پس با ما همراه باشید:آدرس گیت‌هابآدرس یوتیوبآدرس تلگرامآدرس آپارات</description>
                <category>SM _ FARAJI</category>
                <author>SM _ FARAJI</author>
                <pubDate>Fri, 26 Jul 2024 19:31:58 +0330</pubDate>
            </item>
                    <item>
                <title>سیستم عامل ربات ROS: به دنیای برنامه نویسی ربات‌ها خوش آمدید</title>
                <link>https://virgool.io/@sm_faraji/what-is-ros-rzxjl4fc044d</link>
                <description>فریمورک ROS یک مجموعه نرم افزارها و محیط توسعه کد برای ربات است کمک می‌کند تا ربات را بصورت ماژولار با زبان‌های برنامه‌نویسی مختلف توسعه داده شود همچنین محیط های شبیه سازی همانند گزبو، turtlesim و گراف های نموداری براحتی امکان بررسی سریع پروژه و دیباگ آن را برای توسعه دهنده فراهم می‌کند. برخلاف اسمش سیستم عامل(OS) نیست.این فریمورک در بیشتر پروژه های رباتیک بزرگ راه پیدا کرده است نمونه آن در 1 سپتامبر 2014، ناسا اولین روباتی را که ROS را در فضا اجرا می کند، معرفی کرد؛Robotnaut 2 که در ایستگاه فضایی بین المللی مورد استفاده قرار گرفت.Robotnaut 2  در ایستگاه فضایی بین المللیپس اگر به دنیای رباتیک علاقه دارید بهترین گزینه برای ورود به آن  یادگیری این فریمورک شگفت انگیز و توانمند است. درک ROS و کار با آن ابتدا برای اکثر کاربران مشکل است همانطور که برای خودم رخ داد و تا به تسلط نسبی برسیم نیاز به تمرین و آموزش دارد پس صبور باشید و با ما در آموزش که سعی می‌شود جامع و با زبان ساده باشد همراه باشید!گزارش معروفی از رسانه بلومبرگ درباره تاریخچه تولد ROS و قابلیت های آن در اینترنت وجود دارد که با زیرنویس فارسی در ویدئو زیر مشاهده کنید به درک شما از ین پلتفرم و فلسفه آن آشنا خواهید شد: https://www.aparat.com/v/br3UW ویژگی های فریمورک رآس:1) مدیریت منابع سیستم2) شبیه سازی و مصور سازی اجزا مختلف ربات3) قابلیت توسعه کد بصورت ماژولار و درک آن برای افراد دیگر4) کدنویسی اجزا مختلف بصورت موازی و به زبان های برنامه نویسی مختلفبرای مثال اگر اجزا مختلف یک ربات هوشمند را بصورت زیر فرض کنیم:اجزا مختلف یک ربات زمینی هوشمندفریمورک رآس می‌تواند این اجزا را در قالب 5 نود مدیریت کند میتوان دوربین را با استفاده از کد پایتون خواند، تخمین موقعیت را ا استفاده از کد سی‌پلاس‌پلاس انجام داد.مدیریت نودها توسط رآسمفاهیم مختلف در رآس:تاپیک:بین نودهای مختلف در ربات تبادل داده رخ میدهد برای مثال نود تخمین موقعیت برای محاسبه مکان ربات نیاز به داده سنسور انکودر دارد از این رو نود Wheel Encoder باید داده هایی که از سنسور خوانده را به نو Position Estimator بفرستد.در اینجا نود Wheel Encoder در نقش پابلیشر (Publisher) و نود Position Estimator در نقش سابسکرایبر (Subscriber) است.نحوه ارسال داده میان نودها در قالب یک topicدر ضمن تعداد پابلیشر و سابسکرایبرها محدودیتی ندارد مثلا یک نود میتواند داده از چند نود مختلف سابسکرایب کند یا همزمان در نقش پابلیشر و سابسکرایبر باشد. مثلا در یک کوادکوپتر برای تخمین موقعیت(بعنوان یک نود)، باید از داده های GPS، بینایی و سنسور اینرسی استفاده کند پس از همه این نودها داده را سابسکرایب میکند.ساختار پیچیده تربرای ارسال تاپیک در رآس منابع زیادی مصرف میشود در برخی موارد، نیازی به ارسال دائم یک داده نیست فقط در صورتی که یک نود آن داده را درخواست(Request) کرد ROS Master آن را در اختیار نود قرار میدهد این سبب صرفه جویی در منابع سیستم میشود. به این شکل اشتراک داده و مدیریت آن Service می‌گویند.ساختار serviceجمع‌بندی:پس می توان فریمورک رآس را بعنوان ابزاری تعریف کرد که الگوریتم ربات را به چند قسمت مجزا(nodes) تقسیم میکند که هر نود را میتوان به زبان های مختلف توسعه داد برای ارتباط میان این نودها از service و topic استفاده می‌شود تاپیک با نرخ معینی در طول زمان ارسال میشود و جنس آن میتواند رشته، عدد و.. باشد سرویس نیز بسته به درخواست یک نود در اختیار آن قرار میگیرد و در استفاده از منابع صرفه جویی میشود. در ادامه با ابزارهای گرافیکی و شبیه سازی در رآس آشنا خواهید شد. شبیه سازی این امکان را میدهد که بدون نیاز به ربات فیزیکی الگوریتم را تست کرد درصورت وجود اشتباه در الگوریتم آن را متوجه شد بدون اینکه خسارت فیزیکی متوجه ربات شود.بدون رآس استفاده از زبانهای برنامه‌نویسی مختلف برای یک ربات بسیار زمان‌بر و سخت بود دیباگ کردن یک پروژه بزرگ تقریبا غیرممکن بود فهم آن برای عضو جدید تیم سخت بود رآس کمک میکند وقت خود را صرف خلاقیت و توسعه ربات کنید تا اینکه درگیر مشکلات ابتدایی باشید.در سری بعدی نحوه نصب و استفاده از فریمورک را در محیط لینوکس(اوبونتو) فراخواهیم گرفت پس همراه ما باشید.آدرس گیت‌هابآدرس یوتیوبآدرس تلگرامآدرس آپارات</description>
                <category>SM _ FARAJI</category>
                <author>SM _ FARAJI</author>
                <pubDate>Tue, 03 Oct 2023 13:25:49 +0330</pubDate>
            </item>
                    <item>
                <title>نحوه آپلود کد روی ماژول WiFi ESP8266 12-X</title>
                <link>https://virgool.io/@sm_faraji/programming-esp12-bnffkbl7c1na</link>
                <description>در این آموزش نحوه ریختن کد از نرم افزار آردوینو به ماژول وای‌فای ESP12-X را یاد خواهیم گرفت. مثل همیشه سعی می‌شود آموزش ها ساده، روان بوده و چیزی از قلم نیفتد. https://aparat.com/v/tEVUN این ماژول ارزان قیمت، قوی و دارای برد WiFi می‌باشد و در بسیاری از پروژه های اینترنت اشیا حضور دارد. دارای یک آنتن SMD با برد حدود 70 متر و یک On-Board LED است.ESP-12E/F Pinoutنکات مهم درباره پین های ماژول ESP12E : -این ماژول دارای 17 پین آنالوگ و دیجیتال است .-یک پین ورودی آنالوگ است و 16 پین دیگر بعنوان پین دیجیتال ورودی و خروجی استفاده می‌شوند.-البته شماره پین های 9 الی 14 برای اتصال حافظه فلش استفاده شده استفاده دیگر از آن ها ممکن است باعث هنگ کردن و مشکل در اجرای برنامه می‌شود پس بهتر است چنین استفاده‌ای از پایه های پایین برد نداشته باشید.-همه پایه های دیجیتال میتوانند بعنوان INPUT, OUTPUTیا INPUT_PULLUP  معرفی شوند بجز GPIO16 که بعنوان ورودی خروجی یا INPUT_PULLDOWN_16  معرفی میشود.-پایه های دیجیتال بجز GPIO16 میتوانند از وقفه استفاده کنند.پروگرام کردن ماژولبرای پروگرام کردن ماژول ESP12E/F باید ابتدا آن را به حالت Program Mode برد.برای اینکار باید: - پایه های RST, EN و GPIO0 را با مقاومت 10K اهم پول‌آپ کرد.- پایه GPIO15 باید با مقاومت 10K اهم پول‌داون کرد.- با استفاده از پایه GND و VCC تغذیه 3.3 ولتی برای برد باید فراهم کرد.- برای حالت پروگرم برد به دو پوش باتن فلش و ریست متصل به پایه reset و GPIO0 نیاز است.شماتیک مدار:مدار خارجی برای پروگرم کردن برد ESP12E/F نحوه اتصال پروگرمر به ماژول:اتصال میان پروگرمر و ماژولدو روش برای فعال کردن مود پروگرام ESP:پوش باتن Flash را نگه داشته و یک بار برد را  Reset میکنیم و پوش باتن Flash را رها می‌کنیم.پوش باتن Flash را نگه داشته، پروگرمر را از کامپوتر کشیده و دوباره متصل کنید و دکمه Flash را رها کنید.حال Arduino IDE را باز کنید باید تغییرات زیر را ایجاد کنیم:الف) در قسمت File&gt;Preferences لینک زیر را اضافه کنید:  http://arduino.esp8266.com/stable/package_esp8266com_index.jsonب) در قسمت Tools&gt;Board&gt;Board manager عبارت ESP8266 را جستجو کرده و برد آن را نصب کنید.ج) در قسمت Tools برد را Generic ESP8266 Module انتخاب کرده و پورتی که پروگرمر به ان متصل است را انتخاب کنید.د) از قسمت File&gt;Examples&gt;Basics&gt;Blink را انتخاب کنید تا یک مثال از کد آردوینو برای شما باز شود کد آن یک برنامه چشمک زن ساده است:void setup() {
 // initialize digital pin LED_BUILTIN as an output.
    pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
    digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
    delay(1000);                       // wait for a second
   digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
   delay(1000);                       // wait for a second
}ح) و در آخر در حالیکه پروگرمر به برد متصل و ماژول در مود پروگرم است دکمه Upload را در نوار بالای Arduino IDE که بصورت فلش است را بزنید تا کد روی برد ریخته شود پس از اتمام برد را ریست کنید تا برنامه شروع به کار کند.                                                                  **پایان**اگر حین پروگرام به مشکلی برخوردید در قسمت کامنت مطرح کنید. در ویدیو بالا نیز بصورت عملی نحوه پروگرام کردن این ماژول توضیح داده شده است. موفق باشد.آدرس گیت‌هابآدرس یوتیوبآدرس تلگرامآدرس آپارات</description>
                <category>SM _ FARAJI</category>
                <author>SM _ FARAJI</author>
                <pubDate>Fri, 08 Sep 2023 20:10:14 +0330</pubDate>
            </item>
                    <item>
                <title>چگونه سیگنال sbus را توسط آردوینو بخوانیم؟</title>
                <link>https://virgool.io/@sm_faraji/sbus-reading-via-arduino-fx9iqrv7yrjp</link>
                <description>همانطور که از نام آن مشخص است sbus یک پروتکل ارتباط سریال است که 18 کانال داده را تنها با یک سیم منتقل میکند. sbus معمولا سیگنال UART معکوس شده است و برای خواندن آن از طریق پین Rx Uart میکرو باید ابتدا آن را معکوس کرد.سیگنال SBUS متشکل از پالس ها مختلفمعمولا در پروژه های رباتیک برای کنترل ربات زمینی یا هوایی نیاز داریم که فرمان های ایستگاه زمینی را از طریق رادیوکنترل به بخش تصمیم گیر ربات ارسال کنیم تا دستورات اعمال شوند و ربات به جهت های خواسته شده حرکت کند و یا حالت کارکردی آن تغییر کند. رسیور رادیوکنترل FrSkyدر شکل بالا یک رسیور FrSky می‌بینید که با فرستنده آن در ایستگاه زمینی بایند شده است سه پین پایین سمت راست آن به سیگنال SBUS اختصاص یافته است.خب حالا چطور میتوان سیگانال SBUS رو از طریق آردوینو خواند؟این کار به راحتی با استفاده از یک کتابخانه آردوینو انجام میشود ولی در ابتدا باید یک مدار اینورتر طراحی کرد و سیگنال معکوس SBUS را به پین سریال آردوینو داد.همه چیزی که در پروژه به آن نیاز داریم:   -برد آردوینو(نانو، مگا، یونو ..)   -ترانزیستور NPN   -دو مقاومت 1K ohm   -تعداد سیم جامپر   -رسیور دارای SBUSخب شماتیک پروژه به این صورت است:دیاگرام مداری  ارتباط رسیور با آردوینوابتدا مدار اینورتر را طراحی می‌کنیم:طراحی مدار اینورتر SBUSمدار از یک ترانزیستور NPN تشکیل شده است که Base آن به واسطه یک مقاومت به سیگنال SBUS متصل است کلکتور نیز با یک مقاومت پول‌آپ شده و امیتر به زمین متصل است. سیگنال از کلکتور گرفته میشود معکوس شده سیگنال سریال باس است.شمای اتصالات بصورت زیر است:دیاگرام پروژهحالا که سخت افزار تکمیل شده است باید سراغ کد برویم. ابتدا باید کتابخانه SBUS را به Arduino ide اضافه کنیم.1- کتابخانه SBUS را از لینک مقابل بصورت زیپ دانلود کنید: https://github.com/bolderflight/sbus/archive/refs/heads/main.zip2- حال از قسمت sketch&gt;include library&gt;add .ZIP library فایل دانلود شده را به Arduino ide میدهیم آردوینو نیز پس از پایان نصب پیغامی مبنی نصب موفق کتابخانه نمایش خواهد داد.اضافه کردن کتابخانه به آردوینوحال از قسمت File&gt;Examples مثال کتابخانه SBUS را باز کرده و با انتخاب برد آردونو و پورت درست برنامه را کامپایل و روی برد آپلود میکنید.قسمت Examplesکد نمونه:#include &amp;quotsbus.h&amp;quot

/* SBUS object, reading SBUS */
bfs::SbusRx sbus_rx(&amp;Serial2); // if Arduino is Uno: sbus_rx(&amp;Serial)
/* SBUS object, writing SBUS */
bfs::SbusTx sbus_tx(&amp;Serial2); // if Arduino is Uno: sbus_tx(&amp;Serial)
/* SBUS data */
bfs::SbusData data;

void setup() {
 /* Serial to display data */
  Serial.begin(115200);
 while (!Serial) {}
 /* Begin the SBUS communication */
  sbus_rx.Begin();
  sbus_tx.Begin();
}

void loop () {
 if (sbus_rx.Read()) {
 /* Grab the received data */
    data = sbus_rx.data();
 /* Display the received data */
 for (int8_t i = 0; i &lt; data.NUM_CH; i++) {
      Serial.print(data.ch[i]);
      Serial.print(&amp;quot\t&amp;quot);
    }
 /* Display lost frames and failsafe data */
    Serial.print(data.lost_frame);
    Serial.print(&amp;quot\t&amp;quot);
    Serial.println(data.failsafe);
 /* Set the SBUS TX data to the received data */
    sbus_tx.data(data);
 /* Write the data to the servos */
    sbus_tx.Write();
  }
}
دقت کنید که در کد باید شماره Rx pin که سیگنال به آن متصل است را مشخص کنید.انتخاب درست پورت سریالنکته: در این مثال سیگنال SBUS نیز تولید شده و از پین Tx منتشر میشود پس از این کتابخانه برای تولید سیگنال SBUS نیز استفاده میشود.پس از آپلود کد سریال مانیتور را باز کرده و همچنین بادریت را بر روی مقدار درستش تنظیم کنید تا کانال های رادیوکنترل روی سریال مانیتور نمایش داده شوند.نمایش کانال های SBUS برروی سریال مانیتورهمانطور که دیدید با استفاده از این کتابخانه براحتی داده باس سریال به نمایش درآمد و میتوانید از آن ها برای کنترل ربات خود استفاده کنید. این مقاله جزوی از دوره ساخت کوادکوپتر در آینده خواهد شد اگر به دنیای شگفت انگیز ربات ها علاقه مندید در این ماجراجویی ما را دنبال کنید(: موفق و پیروز باشید.آدرس گیت‌هابآدرس یوتیوبآدرس تلگرامآدرس آپارات</description>
                <category>SM _ FARAJI</category>
                <author>SM _ FARAJI</author>
                <pubDate>Wed, 30 Aug 2023 23:26:05 +0330</pubDate>
            </item>
                    <item>
                <title>نگاهی بر نقش فزاینده ربات‌های پرنده در زندگی بشر</title>
                <link>https://virgool.io/@sm_faraji/flying-robots-fpez4o7w2hxs</link>
                <description>ربات های پرنده(پهپادها) به سرعت درحال پیداکردن جایگاه خود در حل مسائل روزمره بشر اند. سال های اخیر با گسترش انواع و اشکال مختلف این پرنده ها و توانایی آن‌ها در انجام کارهای گوناگون، این فناوری بیش از پیش مورد توجه قرار گرفته است.ردپای این فناوری را در زمینه های گوناگونی مثل سرگرمی، حوزه های امنیتی نظارتی، مسائل نظامی، کشاورزی دقیق، مدیریت بحران، نمایش هوایی، نقشه برداری و... می‌توان یافت.کاربردهای گوناگون پهپادها در حوزه های گوناگونپهپادها انواع و اشکال مختلفی دارند در حوزه نظامی بیشتر پهپادهای بال ثابت استفاده می‌شوند زیرا مداومت پروازی دارند، در حوزه های دیگر نیز مولتی‌روتورها استفاده گسترده‌ای دارند، ربات‌های پرنده دسته بندی های وسیعی دارند حتی ربات‌هایی ساخته شده اند که با الهام از طبیعت پرواز پرندگان و بال زدن آنان را تقلید می‌کنند.انواع ربات های پرنده بدون سرنشینمولتی روتور در حوزه تجاری کاربرد زیادی دارند یکی از مولتی‌روتور های معروف و پرکاربرد، کوادکوپترها هستند که در حوزه سرگرمی نیز بسیار مورد استفاده قرار می‌گیرند، درواقع همان طور که از اسم آن مشخص است کوادروتورها از 4 روتور تشکیل می‌شوند. ولی سینگل روتور که تنها از یک روتور تشکیل شده‌اند برای مثال کاربرد کمتری دارند چون پایداری کمتری دارند.انواع مولتی‌کوپترهاساختار سیستم: ربات‌های پرنده همانند سیستم‌های کنترلی دیگر دارای سنسور، عملگر و بخش کنترل‌کننده اند در واقع سیستم هر لحظه از وضعیت خود بازخورد گرفته و در بخش کنترل با وضعیت  مطلوب مقایسه کرده و در انتها به عملگرها که برای مثال موتورها هستند فرمان می‌دهد تا سیستم هدف مطلوب را دنبال کند.کاربردهای گوناگون ربات‌های پرندهمیخواهیم به کاربردهای این ربات ها را در زندگی روزمره در بخش مختلف صنعت و ایده هایی که در سطح جهان پیاده سازی شده است بپردازیم تا درک ملموس تری از قابلیت‌های آنها پیدا کنیم همچنین برای طراحی از آنها ایده گرفت. پس بریم و با مروری بر انواع ربات های پرنده با کاربردهای گوناگون دادشته باشیم.ربات آتش‌نشانبا افزایش جمعیت و تراکم ساختمان‌ها، ساختمان های بلند درمعرض آتش‌سوزی هستند پله‌های که آتش نشان ها استفاده می‌کنند طولی نهایتا 50 متر دارند و عملیات‌ها نیز مختصر به یک سمت از ساختمان است همزمان ترافیک نیز نقش کندکننده در انجام عملیات دارد ساختمان های بلند نیز معمولا در مرکز شهر قراردارند، خوش‌بختانه شرکت Ehang، که یک شرکت در زمینه توسعه وسایل پرنده خودمختار (AAVs) است، یک پهپاد آتش‌نشان هوشمند توسعه داده است که جایگزینی بهتر و امن‌تر برای مقابله با چنین آتش‌سوزی‌هایی است.پهپاد هوشمند اطفا حریق شرکت Ehangنسخه جدید این پهپاد مخصوص اطفا حریق ساختمان‌های بلند ساخته شده است در هر ماموریت توانایی حمل 6 کپسول ضدآتش و 150 لیتر فوم آتش‌نشان در برد 5 کیلومتری از ایستگاه آتش‌نشانی دارد.لینک برای مطالعه بیشتر.رهگیر پهپاد(Drone Interceptor)این پهپاد رهگیر توسط آژانس پروژه های تحقیقاتی پیشرفته دفاعی ایالات متحده (دارپا) ساخته شده است که در حوزه MFP(Mobile Force Protection)  استفاده می‌شود. این پهپاد ضدپهپاد! از یک خودروی نظامی پرتاب می شود و توسط رادار هدایت می شود که می تواند به طور خودکار پهپادهای کوچک را شناسایی و ردیابی کند. https://aparat.com/v/fZH1F با توجه به سرعت زیاد تحقیق و توسعه پرنده های بدون سرنشین نیاز به سیستم های رهگیر و پدافندی در مقابل خطرات ناشی از این فناوری، بیشتر احساس می‌شود این سیستم ضدپهپاد با اخلال در چرخش روتورهای مولتی‌روتورها آنها را از کار می‌اندازد. این سیستم مسیر پروازی پرنده دشمن را پیش‌بینی کرده و یک رشته مواد خاص را به سمت پره های آن پرتاب می‌کند.ضدپهپاد از &quot;واحد تصمیم گیری خودکار&quot; برای پیداکردن هدف و رهگیری آن استفاده می‌کند و نیازی به اپراتور انسانی برای راه اندازی ندارد.این سیستم قابلیت پرتاب چند رهگیر برای رهگیری و انهدام چندین هدف بصورت همزمان را داراست و قابلیت استفاده مجدد را داراست. دارپا می‌گوید می‌خواهد دفاع پهپادی برای برای کاروان های نظامی و  دیگر واحدهای متحرک در مناطق پرجمعیت فراهم کند، جایی که تسلیحات نظامی رایج ریسک تلفات غیرنظامیان را بالا می‌برد.این سیستم می تواند سیستم های هوایی بدون سرنشین کوچک (sUAS) را در فاصله 1 کیلومتری یا بیشتر شناسایی کند.مطالعه بیشتر.هلی‌کوپتر مریخ‌نورد نبوغاین مریخ نورد که توسط آزمایشگاه پیشران جت ناسا طراحی شده است جزیی از ماموریت مریخی 2020 ناسا بود که به همراه کاوشگر استقامت به فضا پرتاب و راهی مریخ شد.این ربات پرنده حدود 1800 گرم وزن داشته و قادرست در هر مرحله پروازی 90 ثانیه ای داشته باشد. به دلیل جو رقیق مریخ روتورهای آن نسبتا بزرگ(بسیار سبک) قطری 120 سانتی دارند. بدلیل تاخیر 20 دقیقه ای لینک ارتباط زمینی پرنده صورت خودمختار طراحی شده است دارای سنسورهای شتاب‌سنج‌، ژایرو، ارتفاع‌سنج، شیب‌سنج و دوربین است. دو سوم انرژی این مریخ‌نورد صرف گرم نگه داشته الکترونیک پرنده میشود زیرا شب های مریخ دما تا منفی 100 درجه پایین می‌رود یک‌سوم دیگر صرف پرواز می‌شود. تا کنون بیش از 90 دقیقه پرواز و بیش از 12 کیلومتر طی کرده است.مطالعه بیشتر.امیدوارم تا به اینجا با کاربردهای گسترده و شگفت انگیز ربات‌های پرنده آشنا شده باشید در آینده سفری به درون الگوریتم های عملکردی این ربات‌های حیرت انگیز خواهیم داشت و تا پیاد‌سازی آن بصورت فیزیکی پیش خواهیم رفت پس در این سفر با ما همراه باشد.آدرس گیت‌هابآدرس یوتیوبآدرس تلگرامآدرس آپارات</description>
                <category>SM _ FARAJI</category>
                <author>SM _ FARAJI</author>
                <pubDate>Wed, 09 Aug 2023 22:13:34 +0330</pubDate>
            </item>
            </channel>
</rss>