الانتقال من اللبنات البرمجية في تينكر كاد إلى C - إنترنت الأشياء - ثاني ثانوي

الدرس الثاني الانتقال من اللبنات البرمجية في تينكركاد إلى لغة ++C الانتقال من برمجة اللبنات المرئية إلى البرمجة في ++C Migrating from Visual Blocks Programming to C++ Programming www.ien.edu.s سنتعلم في هذا الدرس كيفية الانتقال من برمجة الأردوينو (Arduino ) بلبنات تينكركاد (Tinkercad) البرمجية إلى برمجته باستخدام لغة البرمجة ++C . تعد اللبنات البرمجية في تينكر كاد مفيدة في تنفيذ النماذج الأولية والمهمات البرمجية البسيطة، إلا أن استخدام ++C يعد ضروريا للاستفادة الكاملة من إمكانات متحكم الأردويو. ستتعلم في هذا الدرس الدوال والحمل الأساسية ليده برمجة متحكم الأردوينو باستخدام لغة ++C mp4 C شكل 6.10 من النسمات البرمجية في تشكر كان إلى البرمجة في ++C يوفر لينكر كان سنة محاكاة لبرمجة الأردوينو بالنمذجة، والتي لا تتطل وجود اردوينه فعليا والوسيلة جهاز المحاسب الإعلان عن المتغيرات والعمليات Pixsal Mam Variable Assignments and Operations يتم إعلان المتغيرات وتغييرها في لبنات تينكر كاد البرمجية من خلال مجموعني أوامر المتغيرات (Variables) والحساب ( Math) . يوضح الجدول الآني أمثلة للأوامر المتاحة. الإعلان عن متغير باسم . لينة تينكر كاد لينة تينكر كام int x = 0; x = 3; CHI تعيين قيمة للمتغير. C++ 228

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

الانتقال من برمجة اللبنات المرئية إلى البرمجة في ++c

الإعلان عن المتغيرات والعمليات

تغيير قيمة منغير بقيمة محددة. C++ لينة تينكر كاد تنفيذ عملية رياضية بين المتغيرين X ولا E لبنة تينكر كاد تعيين متغير ثالث 2 لناتج عملية رياضية بين المتغيرين * ولا لبنة تينكر كاد إجراء مقاربة رياضية بين المتغيرين x ول. Cont xy لبتة تينكر كاد اجراء مقارنة منطقية بين المتغيرين ول. لبنة تينكركات اجراء عملية منطقية بين عبارتيين. 1++ xy x = y 66 x < y لبنة تينكركات changu سلم

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

أمثلة للأوامر المتاحة

العبارات الشرطية والتكرارات ورسائل الإخراج Conditional Statements, Loops and Output Messages تنشأ العبارات الشرطية والتكرارات ورسائل الإخراج في البنات تينكر كاد من خلال مجموعات أوامر التحكم (Control) والإخراج (Output) . يوضع الجدول الآتي أسئلة للأوامر المتوفرة. طباعة رسالة على الشاشة التسلسلية ( Serial Monitor). مجموعة لبنات الأوامر المستخدمة مراة التعليم لبنة تينكر كاد لينة تينكر كاد Serial.println( "hello world"); delay(5000); الانتظار 5 ثواني. C++ تنفيذ التعليمات البرمجية داخل لبنة if إذا كان الشرط المنطقي صحيحا. لبنة تينكر كاد if (x < 10) y += 5; تنفيذ التعليمات البرمجية داخل لبنة أن إذا كان الشرط المنطقي صحيحا، لبنة تينكر كاد if (x >= 10 && x < 20) | y = 10; else t y = 20; CH 230

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

العبارات الشرطية والتكررات ورسائل الإخراج

تنفيذ التعليمات البرمجية داخل لبنة for إذا كان الشرط المنطقي صحيحا. لبنة تينكر كاد for (counter = 0; counter <5; ++counter) { y = 1; } لينة تينكر كاد تنفيذ تكرار while في الحالة الآتية. while (x <= 10) ( 10 } x += 1; مدخلات ومخرجات أطراف أردوينو الرقمية والتناظرية Arduino Digital and Analog Pin I/O يتم التفاعل مع الأطراف الرقمية والتناظرية للوحة الأردوينو في لبنات تينكر كاد مجموعة لبنات الأوامر المستخدمة من خلال مجموعات أوامر الإدخال (Input) والإخراج (Output)، والحساب (Math) في كل مرة يستخدم فيها أحد أطراف الأردوينو التناظرية أو الرقمية. تعرف لبنات تينكر كاد على ما إذا كان سيتم استخدامه للإدخال/ الإخراج الرقمي أو التناظري لاستخدام طرف تحتاج الى تحديد ذللك في دالة ( ) setup في الأردوينو لتوضيح ما إذا كان سيستخدم في الإدخال (Input) أو الإخراج (Output). يتم استخدام الأطراف 109653، 11 مع تعديل قيمة عرض النبضة ( PWM). يعرض الجدول أدناه أمثلة لبعض الأوامر المتوفرة. الحصول على قيمة الطرف الرقمي 4 وتخزينه في المتغير x . C#F لينة تينكر كاد وزارة التعليم and dictal pan pinMode(4, INPUT); x = digitalRead(4);

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

