- آر ٹی او ایس کس طرح کام کرتا ہے؟
- آر ٹی او ایس میں اکثر استعمال شدہ اصطلاحات
- آرڈینوو فری آر ٹی او ایس لائبریری انسٹال کرنا
- سرکٹ ڈایاگرام
- آرڈینوو فری آر ٹی او ایس مثال- آرڈینو آئ ڈی ای میں فری آر ٹی او ایس ٹاسک کی تشکیل
- Ardino IDE میں فری آر ٹی او ایس ٹاسک عمل
سرایت شدہ آلات کے اندر موجود OS کو RTOS (ریئل ٹائم آپریٹنگ سسٹم) کہا جاتا ہے ۔ ایمبیڈڈ ڈیوائسز میں ، ریئل ٹائم ٹاسکس انتہائی اہم ہوتے ہیں جہاں وقت بہت اہم کردار ادا کرتا ہے۔ ریئل ٹائم ٹاسک ٹائم ڈیٹرمیونکک ہیں اس کا مطلب ہے کہ کسی بھی واقعے کے جواب کا وقت ہمیشہ مستقل رہتا ہے تاکہ اس بات کی ضمانت دی جاسکے کہ کوئی خاص واقعہ ایک مقررہ وقت پر واقع ہوگا۔ آر ٹی او ایس کو انتہائی درست وقت اور قابل اعتبار کی اعلی ڈگری کے ساتھ ایپلی کیشنز کو چلانے کے لئے ڈیزائن کیا گیا ہے۔ آر ٹی او ایس ایک واحد کور کے ساتھ ملٹی ٹاسکنگ میں بھی مدد کرتا ہے۔
ہم نے پہلے ہی سرایت شدہ نظاموں میں آر ٹی او ایس کے استعمال کے بارے میں ایک ٹیوٹوریل کا احاطہ کیا ہے جہاں آپ آر ٹی او ایس ، عام مقصد کے او ایس اور آر ٹی او ایس کے درمیان فرق ، مختلف اقسام کے آر ٹی اوز وغیرہ کے بارے میں مزید جان سکتے ہیں۔
اس ٹیوٹوریل میں ، ہم فری آر ٹی او ایس کے ساتھ شروع کریں گے ۔ فری آر ٹی او ایس ایمبیڈڈ ڈیوائسز کے لئے آر ٹی او ایس کی ایک کلاس ہے جو 8/16 بٹ مائکروکانٹرولرز پر چلانے کے لئے کافی چھوٹی ہے ، حالانکہ اس کا استعمال ان مائکروکانٹرولرز تک ہی محدود نہیں ہے۔ یہ مکمل طور پر اوپن سورس ہے اور اس کا کوڈ گیٹوب پر دستیاب ہے۔ اگر ہم آر ٹی او ایس کے کچھ بنیادی تصورات کو جانتے ہیں تو پھر فری آر ٹی او ایس کو استعمال کرنا بہت آسان ہے کیونکہ اس میں اچھی طرح سے دستاویزی APIs موجود ہیں جو کوڈنگ کے پسدید حصے کو جانے بغیر کوڈ میں براہ راست استعمال ہوسکتے ہیں۔ مکمل فری آر ٹی او ایس دستاویزات یہاں مل سکتی ہیں۔
چونکہ فری آر ٹی او ایس 8 بٹ ایم سی یو پر چل سکتا ہے لہذا اسے ارڈینوو یونو بورڈ پر بھی چلایا جاسکتا ہے۔ ہمیں ابھی فری آر ٹی او ایس لائبریری کو ڈاؤن لوڈ کرنا ہے اور پھر API کا استعمال کرتے ہوئے کوڈ پر عمل درآمد شروع کرنا ہے۔ اس ٹیوٹوریل ایک مکمل ابتدائی کے لئے مراد ہے، ذیل کے موضوعات ہیں، ہم اس میں احاطہ کرے گا Arduino کے FreeRTOS ٹیوٹوریل:
- آر ٹی او ایس کس طرح کام کرتا ہے
- RTOS میں اکثر استعمال شدہ اصطلاحات
- آرڈینوو IDE میں فری آر ٹی او ایس انسٹال کرنا
- مثال کے ساتھ فری آر ٹی او ایس ٹاسک کیسے بنائیں

