إفتح واجهة التطوير و حرر نص البرنامج التالي:


void setup()
{
 	Serial.begin(9600);
	Serial.println("Communication");
	Serial.println("serial port");
}  
void loop()
{

}

قم بفحص نص البرنامج ثم إرفعه إلى اللوحة.

بعد أن تتلقى اللوحة البرنامج، إضغط على الزر «مراقب الوصل المتوالي». تظهر نافذة ذات عنوان رقم المنفذ المتوالي و الرسالة التي قمنا بإرسالها في نص البرنامج.

شرح كيفية عمل مراقب الوصل المتوالي

لكي يتمكن أردوينو من الإتصال المتوالي، يقوم بشحن المكتبة المختصة «Serial» التي تحتوي على كل التعليمات و الدوال لتحديد سرعة تدفق البيانات و كذلك إرسال البيانات و إستقبالها.

دوال المكتبة Serial

()begin

فتح و تعريف سرعة تدفق البيانات لمنفذ الإتصال، القيم المسموح بها هي: 300، 1200، 2400، 4800، 9600، 14400، 19200، 28800، 38400، 57600 أو 115200. وحدة السرعة هي البود (baud) و الذي يعني بت/ ثانية (bps).

النص

vitesse : متغير من نوع «long» و تحمل قيمة سرعة الإتصال بالبود (baud)

الإرجاع

هذه الدالة لا ترجع شيئ.

مثال

void setup(){
Serial.begin(9600);
}

 

()read

قراءة البيانات الواردة.

النص

Serial.read()

ليس لهذه الدالة معاملات

الإرجاع

أول بايت (byte) من البيانات يصل المنفذ أو 1- إذا لم تكن هناك بيانات. نوع الإرجاع هو «int».

()available

ترجع عدد الحروف بالبايت أو الثُمانيات المتوفرة في الذاكرة المؤقتة للمنفذ و سعتها 128 بايت

النص

Serial.available()

ليس لهذه الدالة معاملات

الإرجاع

عدد البايت (byte) من البيانات للقراءة.

()peek

ترجع الحرف التالي في الذاكرة المؤقتة من دون مَحيِه. إذا نفذنا ()peek مرة أخرى فإنها ترجع نفس الحرف.

النص

Serial.peek()

ليس لهذه الدالة معاملات

الإرجاع

أول بايت (byte) من البيانات يصل المنفذ أو 1- إذا لم تكن هناك بيانات. نوع الإرجاع هو «int».

()end

إيقاف الإتصال المتوالي و بذلك يتحرر المنفذين (RX) Pin0 و (TX) Pin1 إذ يمكن إستعمالها كمنافذ عادية.

لإعادة تشغيل التواصل المتوالي نُنفذ الدالة .

Serial.begin()

النص

Serial.end()

ليس لهذه الدالة معاملات

الإرجاع

لا شيئ.

()print

تعرض رموز البيانات المستقبلة بشكل نص قابل للقراءة. يمكن لهذه الدالة أن تأخذ عدة أشكال.

  • الأرقام تكتب باستخدام رموز ASCII لكل رقم.
  • الأعداد العشرية (بالفواصل) تعرض مع عددين بعد الفاصلة. رمز ASCII لكل رقم.
  • الأرقام في شكل بايت تكتب باستخدام رموز ASCII لكل رقم.
  • الحروف و السلاسل تكتب كما هي.

أمثلة

  •  Serial.print(78) —–> "78"
  •  Serial.print(1.23456) —–> "1.23"
  •  Serial.print(byte(78)) —–> "N" (ASCII = 78)
  •  Serial.print('N') —–> "N"
  •  Serial.print("Cours math.") —–> " Cours math."

يمكن إستعمال معامل ثاني للدالة و هوغير ضروري يمكن عن طريقه تحديد النظام الحسابي المستعمل لإظهار القيمة و التي هي:

  • BYTE
  • BIN أو النظام الثنائي.
  • OCT أو نظام 8.
  • DEC أو النظام العشري.
  • HEX أو النظام 16.

أمثلة

  •  Serial.print(78, BIN) —-> "1001110"
  •  Serial.print(78, OCT) —-> "116"
  •  Serial.print(78, DEC) —-> "78"
  •  Serial.print(78, HEX) —-> "4E"
  •  Serial.println(1.23456, 0) —-> "1"
  •  Serial.println(1.23456, 2) —-> "1.23"
  •  Serial.println(1.23456, 4) —-> "1.2346"

 

remark

في ميدان البرمجة، نمثل الفاصلة العشرية بالنقطة.

النص

Serial.print(val)

Serial.print(val, format)

المعاملات

  • val: القيمة المراد إظهارها.
  • format: النظام العددي المراد إظهار الرمز فيه.

الإرجاع

عدد بايت (byte) من البيانات.

()write

إرسال بيانات في شكل ثنائي عبر المنفذ المتوالي منظمة في ثمانيات (بايت) أو مجموعة ثمانيات.

النص

Serial.write(val)

Serial.write(str)

Serial.write(buf, len)

المعاملات

val : القيمة المراد إرسالها كبايت.
str : سلسلة رموز كثمانيات (بايت).
buf :جدول بيانات كسلسلة بايت للإرسال.
len : طول buf.

الإرجاع

سلسلة بايت (byte) من البيانات للإرسال.

Serial.begin(vitesse)