تنفيذ التعليمات والتكرار

مدخلات ومخرجات أطراف أردوينو الرقمية والتناظرية

TO HIGH ضبط قيمة الطرف الرقمي 4 على قيمة HIGH ( مرتفعة). لبنة تينكر كاد pinMode(4, OUTPUT); digitalWrite(4, HIGH); CHI الحصول على قيمة الطرف التناظري A3 وتخزينه في المتغير . لينة تينكر كاد pinMode(A3, INPUT); y = analogRead (A3); إعداد قيمة الطرف 10 من القيمة التناظرية 15 باستخدام تضمين عرض النبضة (PWM). لبنة تينكر كاد pinMode(10, OUTPUT); analogWrite(10, 15); 1+ أمثلة على الانتقال من لبنات تينكركاد البرمجية إلى لغة ++C Examples of Migration from Tinkercad Blocks to C++ ستنشى أمثلة بسيطة في تينكر كاد للانتقال من برمحة لوحة الأردوينو باستخدام لبنات تينكر كاد البرمجية إلى استخدام لغة البرمجة ++C مثال الدايودات المشعة للضوء الوامضة Blinking LEDs Example ستنشئ برنامجا بسيطا يحتوي على تكرارين يجعلان دايود مشع للضوء يومض 5 مرات و 10 مرات بشدة مختلفة. المكونات المطلوبة: .1 لوحة أردوينو أونو R3، 1 دايود مشع للضوء (LED). يمكن البرمجة بلغة ++C 2 ليكر كاد وذلك بتحويل نوع التحرير من لبنات (Blocks) إلى نص (Test) المكونات المستخدمة في هذا المشروع دابود مشع للصوء ( LED ) اردوينه لونه R3 شكل الي مكونات المشروع وزارة التعليم 232

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

أمثلة لبعض الأوامر المتوفرة

مثال الدايودات المشعة للضوء الوامضة

التوصيل الدايود الضوئي ثم توصيل Cathode (مهيط) LED ( الدايود المشع الضوء ) الطرف GND ( الطرف الأرضي) اللوحة الاردوينو، وغير لون السلك الى black | الاسود ) . قم بتوصيل Anode ( مصعد الدايود المشع المعصوم (LED) بالطرف Digital ( الرقمي 11 للوحة الأربيل وغير لون السلك إلى green ( الأخضر) 2 برمجة الأردوينو عند تشغيل البرنامج، سيومض الدايود المشع للضوء 5 مرات في الثانية الواحدة. ثم سيومض الدايود المشع للضوء 10 مرات وذلك بفارق 200 ملي ثانية بين كل منها . 1 2 8 UNO 80 ARDUINO int counter; int counter2: vaid setup() ( X pinMode(11, OUTPUT); void loop() { for (counter = 0; counter c 5; ++Counter) ( digitalWrite(11, HIGH); } delay(1000); // Wait for 1000 millisecond(s) digitalWrite(11, LOW); delay (1000); // Wait for 1000 millisecond(s) for (counter2 = 0; counter2 <10; ++counter2){ } digitalWrite(11, HIGH); delay(200); // Wait for 200 millisecond(s) digitalWrite(11, LOW); delay(200); // Wait for 200 millisecond(s) شكل 12 6: توصيل الدايود المبيع للضوء لبنات تینکر کاد مراة التعليم

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

توصيل الدايود الضوئي

18 المكونات المستخدمة في هذا المشروع مثال إنذار مستشعر الحركة Passive Infrared Sensors (PIR) Alarm Example سنقوم بتوسيع المشروع السابق بإنشاء جهاز إنذار PIR يرسل إشارة لإضاءة ثلاثة دايودات ضوئية مشعة في تتابع سريع. المكونات المطلوبة لوحة أردوينو أونو Arduino Uno R33). دایود مشع للضوء (LED) . مستشعر الحركة (PIR). دايود مشع للضوء (LED) مستشعر الحركة (PIR) أردوينو أوتو A3 المال 6.13 الكومات المستخدمة بالمشروع 1 3 5 OO UNO ABOUTMO 4 ورات التعليم كل 100 نا توصيل الدائرة لإنشاء الدائرة قم توصيل Cathode ( مهبط ) ( LED ) دایود مطبع للضوء ) بالطرف GND (الطرف الأرضي) للوحة الأردوينو، وغير لون السند إلى black ( الأسود) . قم توصيل Anode (مسعد ) ( LED (بدایود منبع للضوء ) بالطرف Digital ( الرقمي ) للوحة الأردوينو وغير لون السند إلى green ( الأخضر) . تم توصيل طرف الشارة PIR (مستشعر الحركة ) بالطرف Digital ( الرقمي 10 للوحة الأردوينو وغير لون الملك إلى اللون orange البرتقالي ). قم بتوصيل طرف المارة PIR (مستشعر الحركة ) بمصدر 5 (5) دولت ) من لوحة الأردوينو وغير لون السلك إلى red ( الأحمر ) تم توصيل GND ( الطرف الأرضي ) لـ PIA ) مستشعر الحركة | الطرف GND (الطرف الأرضي ) للوجه الأردوينو وغير لون السلك إلى black | الأسود ) 234

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