آر ٹی او ایس کس طرح کام کرتا ہے؟
آر ٹی او ایس کے کام کرنے سے شروع کرنے سے پہلے آئیے دیکھیں کہ ٹاسک کیا ہے۔ ٹاسک کوڈ کا ایک ٹکڑا ہے جو عملدرآمد کے لئے سی پی یو پر شیڈول ہے۔ لہذا ، اگر آپ کچھ کام انجام دینا چاہتے ہیں تو ، اس کے بعد دانا کی تاخیر کا استعمال کرتے ہوئے یا رکاوٹیں استعمال کرکے طے کرنا چاہئے۔ یہ کام دانی میں موجود نظام الاوقات کے ذریعہ کیا جاتا ہے۔ ایک سنگل کور پروسیسر میں ، شیڈولر کاموں کو کسی خاص ٹائم سلائس میں انجام دینے میں مدد کرتا ہے لیکن ایسا لگتا ہے جیسے مختلف کام ایک ساتھ چل رہے ہیں۔ ہر کام اس کو دی جانے والی ترجیح کے مطابق چلتا ہے۔
اب ، آئیے دیکھتے ہیں کہ اگر ہم ایک سیکنڈ کے وقفے سے ایل ای ڈی پلکنے کے لئے کوئی ٹاسک بنانا چاہتے ہیں اور اس کام کو اولین ترجیح پر رکھنا چاہتے ہیں تو آر ٹی او ایس دانا میں کیا ہوتا ہے۔

ایل ای ڈی ٹاسک کے علاوہ ، ایک اور ٹاسک بھی ہوگا جو دانا نے تیار کیا ہے ، اسے بیکار ٹاسک کے نام سے جانا جاتا ہے. بیکار ٹاسک اس وقت تخلیق کیا جاتا ہے جب کوئی ٹاسک عمل کے ل available دستیاب نہ ہو۔ یہ کام ہمیشہ کم ترجیح یعنی 0 ترجیح پر چلتا ہے۔ اگر ہم اوپر دیئے گئے ٹائمنگ گراف کا تجزیہ کریں تو ، یہ دیکھا جاسکتا ہے کہ عملدرآمد یلئڈی ٹاسک کے ساتھ شروع ہوتا ہے اور یہ ایک مخصوص وقت تک چلتا ہے تو باقی وقت تک ، بیکار ٹاسک اس وقت تک چلتا ہے جب تک کہ ٹِک رکاوٹ پیدا نہ ہو۔ پھر دانا فیصلہ کرتا ہے کہ کام کی ترجیح اور ایل ای ڈی ٹاسک کے کل گزرے ہوئے وقت کے مطابق کون سا کام انجام دینا ہے۔ جب 1 سیکنڈ مکمل ہوجاتا ہے تو ، دانا پھانسی کے ل again دوبارہ کام کا انتخاب کرتے ہیں کیونکہ اس میں بیکار کام سے زیادہ ترجیح ہے ، ہم یہ بھی کہہ سکتے ہیں کہ ایل ای ڈی ٹاسک بیکار کام کو ختم کرتا ہے۔ اگر ایک ہی ترجیح کے ساتھ دو سے زیادہ کام ہوتے ہیں تو وہ ایک مخصوص وقت کے لئے راؤنڈ روبین فیشن میں چلائیں گے۔
ریاستی آریھ کے نیچے جیسا کہ یہ چل رہا ہے کہ غیر چلانے والے کام کو چلانے والی حالت میں تبدیل کرنا ظاہر کرتا ہے ۔

