ما الجديد
 
 

معهد المحترف

أحمد راعي
الإدارة
إنضم
30 أبريل 2010
المشاركات
1,227
مستوى التفاعل
130
بنية لغة برمجة أردوينو الدرس الثالث
 
 
بنية لغة برمجة أردوينو
تخضع الشيفرة في لغة أردوينو إلى بعض التعديلات البسيطة ثم تمرَّر إلى مفسِّر ++C/C. يمكن استعمال جميع البنى والتعابير القياسية في لغة C أو ++C التي يدعمها المفسِّر في أردوينو. لن تجد في شيفرة أردوينو الدالة Main()المعتادة ولكن ستجد عوضًا عنها دالتين رئيسين هما: الدالة setup()‎ والدالة loop() ‎ اللتان تفسران وتوصلان بالدالة الرئيسيةmain() ‎

انظر إلى الشيفرة التالية التي تمثِّل بنية لغة أردوينو:

C++:
#define LED_PIN 13 // تسمية الرجل 13 المتصلة بضوء ليد



void setup() {

    pinMode(LED_PIN, OUTPUT); // ضبط الرجل 13 لتصبح رجل خرج

}



void loop() {

    digitalWrite(LED_PIN, HIGH); // تشغيل ضوء الليد

    delay(1000);     // الانتظاء لمدة ثانية واحدة

    digitalWrite(LED_PIN, LOW); // إطفاء ضوء الليد

    delay(1000);   // الانتظار لمدة ثانية واحدة

}

ستستدعى الدالة setup()‎ متى ما شُغلَت لوحة أروينو أو أعيد ضبطها بالضغط على الزر reset؛ تُستعمَل لتعريف المتغيرات وضبط أوضاع الأرجل وتهئية المكتبات المراد استعمالها في الشيفرة وغيرها من الأمور. أمَّا الدالة loop()‎، فتُستدعَى بعد اكتمال تنفيذ الدالة setup()‎ وخروجها وتنفَّذ بشكل متكرر في البرنامج الرئيسي (main()). تتحكم هذه الدالة باللوحة حتى اطفائها أو إعادة ضبطها بالضغط على الزر reset.



- البنية الأولية للشيفرة
لابد لكل شيفرة من شيفرات أردوينو أن تحوي الدالتين التاليتين:



1. الدالة setup ()
تستدعى الدالة setup() ‎ أولًا عند البدء بتنفيذ الشيفرة (المخطط [sketch] كما تُطلِق عليه أردوينو)، إذ تُستَعمل لتهيئة المتغيرات، وأوضاع الأرجل، وواجهات التخاطب، والبدء باستعمال المكتبات ...إلخ. انتبه إلى أنَّ الدالة setup()‎ ستُنفَّذ مرةً واحدةً فقط بعد تشغيل لوحة أردوينو أو تصفيرها (reset).



- البنية العامة

كود:
void setup()

{

  // تهيَّأ هنا المتغيرات والأرجل وواجهات التخاطب والمكتبات ...إلخ

}

- أمثلة
مثالٌ على تهيئة وبدء واجهة التخاطب التسلسلية وتهيئة الرجل 3 لتصبح في وضع الإدخال:

كود:
int buttonPin = 3;



void setup()

{

  Serial.begin(9600);

  pinMode(buttonPin, INPUT);

}



void loop()

{

  // ...

}

2. الدالة loop()‎
بعد إنشاء الدالة setup()‎ التي تهيئ وتضبط القيم الأولية المراد استعمالها، تعمل الدالة loop()‎ على «تكرار» الشيفرة المكتوبة بداخلها -كما يشير اسمها بالضبط- على التوالي متيحةً بذلك لبرنامجك بالتحكم بلوحة أردوينو والتغيُّر والاستجابة للبيئة والعناصر المرتبطة بها.

- البنية العامة
كود:
oid loop()

{

  // تكتب الشيفرة المراد تكرارها هنا

}

- أمثلة
مثالٌ على ربط زرٍ بالرجل 3 وإرسال الحرف "H" عند ضغطه أو الحرف "L" كل ثانية عبر واجهة التخاطب التسلسلية:

كود:
int buttonPin = 3;



// واجهة التخاطب التسلسلية وزر الإدخال setup تهيئ الدالة

void setup()

{

  Serial.begin(9600);

  pinMode(buttonPin, INPUT);

}



// من حالة الزر في كل فترة زمنية معينة loop تتحقق الدالة

// وسترسل رسالة معينة عبر واجهة التخاطب التسلسلية إن ضُغِط

void loop()

{

  if (digitalRead(buttonPin) == HIGH)

    Serial.write('H');

  else

    Serial.write('L');



  delay(1000);

}
 
 

NOOOOR

شركة رؤية
مؤسس الموقع
إنضم
23 فبراير 2009
المشاركات
7,486
مستوى التفاعل
272
بنية لغة برمجة أردوينو الدرس الثالث
   
بارك الله فيك يا هندسه
 
 

en.mohamedsaid

شركة عيون دمياط
الإدارة
إنضم
24 فبراير 2009
المشاركات
1,535
مستوى التفاعل
223
بنية لغة برمجة أردوينو الدرس الثالث
   
بارك الله فيك وزادك من علمه
 
 

EGY DATA LAB

EGY DATA LAB
الإدارة
إنضم
19 أبريل 2020
المشاركات
115
مستوى التفاعل
52
بنية لغة برمجة أردوينو الدرس الثالث
   
تسلم اخي الكريم ..
 
 

معهد المحترف

أحمد راعي
الإدارة
إنضم
30 أبريل 2010
المشاركات
1,227
مستوى التفاعل
130
بنية لغة برمجة أردوينو الدرس الثالث
 
أعلى