مثال إنذار مستشعر الحركة

إنشاء الدائرة

برمجة الأردوينو سيتحقق البرنامج مما إذا كان مستشعر (PIR) قد اكتشف كاننا في مجال رؤيته وعند اكتشافه لشيء ما، سيرسل إشارة للدايود المشع الضوء اليومض خمس ومصات سريعة متتابعة لبنات تينكر كاد اختر وضع البرمجة نص (Text) 2 مصر التعليمات البرمجية الرؤية النص التفتح بالغة منوع int counter; void setup() F pinMode(10, INPUT); pinMode(11, OUTPUT); void loop() { if (digitalRead(10) == HIGH) For (counter = 0; counter < 5; ++counter) | } digitalWrite(11, HIGH); delay(300); // Wait for 300 millisecond(s) digitalWrite(11, LOW); delay(300); // Wait for 300 millisecond(s) درارة التعليم دارے

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

برمجة الأردوينو

محرك تيار مستمر DC TMP مستشعر حرارة TMP36 حرارة التعليم مثال محرك التيار المستمر DC Motor Example ستنشئ دائرة بسيطة للتحكم في محرك DC وفق درجة المكونات المستخدمة في هذا المشروع الحرارة المحيطة به ستحتاج إلى المكونات الآتية . لوحة أردوينو أونو Arduino Une R3) R3). محرك تيار مستمر (DC motor) مستشعر درجة الحرارة (TMP36). 18 لإنشاء الدائرة قم بتوصيل طرف Power ( الطاقة) الخاص بمستشعر درجة الحرارة مطرف 157 5 فولت) من لوحة الأردوينو وغير لون السلك إلى ) ( الأحمر) قم بتوصيل طرف محرج الحمد (Vout) الخاص بمستشعر درجة الحرارة بالطرف التناظري (40) اللوحة الأردوينو وغير لون السلك إلى greer | الأخصر )) قم توصيل الطرف END | الطرف الارضي | الخاص بمستشعر درجة الحرارة بالطرف GND الطرف الأرضي) للوحة الأردوسو وغير لون الملك إلى black ( الأسود). 3 - قم بتوصيل الطرف 1 من محرك DC ( التيار المستمر) طرف GND | الأرضي للوحة الأردوينو وغير لون السلك إلى black ( الأسود ) قم بتوصيل الطرف 2 من من محرك DC (التيار المستمر) الطرف Digital | الرقمي 11 في الأردوينو، وغير لون البنك إلى red الأحمر). 5 أردوينو أونو R3 شکل 515 مكونات المشرع 4 5 1 3 شكل 16 6 توصيل الدائرة CUNO 18 -- & IDUINO 236

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

مثال محرك التيار المستمر

برمجة الأردوينو سينشئ البرنامج متغيرا باسم temperature وسيتم توصيله بالطرف التناظري AO في لوحة الأردوينو التسجيل درجة حرارة البيئة المحيطة، عندما يصل متغير درجة الحرارة temperature إلى القيمة 27 ( درجة مئوية) في محاكي تينكرباد. ينشط محرك التيار المستمر لمدة ثانيتين. لبنات تینکر کاد الختر وضع البرمجة نص (Text) 2 محرر التعليمات البرمجة الرؤية النص الناتج بلغة عفي يستخدم الكائن التسلسلي (Sorial) للطباعة على الشافية المتسلسلية في الة | setup قوم دالة | اللقاء شهيتة الشاشة التناسلية ليمكن استخدامها لاحقا، يمكن للمتعلم بعد ذلك طاعة القيم والمرسائل على الابنة استخدام دالة ( art رال printin1 مع ملاحظة أن الة ( ) pnatin متضك عطرا جديدا في نهاية الرساله int temperature = 0; void setup() { pinMode(AG, INPUT); Serial.begin(9600); pinMode(11, OUTPUT); void loop() { temperature = analogRead (A0) Serial.println(temperature); if (temperature >= 27) { digitalWrite(11, HIGH); delay(2000); // wait for 2000 millisecond(s) digitalWrite(11, Low); حرارة التعليم

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

برمجة الأردوينو محرك التيار المستمر

تمرينات 1 اكتب دالة بلغة ++C تستقبل وسيطين عشريين من نوع بيانات float، وإشارة تناظرية، ومضاعفا، مع مراعاة أن تقوم الدالة بتفخيم (مضاعفة الاشارة ثم ارجاعها. 2 ارسم مخطط من يقرأ الدجال اشارة تناظرية من طرف يمثل قراءة درجة الحرارة بالفهرنهايت ثم أنسى حالة تحول هذه القيمة إلى درجات متويد وترسلها إلى طرف كمخرج لناظري. جرارة التعليم

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

اكتب دالة بلغة +=c تستقبل وسيطين عشريين من نوع بيانات float واشارة تناظرية ومضاعفا

ارسم مخطط ++c يقرأ إدخال إشارة تناظرية من طرف يمثل قراءة درجة الحرارة بالفهرنهايت

ابحث عن خطأ قاعدي | ntax error وخطا منطقي | logical error | لي التعليمات البرمجية الآتية: void loop() [ for (counter = 0; counter <5; --counter) ( digitalWrite(11, HIGH); // Wait For 1000 millisecond(s) delay("1000"); digitalWrite(11, LOW); // Wait For 1000 millisecond(s) delay("1000"); خطا قاعدي خطا منطقي void loop() { temperature = digitalRead(AO); Serial.println(temperature); if (temperature >= 270) | digitalWrite ll, 1); // Wait for 2000 millisecond(s) delay(2000); digitalWrite(II, 0); خطا قاعدي خطا سطقي } } وزارة التعليم

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

ابحث عن خطأ قاعدي وخطأ منطقي في التعليمات البر مجية التالية

الرسم مخطط ++C للأردوينو يستخدم المعالمة في التمرين الأول ويقرا مدخل اشارة تناظري ثم أنشئ تكرار for يستخدم الدالة فى التمرين الأول لتضخيم الإشارة الأصلية 5 مرات وفي كل مرة تصحم الإشارة ترسل الى طرف كمخرج لناظري 5 التوسع في المثال المسابق الخاص بالدايولات المتعة للضوء الومضة ( LED ) وقم بإضافة دايود مشع للضوء أخر بلون مختلف بيومض كل مرة يتم فيها ايقاف تشغيل الدايود المقع للضوء الأول. جرارة البلد

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

ارسم مخطط ++c للأردوينو يستخدم الدالة في التمرين الأول

توسع في المثال السابق الخاص بالدايودات المشعة للضوء الوماضة

توسع في المثال السابق الخاص بالإنذار باستخدام مستشعر الموجات تحت الحمراء وقم بإضافة إندار بواسطة مستمر حركة آخر وما يود منع المصو بلون آخر سيوصل كل مستمر حركة بدا يود متع للضوء يومص بشاء على اكتشاف مستمر الحركة الشيء ما 2 قم بضبط محرك التيار المستمرة المثال الخاص باستخدام المحرك لإرسال اشارة تناظرية إلى المحزلك بناء على درجة الحرارة التي يكتنتنها مستمر درجة الحرارة. مرارة الي

الدرس الثاني: الانتقال من اللبنات البرمجية في تينكر كاد إلى ++C

توسع في المثال السابق الخاص بالإنذار باستخدام مستشعر الموجات تحت الحمراء

قم بضبط محرك التيار المستمر في المثال الخاص باستخدام المحرك لإرسال إشارة تناظرية