ہر نیا تخلیق کردہ کام ریڈی حالت میں چلا جاتا ہے (ریاست نہ چلانے کا حصہ) اگر تخلیق کردہ ٹاسک (ٹاسک 1) کو دوسرے کاموں کے مقابلے میں سب سے زیادہ ترجیح دی جاتی ہے ، تو وہ چلتی حالت میں منتقل ہوجائے گی۔ اگر یہ دوسرا کام دوسرے کام سے آگے بڑھا تو ، یہ دوبارہ تیار حالت میں جائے گا۔ بصورت دیگر اگر ٹاسک 1 کو بلاک کرتے ہوئے API کا استعمال کرتے ہوئے مسدود کردیا جاتا ہے ، تو سی پی یو اس کام کے ساتھ اس وقت تک شامل نہیں ہوگا جب تک کہ صارف کی وضاحت کی گئی ٹائم آؤٹ ختم ہوجائے۔
اگر ٹاسک 1 کو معطل APIs کا استعمال کرتے ہوئے حالت چلانے میں معطل کردیا گیا ہے ، تو ٹاسک 1 معطل حالت میں چلا جائے گا اور یہ دوبارہ نظام الاوقات کے لئے دستیاب نہیں ہے۔ اگر آپ معطل حالت میں ٹاسک 1 دوبارہ شروع کرتے ہیں تو پھر یہ تیار حالت میں واپس آجائے گی جیسا کہ آپ بلاک آریگرام میں دیکھ سکتے ہیں۔
یہ بنیادی خیال ہے کہ کس طرح ٹاسکس چلتا ہے اور اپنی ریاستوں کو تبدیل کرتا ہے ۔ اس ٹیوٹوریل میں ، ہم فری آر ٹی او ایس API کا استعمال کرتے ہوئے ارڈینو اونو میں دو کاموں کو نافذ کریں گے۔
آر ٹی او ایس میں اکثر استعمال شدہ اصطلاحات
1. ٹاسک: یہ کوڈ کا ایک ٹکڑا ہے جو عملدرآمد کے لئے سی پی یو پر شیڈول ہے۔
2. نظام الاوقات: تیار ریاست کی فہرست سے چلانے والی ریاست تک کسی کام کو منتخب کرنے کا ذمہ دار ہے۔ شیڈولرز اکثر لاگو ہوتے ہیں لہذا وہ کمپیوٹر کے تمام وسائل کو مصروف رکھتے ہیں (جیسا کہ لوڈ توازن میں)۔
P. پریمپپشن: یہ کام کرنے سے پہلے ہی کسی کام کو عارضی طور پر روکنے کا کام ہے جس کی مدد سے اسے باہمی تعاون کے بغیر چلانے والی حالت سے ہٹانا ہے۔
Con. سیاق و سباق سوئچنگ: ترجیحی بنیاد پر چلنے والی ترتیب میں ، نظام الاوقات چلانے والے کاموں کی ترجیح کا موازنہ ہر سسٹک رکاوٹ پر تیار ٹاسک لسٹ کی ترجیح کے ساتھ کرتا ہے ۔ اگر اس فہرست میں کوئی بھی کام ہے جس کی ترجیح چلانے والے کام سے زیادہ ہے تو سیاق و سباق سوئچ ہوتا ہے۔ بنیادی طور پر ، اس عمل میں مختلف کاموں کے مندرجات ان کی متعلقہ اسٹیک میموری میں محفوظ ہوجاتے ہیں۔
5. طے شدہ پالیسیوں کی اقسام:
- پہلے سے طے شدہ شیڈولنگ: اس قسم کے نظام الاوقات میں ، ترجیحات پر غور کیے بغیر کام برابر وقت کے ٹکڑے کے ساتھ چلتے ہیں۔
- ترجیحی بنیاد پر تیار کردہ: اعلی ترجیحی کام پہلے چلائے گا۔
- کوآپریٹو شیڈولنگ: سیاق و سباق میں تبدیلی صرف چلانے والے کاموں کے تعاون سے ہوگی۔ جب تک ٹاسک کی پیداوار نہیں کہا جاتا ہے اس وقت تک ٹاسک مسلسل چلتا رہے گا۔
6. دانا آبجیکٹ: کچھ کام انجام دینے کے لئے کام کو اشارہ کرنے کے لئے ، ہم وقت سازی کا عمل استعمال ہوتا ہے۔ اس عمل کو انجام دینے کے لئے دانی کی اشیاء استعمال کی جاتی ہیں۔ کچھ دالوں کی اشیاء واقعات ، سیمفورس ، قطار ، مکٹیکس ، میل باکسز ، وغیرہ ہیں۔ آئندہ سبق میں ہم ان اشیاء کو استعمال کرنے کا طریقہ دیکھیں گے۔
مذکورہ بالا بحث سے ، ہمیں آر ٹی او ایس تصور کے بارے میں کچھ بنیادی آئیڈیا ملے ہیں اور اب ہم آرڈینوو میں فری آر ٹی او ایس پروجیکٹ کو نافذ کرسکتے ہیں۔ تو ، آریڈینو آئ ڈی ای میں فری آر ٹی او ایس لائبریریوں کو انسٹال کرکے شروع کریں ۔
آرڈینوو فری آر ٹی او ایس لائبریری انسٹال کرنا
1. آرڈینوو IDE کھولیں اور اسکیچ پر جائیں -> لائبریری شامل کریں -> لائبریریوں کا نظم کریں ۔ FreeRTOS کی تلاش کریں اور لائبریری کو انسٹال کریں جیسا کہ ذیل میں دکھایا گیا ہے۔

