آموزش آردوینودستورات آردوینو

دستورات ارتباط سریال آردوینو (آموزش کامل توابع Serial)

در این مقاله با توابع ارتباط سریال در برد های آردوینو آشنا خواهیم شد. همچنین متوجه میشویم Serial.begin(9600) یعنی چه.

Serial.Begin(9600)

بی شک مهم ترین تابع در زمینه ارتباط سریال، Serial.Begin است. عدد 9600 در این تابع به معنی سرعت یا نرخ باود (Baud Rate) است. میتوانید هر مقداری را درون این تابع قرار دهید به شرطی که دستگاه دوم شما نیز با همین نرخ باود کار کند.

Serial.begin(speed)

در حقیقت دستور Serial.begin(9600) به آردوینو میگوید ارتباط سریال را در پایه های Rx و Tx با نرخ 9600 آغاز کند.

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.

Serial.available()

تابع Serial.available() بررسی میکند که آیا داده های سریال در دسترس هستند یا خیر. یعنی اگر داده های سریال موجود باشند تابع Serial.available() مقدار 1 را بر میگرداند. از این تابع اغلب در شروع کد و در یک شرط استفاده میشود. مثلا:

void loop() {
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.print(inByte, DEC);
  }

Serial.find()

تابع Serial.find() داده ها از بافر سریال میخواند. اگر داده مربوطه یافت شود این تابع مقدار 1 را بر میگرداند و اگر هدف یافت نشود مقدار 0 را بر میگرداند.

Serial.find(target)

Serial.print()

تابع Serial.print() برای چاپ مقدار در سریال مانیتور یا ارسال مقادیر از طریق ارتباط سریال استفاده میشود. کافیست در میان پرانتز مقدار مورد نظر برای چاپ را بنویسید.

Serial.println()

تابع Serial.println() همانند تابع Serial.print() عمل میکند با این تفاوت که داده ها را در یک خط جداگانه مینویسد در صورتی که تابع Serial.print() داده ها را پشت سر هم مینویسد و مثلا در سریال مانیتور خوانایی آن پایین می آید.

Serial.read()

دستور Serial.read() داده های سریال ورودی را میخواند. این تابع به شکل Serial.read() در کد قرار میگیرد و کافی است مقدار یک متغیر را برابر با این تابع قرار دهیم تا داده های ورودی در آن ذخیره شود.

مثلا:

void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();

Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}

Serial.write()

تابع Serial.write() برای نوشتن و ارسال مقادیر از طریق ارتباط سریال استفاده میشود. این تابع داده های باینری را از طریق پورت سریال ارسال میکند.

کافیست متغیر مورد نظر یا رشته دلخواه خود را در پرانتز این تابع قرار دهید.

مثلا:

void loop() {
Serial.write(45); // ارسال یک بایت داده با مقدار 45

int bytesSent = Serial.write("hello"); //ارسال یک رشته از طریق پروتکل سریال
}
5/5 - (1 امتیاز)

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

دوره آموزش الکترونیک

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام آیرنکس را دنبال کنید.

تصویر از محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید) سعی میکنم تمام نظرات را پاسخ دهم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *