<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Featureds | خالد حميدي</title><link>https://khaledhamidi.com/ar/featured/</link><atom:link href="https://khaledhamidi.com/ar/featured/index.xml" rel="self" type="application/rss+xml"/><description>Featureds</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>ar</language><lastBuildDate>Mon, 06 Jan 2025 00:00:00 +0000</lastBuildDate><image><url>https://khaledhamidi.com/media/sharing.jpg</url><title>Featureds</title><link>https://khaledhamidi.com/ar/featured/</link></image><item><title>Kenobot: منصة روبوتية ذاتية القيادة</title><link>https://khaledhamidi.com/ar/featured/kenobot/</link><pubDate>Mon, 06 Jan 2025 00:00:00 +0000</pubDate><guid>https://khaledhamidi.com/ar/featured/kenobot/</guid><description>&lt;h2 id="نظرة-عامة">نظرة عامة&lt;/h2>
&lt;p>Kenobot منصة روبوتية متكاملة ومصممة كحل تجاري للملاحة الذاتية وتطوير الروبوتات. تصميم المنصة مرن وقابل للتطوير، مما يجعلها مناسبة لمجموعة واسعة من التطبيقات، من الخدمات اللوجستية الداخلية إلى الأبحاث المتقدمة.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="Kenobot.png" alt="Kenobot" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="بنية-التحكم-المزدوجة">بنية التحكم المزدوجة&lt;/h3>
&lt;p>تعتمد Kenobot على بنية تحكم من طبقتين لتحقيق الأداء العالي والموثوقية:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>الطبقة العليا (High-Level Control):&lt;/strong> تستخدم حاسوب &lt;strong>Raspberry Pi 5&lt;/strong> لمعالجة بيانات الحساسات المعقدة، وتطبيق خوارزميات الملاحة الذاتية، وإدارة النظام.&lt;/li>
&lt;li>&lt;strong>الطبقة المنخفضة (Low-Level Control):&lt;/strong> تعتمد على لوحة &lt;strong>Arduino Mega&lt;/strong> للتحكم الدقيق في المحركات والمشغلات، وقراءة البيانات الأولية من المستشعرات منخفضة المستوى، مما يضمن استجابة سريعة ومستقرة.&lt;/li>
&lt;/ol>
&lt;h3 id="الملاحة-الذاتية-بدون-gps">الملاحة الذاتية بدون GPS&lt;/h3>
&lt;p>من أبرز ميزات Kenobot قدرتها على الملاحة بدقة في البيئات المغلقة التي لا تتوفر فيها إشارة GPS. تعتمد المنصة على خوارزميات متقدمة مثل SLAM (التموضع ورسم الخرائط في ان واحد) باستخدام بيانات من حساسات مثل LIDAR والكاميرات لتحديد موقعها ورسم خريطة للبيئة المحيطة بشكل مستقل.
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="kenobot2.png" alt="kenobot2" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="نظام-الاتصالات">نظام الاتصالات&lt;/h3>
&lt;p>تدعم المنصة نظام اتصالات لاسلكي ثنائي الاتجاه لتبادل البيانات والأوامر بين الروبوت ومحطة التحكم. يتم توصيل جهاز الاستقبال بالحاسوب عبر منفذ USB للمراقبة والتحكم.
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="kenobot5" srcset="
/en/featured/kenobot/kenobot5_hu_48d7b0c35ca9b25f.webp 400w,
/en/featured/kenobot/kenobot5_hu_a0688284ad97d318.webp 760w,
/en/featured/kenobot/kenobot5_hu_c775c7294cfb97b.webp 1200w"
src="https://khaledhamidi.com/en/featured/kenobot/kenobot5_hu_48d7b0c35ca9b25f.webp"
width="760"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="ميزات-التطوير-الافتراضية">ميزات التطوير الافتراضية&lt;/h3>
&lt;p>لتمكين المطورين من اختبار وتجربة الخوارزميات والتطبيقات بامان، تم تزويد كل منصة بميزات افتراضية وهمية. هذه البيئة الافتراضية تحاكي مهام وحمولات مختلفة دون الحاجة لوجودها الفعلي، مما يسرع دورة التطوير ويقلل المخاطر.&lt;/p>
&lt;h3 id="تطبيقات-محتملة">تطبيقات محتملة&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>الامن والمراقبة:&lt;/strong> القيام بدوريات ذاتية في المناطق المحددة.&lt;/li>
&lt;li>&lt;strong>الأبحاث والتطوير:&lt;/strong> منصة اختبار قوية لخوارزميات الذكاء الاصطناعي والروبوتات.
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="kenobot3" srcset="
/en/featured/kenobot/kenobot3_hu_8c40f659aeb6e17e.webp 400w,
/en/featured/kenobot/kenobot3_hu_384869d4276fe69.webp 760w,
/en/featured/kenobot/kenobot3_hu_648121a6f770b706.webp 1200w"
src="https://khaledhamidi.com/en/featured/kenobot/kenobot3_hu_8c40f659aeb6e17e.webp"
width="760"
height="570"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/li>
&lt;/ul></description></item><item><title>روبوت ذاتي القيادة بتحكم طولي متقدم</title><link>https://khaledhamidi.com/ar/featured/av/</link><pubDate>Thu, 18 Jan 2024 00:00:00 +0000</pubDate><guid>https://khaledhamidi.com/ar/featured/av/</guid><description>&lt;h2 id="عن-المشروع">عن المشروع&lt;/h2>
&lt;p>روبوت ذاتي القيادة صممته وبنيته بالكامل يدوي من الهيكل الميكانيكي وصولًا إلى خوارزمية التحكم. ما يميّزه هو نظام &lt;strong>التحكم الطولي&lt;/strong> المبني على منطق ضبابي هجين (FLC-PID)، الذي يمنحه القدرة على التنقل المستقل والتحكم الدقيق في السرعة والتسارع دون تدخل بشري.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="autonomous robot" srcset="
/en/featured/av/2_hu_4bb28b210b5a32ed.webp 400w,
/en/featured/av/2_hu_c44d32164156f66a.webp 760w,
/en/featured/av/2_hu_3c66fd6229dc07dd.webp 1200w"
src="https://khaledhamidi.com/en/featured/av/2_hu_4bb28b210b5a32ed.webp"
width="760"
height="386"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="أبرز-ما-في-الروبوت">أبرز ما في الروبوت&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>نظام FLC-PID&lt;/strong>: دمج المنطق الضبابي مع PID لتحقيق تحكم سلس وتكيّفي في السرعة.&lt;/li>
&lt;li>&lt;strong>بناء كامل من الصفر&lt;/strong>: تصميم الهيكل، اختيار المكونات، التوصيل الكهربائي، والبرمجة.&lt;/li>
&lt;li>&lt;strong>اختبار مزدوج&lt;/strong>: محاكاة في MATLAB/Simulink ثم تطبيق حقيقي على Raspberry Pi.&lt;/li>
&lt;li>&lt;strong>استجابة ذكية&lt;/strong>: الروبوت يُعدّل أداءه في الزمن الحقيقي بناءً على قراءات الحساسات.&lt;/li>
&lt;/ul>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="3.png" alt="robot" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="robot" srcset="
/en/featured/av/4_hu_f47a4bd7bdc37660.webp 400w,
/en/featured/av/4_hu_9730c42a02652ebd.webp 760w,
/en/featured/av/4_hu_b1f4723682e06216.webp 1200w"
src="https://khaledhamidi.com/en/featured/av/4_hu_f47a4bd7bdc37660.webp"
width="760"
height="342"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="robot" srcset="
/en/featured/av/5_hu_94e053d6fba1395f.webp 400w,
/en/featured/av/5_hu_fecef91b877e1f96.webp 760w,
/en/featured/av/5_hu_6c802d6c182f0d1b.webp 1200w"
src="https://khaledhamidi.com/en/featured/av/5_hu_94e053d6fba1395f.webp"
width="760"
height="428"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p></description></item><item><title>Qlink: واجهة أوامر تسلسلية للأردوينو</title><link>https://khaledhamidi.com/ar/featured/qlink/</link><pubDate>Tue, 10 Jan 2023 00:00:00 +0000</pubDate><guid>https://khaledhamidi.com/ar/featured/qlink/</guid><description>&lt;h2 id="نظرة-عامة">نظرة عامة&lt;/h2>
&lt;p>&lt;strong>Qlink&lt;/strong> هي واجهة برمجة تطبيقات (API) للأوامر التسلسلية، قوية وخفيفة الوزن، مصممة للأردوينو، Raspberry Pi، الكمبيوتر، والأنظمة المدمجة الأخرى. إنها تبسط الاتصال بين الأجهزة من خلال توفير إطار عمل بسيط لتسجيل ومعالجة الأوامر المرسلة عبر اتصال تسلسلي. مع دعمها لأنواع متعددة من المعلمات (INT, FLOAT, STRING, LONG)، تعتبر Qlink الحل المثالي للتحكم في مشاريع الأردوينو الخاصة بك من تطبيقات خارجية مكتوبة بلغة Python أو C#، أو من خلال مراقب تسلسلي بسيط.&lt;/p>
&lt;h2 id="الميزات-الرئيسية">الميزات الرئيسية&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>نظام أوامر ديناميكي&lt;/strong>: يمكنك بسهولة تعريف وتسجيل أوامر مخصصة باستخدام صيغة بسيطة قائمة على الماكرو (&lt;code>DEF&lt;/code> و &lt;code>REG&lt;/code>).&lt;/li>
&lt;li>&lt;strong>دعم معلمات متعددة الأنواع&lt;/strong>: تحليل الأعداد الصحيحة، والأعداد العشرية، والسلاسل النصية، والأعداد الطويلة من الأوامر التسلسلية الواردة.&lt;/li>
&lt;li>&lt;strong>استجابات مبسطة&lt;/strong>: إرسال سلاسل نصية منسقة مرة أخرى إلى الجهاز المضيف من خلال استدعاء واحد &lt;code>link.response()&lt;/code>.&lt;/li>
&lt;li>&lt;strong>خفيفة وفعالة&lt;/strong>: مصممة للمتحكمات الدقيقة، تتميز Qlink ببصمة ذاكرة صغيرة وتعالج الأوامر في الوقت الفعلي.&lt;/li>
&lt;li>&lt;strong>تحكم عبر منصات متعددة&lt;/strong>: تمكين التحكم السلس في الأردوينو من جهاز كمبيوتر (Windows/Linux)، أو Mac، أو Raspberry Pi.&lt;/li>
&lt;/ul>
&lt;h2 id="حالات-استخدام-شائعة">حالات استخدام شائعة&lt;/h2>
&lt;ul>
&lt;li>التحكم في الروبوتات أو آلات CNC من تطبيق سطح مكتب.&lt;/li>
&lt;li>إرسال بيانات الاستشعار من الأردوينو إلى برنامج Python لتسجيلها أو تحليلها.&lt;/li>
&lt;li>إنشاء نماذج أولية تفاعلية تستجيب للأوامر من طرفية تسلسلية.&lt;/li>
&lt;li>تكوين إعدادات الجهاز (مثل سطوع LED، سرعة المحرك) بشكل فوري دون إعادة برمجة.&lt;/li>
&lt;/ul>
&lt;h2 id="مثال-على-الكود-التحكم-في-وميض-بسيط">مثال على الكود: التحكم في وميض بسيط&lt;/h2>
&lt;p>يوضح المثال التالي كيفية التحكم في الـ LED المدمج على لوحة الأردوينو باستخدام أمر &lt;code>DELAY&lt;/code> يتم إرساله عبر الاتصال التسلسلي.&lt;/p>
&lt;div dir="ltr">
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;Qlink.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="n">blinkInterval&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1000&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// الفاصل الزمني الافتراضي للوميض
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="n">Qlink&lt;/span> &lt;span class="nf">link&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Serial&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="c1">// تهيئة Qlink على منفذ الاتصال التسلسلي
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// تعريف الأمر &amp;#34;DELAY&amp;#34; الذي يقبل معاملًا صحيحًا واحدًا
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="n">DEF&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">DELAY&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">INT&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">blinkInterval&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Convert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Args&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="kt">int&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">link&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">response&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Blink interval updated to %d ms&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">blinkInterval&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="nf">setup&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Serial&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">begin&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">9600&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pinMode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">LED_BUILTIN&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">OUTPUT&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">REG&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">link&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">DELAY&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="c1">// تسجيل الأمر DELAY
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="nf">loop&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">link&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">loop&lt;/span>&lt;span class="p">();&lt;/span> &lt;span class="c1">// الاستماع باستمرار للأوامر الواردة
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// وميض الـ LED بالفاصل الزمني الحالي
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">digitalWrite&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">LED_BUILTIN&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">HIGH&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">delay&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">blinkInterval&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">digitalWrite&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">LED_BUILTIN&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">LOW&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">delay&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">blinkInterval&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>
لاستخدام هذا، يمكنك ببساطة إرسال أمر مثل `DELAY 500` من مراقبك التسلسلي أو تطبيقك، وسيتحدث معدل وميض الـ LED على الفور.
&lt;p>
&lt;/p></description></item></channel></rss>