آپ گیتھب سے لائبریری ڈاؤن لوڈ کرسکتے ہیں اور خاکہ میں> زپ فائل کو شامل کرسکتے ہیں-> لائبریری شامل کریں -> زپ فائل شامل کریں ۔
اب ، اردوینو IDE دوبارہ شروع کریں۔ یہ لائبریری کچھ مثال کے طور پر کوڈ فراہم کرتی ہے ، جو فائل -> مثالوں -> فری آر ٹی او ایس میں بھی پایا جاسکتا ہے جیسا کہ ذیل میں دکھایا گیا ہے۔

یہاں ہم کام کو سمجھنے کے لئے کوڈ کو شروع سے لکھیں گے ، بعد میں آپ مثال کے کوڈ کو چیک کرسکتے ہیں اور ان کا استعمال کرسکتے ہیں۔
سرکٹ ڈایاگرام
ذیل میں ارڈینو پر فری آر ٹی او ایس کا استعمال کرتے ہوئے چمکنے والی ایل ای ڈی ٹاسک بنانے کے لئے سرکٹ ڈایاگرام ہے۔

آرڈینوو فری آر ٹی او ایس مثال- آرڈینو آئ ڈی ای میں فری آر ٹی او ایس ٹاسک کی تشکیل
آئیے فری آر ٹی او ایس پروجیکٹ لکھنے کے لئے ایک بنیادی ڈھانچہ دیکھیں۔
1. سب سے پہلے ، کے طور پر Ardino FreeRTOS ہیڈر فائل شامل کریں
# شامل کریں
2. ان تمام افعال کا فنکشن پروٹو ٹائپ دیں جو آپ عملدرآمد کے ل writing لکھ رہے ہیں جس پر لکھا ہوا ہے
باطل ٹاسک 1 (باطل * پی وی پیرامیٹرز)؛ باطل ٹاسک 2 (باطل * پی وی پیرا میٹر)؛ .. ….
3. اب ، باطل سیٹ اپ () فنکشن میں ، ٹاسکس تخلیق کریں اور ٹاسک شیڈیولر شروع کریں۔
ٹاسک بنانے کے ل x ، xTaskCreate () API کو کچھ پیرامیٹرز / دلائل کے ساتھ سیٹ اپ فنکشن میں بلایا جاتا ہے۔
xTaskCreate (TaskFunction_t pvTaskCode، Const Char * Const pcName، uint16_t #StackDepth، باطل * پی وی پیرامیٹرز، UBaseType_t uxPriority، TaskHandle_t * pxCreatedTask)؛
6 دلائل موجود ہیں جو کسی بھی کام کو تخلیق کرتے وقت منظور کرنا چاہ.۔ آئیے دیکھتے ہیں یہ دلائل کیا ہیں
- پی وی ٹاسک کوڈ: یہ صرف اس تقریب کی طرف اشارہ کرتا ہے جو کام کو نافذ کرتا ہے (اثر میں ، فنکشن کا صرف نام)
- پی سی نام : اس کام کا وضاحتی نام۔ یہ فری آر ٹی او ایس کے ذریعہ استعمال نہیں کیا جاتا ہے۔ یہ مکمل طور پر ٹھیک کرنے کے مقاصد کے لئے شامل ہے۔
- usStackDepth: ہر کام کی اپنی ایک الگ اسٹیک ہوتی ہے جسے جب دال تشکیل دیتے وقت دانی کے ذریعہ ٹاسک کے لئے مختص کی جاتی ہے۔ قدر اسٹیک کے پکڑے جانے والے الفاظ کی تعداد کی وضاحت کرتی ہے ، بائٹس کی تعداد نہیں۔ مثال کے طور پر ، اگر یہ اسٹیک 32 بٹس چوڑا ہے اور 100 اسٹیک ڈیپتھ 100 کے طور پر منظور کیا جاتا ہے ، تو رام میں 400 بائٹ اسٹیک اسپیس مختص کی جائے گی (100 * 4 بائٹ)۔ اس کو سمجھداری سے استعمال کریں کیوں کہ اردوینو اونو میں صرف 2Kbytes کی رام ہے۔
- پی وی پیرامیٹرز : ٹاسک ان پٹ پیرامیٹر (NULL ہوسکتا ہے)۔
- uxPriority: کام کی ترجیح (0 سب سے کم ترجیح ہے)۔
- pxCreatedTask: اس کا استعمال ہینڈل کو ٹاسک کے ذریعہ تیار کرنے کے لئے کیا جاسکتا ہے۔ اس ہینڈل کا استعمال پھر API کالز میں ٹاسک کا حوالہ کرنے کے لئے کیا جاسکتا ہے ، مثال کے طور پر ، ٹاسک کی ترجیح کو تبدیل کریں یا ٹاسک کو حذف کریں (NULL ہوسکتا ہے)
کام تخلیق کی مثال
x ٹاسک کریٹ (ٹاسک 1 ، "ٹاسک 1" ، 128 ، این یو ایل ، 1 ، این یو ایل)؛ x ٹاسک کریٹ (ٹاسک 2 ، "ٹاسک 2" ، 128 ، این یو ایل ، 2 ، این یو ایل)؛
یہاں ، ٹاسک 2 کی اعلی ترجیح ہے اور لہذا پہلے اس پر عمل درآمد ہوتا ہے۔
the. ٹاسک بنانے کے بعد ، vTaskStartScheduler () کا استعمال کرتے ہوئے باطل سیٹ اپ میں نظام الاوقات شروع کریں ؛ API۔
V. باطل لوپ () فنکشن خالی رہے گا کیونکہ ہم کوئی بھی کام دستی اور لامحدود نہیں چلانا چاہتے ہیں۔ کیونکہ ٹاسک ایگزیکیوشن اب شیڈولر کے ذریعہ سنبھالا جاتا ہے۔
Now. اب ، ہمیں ٹاسک افعال کو نافذ کرنا ہے اور اس منطق کو لکھنا ہے جو آپ ان افعال کے اندر انجام دینا چاہتے ہیں۔ فنکشن کا نام xTaskCreate () API کی پہلی دلیل کی طرح ہونا چاہئے ۔
باطل task1 (باطل * pvParameters) { جبکہ (1) { .. ..//your منطق } }
7. چلنے والے کام کو روکنے کے لئے زیادہ تر کوڈ کو تاخیر کی تقریب کی ضرورت ہوتی ہے لیکن آر ٹی او ایس میں یہ تاخیر () فنکشن استعمال کرنے کی تجویز نہیں کی جاتی ہے کیونکہ یہ سی پی یو کو روکتا ہے اور اسی وجہ سے آر ٹی او ایس بھی کام کرنا چھوڑ دیتا ہے۔ لہذا فری آر ٹی او ایس کے پاس ایک خاص وقت کے لئے کام کو روکنے کے لئے ایک دانا API ہے۔
vTaskDelay (Const TickType_t xTicksToDelay)؛
یہ API تاخیر کے مقاصد کے لئے استعمال کیا جاسکتا ہے۔ یہ API مقررہ تعداد میں ٹکٹس کے ل a کسی کام میں تاخیر کرتی ہے۔ اصل وقت جس کے لئے ٹاسک مسدود رہتا ہے اس کا انحصار ٹک کی شرح پر ہوتا ہے۔ مستقل پورٹ TICK_PERIOD_MS ٹک کی شرح سے اصل وقت کا حساب لگانے کے لئے استعمال کیا جاسکتا ہے۔
اس کا مطلب ہے کہ اگر آپ 200 ملی میٹر کی تاخیر چاہتے ہیں تو صرف یہ لائن لکھیں
vTaskDelay (200 / portTICK_PERIOD_MS)؛
تو اس ٹیوٹوریل کے ل we ، ہم ان فری آر ٹی او ایس API کو تین کاموں کے نفاذ کے ل will استعمال کریں گے ۔
استعمال ہونے والے APIs:
- xTaskCreate ()؛
- vTaskStartScheduler ()؛
- vTaskDelay ()؛
اس سبق کے لئے تیار کردہ ٹاسک:
- ڈیجیٹل پن 8 پر 200 ایم ایم فریکوئنسی کے ساتھ ایل ای ڈی پلک جھپک
- 300ms فریکوئنسی کے ساتھ ڈیجیٹل پن 7 پر ایل ای ڈی پلکیں جھپٹائیں
- 500ms فریکوئنسی کے ساتھ سیریل مانیٹر میں پرنٹ نمبر۔
Ardino IDE میں فری آر ٹی او ایس ٹاسک عمل
1. مندرجہ بالا بنیادی ڈھانچے کی وضاحت سے ، اردوینو فری آر ٹی او ایس ہیڈر فائل کو شامل کریں۔ پھر فنکشن پروٹو ٹائپس بنائیں۔ جیسا کہ ہمارے پاس تین کام ہیں ، لہذا تین افعال کریں اور یہ پروٹو ٹائپس ہیں۔
# باطل ٹاسک لنک لنک 1 (باطل * پی وی پیرامیٹرز) شامل کریں؛ باطل ٹاسک بلنک 2 (باطل * پی وی پیرامیٹرز)؛ باطل ٹاسک پرنٹ (باطل * پی وی پیرامیٹرز)؛
2. باطل سیٹ اپ () فنکشن میں ، سیریل مواصلات کو 9600 بٹس فی سیکنڈ میں شروع کریں اور xTaskCreate () API کا استعمال کرتے ہوئے تینوں کام تخلیق کریں ۔ ابتدا میں ، تمام کاموں کی ترجیحات بطور '1' بنائیں اور نظام الاوقات شروع کریں۔
باطل سیٹ اپ () { سیریل.بیگین (9600)؛ xTaskCreate (TaskBlink1، "Task1"، 128، NULL، 1، NULL)؛ xTaskCreate (TaskBlink2، "Task2"، 128، NULL، 1، NULL)؛ x ٹاسک کریٹ (ٹاسک پرنٹ ، "ٹاسک 3" ، 128 ، این یو ایل ، 1 ، این یو ایل)؛ vTaskStartScheduler ()؛ }
Now. اب ، ٹاسک ایل ای ڈی پلک جھپکنے کے لئے نیچے دکھائے جانے والے تینوں افعال کو نافذ کریں ۔
باطل ٹاسک بلنک 1 (باطل * پی وی پیرامیٹرز) { پن موڈ (8 ، آؤٹپٹ)؛ جبکہ (1) { ڈیجیٹل رائٹ (8 ، ہائی)؛ vTaskDelay (200 / portTICK_PERIOD_MS)؛ ڈیجیٹل رائٹ (8 ، کم)؛ vTaskDelay (200 / portTICK_PERIOD_MS)؛ } }
اسی طرح ، TaskBlink2 فنکشن کو نافذ کریں ۔ Task3 تقریب کے طور پر لکھا جائے گا
باطل Taskprint (باطل * pvParameters) { int کے انسداد = 0؛ جبکہ (1) { انسداد ++؛ سیریل.پرنٹلن (کاؤنٹر)؛ vTaskDelay (500 / portTICK_PERIOD_MS)؛ } }
یہی ہے. ہم نے ارڈینو اونو کے لئے فری آر ٹی او ایس آردوینو پروجیکٹ کو کامیابی کے ساتھ مکمل کرلیا ہے ۔ آپ کو اس ٹیوٹوریل کے آخر میں ایک ویڈیو کے ساتھ پورا کوڈ مل سکتا ہے۔
آخر میں ، ڈیجیٹل پن 7 اور 8 پر دو ایل ای ڈی کو مربوط کریں اور اپنے اردوینو بورڈ پر کوڈ اپ لوڈ کریں اور سیریل مانیٹر کھولیں۔ آپ دیکھیں گے کہ 500 ملی میٹر میں ایک بار کاؤنٹر ٹاسک نام کے ساتھ چل رہا ہے جیسا کہ ذیل میں دکھایا گیا ہے۔


اس کے علاوہ ، ایل ای ڈی کا مشاہدہ کریں ، وہ مختلف وقت کے وقفوں پر ٹمٹماتے ہیں۔ xTaskCreate فنکشن میں ترجیحی دلیل کے ساتھ کھیلنے کی کوشش کریں ۔ نمبر تبدیل کریں اور سیریل مانیٹر اور ایل ای ڈی پر ہونے والے سلوک کا مشاہدہ کریں۔
اب ، آپ پہلے دو مثال کے کوڈ کو سمجھ سکتے ہیں جس میں ینالاگ پڑھنے اور ڈیجیٹل پڑھنے کے کام تیار کیے گئے ہیں۔ اس طرح ، آپ صرف آردوینو یونو اور فری آر ٹی او ایس API کا استعمال کرکے مزید پیشگی منصوبے بناسکتے ہیں۔
