آردوینو آموزش آردوینو

آموزش آردوینو بخش چهاردهم – ارتباط communication در آردوینو

arduino-basic-tutorial-part-fourteen-communication-digispark
نوشته شده توسط پریسا پوربلورچیان

پروتکل های ارتباطی در آردوینو نقش اساسی در ارتباط و ارسال دیتا را برعهده دارند. به واسطه پروتکل های ارتباطی افزایش سرعت در ارسال، کاهش سیم کشی در مدار را داریم که نقاط قوت محسوب می‌شوند. در این آموزش به بررسی دو ارتباط Serial و Stream در آردوینو میپردازیم. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


ارتباط Serial


برای ارتباط برد آردوینو با سایر دستگاه ها و دیوایس ها بهترین راه حل استفاده از ارتباط سریال Serial است. تمامی بردهای آردوینو حداقل یک پورت سریال را دارند و برای شروع ارتباط هیچ مانعی بر سر راه ما وجود ندارد. البته بردهایی مانند آردوینو Arduino Mega2560 از چندین پورت سریال استفاده می‌کنند. پایه های سریال در بردهای آردوینو ARDUINO با RX , TX مشخص شده است.

جدول ارتباط Serial بردهای آردوینو - دیجی اسپارک

 

    • برد آردوینو UNO , NANO , MINI دارای یک پورت سریال است.
    • برد آردوینو MEGA دارای ۴ پورت سریال است.
    • برد آردوینو LEONARDO, MICRO, YUN دارای یک پورت سربال است.
    • برد آردوینو DUE دارای ۴ پورت سریال است.

 

با اتصال هر دیوایس به پایه های RX, TX بردهای آردوینو برقراری ارتباط انجام شده و امکان ارسال دیتا بین دو دستگاه آغاز می‌شود. همچنین نرم افزار IDE ARDUINO از طریق سریال مانیتور ارتباط سریال با برد آردوینو را برای ما فراهم کرده است.

پین های سریال RX, TX در ارتباط سریال از لاجیک لول TTL بسته به نوع آردوینو بین ۳٫۳ تا ۵ ولت استفاده می‌کنند. دقت کنید پایه ها را به صورت مستقیم به پورت RS232 متصل نکنید. برای اتصال مستقیم پایه های سریال کامپیوتر بایستی از مبدل های USB TO TLL استفاده کنید. برای اتصال پایه های RX , TX به مبدل USB TO SERIAL به روش زیر عمل کنید.

  • پایه TX برد آردوینو را به پایه RX دیوایس مورد استفاده وصل کنید.
  • پایه RX برد آردوینو را به پایه TX دیوایس مورد استفاده وصل کنید.
  • پایه های تغذیه همانند جاپ روی بردها انجام شود.

 

بررسی چند دستور مهم


if(Serial)


برای تشخیص پورت سریال و آماده بودن پورت از این تابع در ارتباط سریال استفاده می‌شود. به عبارتی پس از اتصال native usb به بردها مشخص می‌شود پورت USB فعال شده است یا خیر و در سریال مشخص می‌شود.  برای تست این دستور از آردوینو DUE که دارای پورت NATIVE USB است، استفاده می‌کنیم. پورت NATIVE USB که از ارتباط سریال CDC پشتیبانی می‌کند به صورت مستقیم با MCU SAM3X متصل می‌شود.

 


Serial.available()


توسط تابع SERIAL. AVAILABLE یک عدد بایت کاراکتری را از سریال مانیتور میخواند که در بافر ذخیره شده است. برای تست این دستور کد زیر را در آردوینو کپی کرده و سپس اجرا کنید. برای اجرا سریال مانیتور را باز کرده و سپس عدد ۱ را وارد و اینتر را بزنید. در سریال مانیتور عدد ۱ به عدد ۴۹ تبدیل شده که بر حسب DEC است.

 

تابع SERIAL. AVAILABLE در برنامه نویسی آردوینو - دیجی اسپارک

 

کارکرد سریال مانیتور آردوینو با تابع SERIAL. AVAILABLE - دیجی اسپارک

 

نمایش اعداد در سریال مانیتور آردوینو - دیجی اسپارک

 


Serial.availableForWrite()


تعداد بایت (کاراکتر) موجود برای نوشتن در بافر سریال را بدون مسدود کردن عملیات نوشتن دریافت می‌شود.

روش فراخوانی

 


Serial.begin()


 برای مشخص شدن بادریت در سریتال مانیتور از این دستور استفاده می‌شود.
 


Serial.end()


برای قطع ارتباط سریال از این دستور استفاده می‌شود.
 


Serial.find()


 برای خواندن دیتا از سریال بافر از دستور FIND استفاده می‌شود.
 


Serial.print()


برای چاپ و نمایش دیتا در سریال مانیتور از دستور PRINT استفاده می‌شود.
 
 

روش فراخوانی

 

 برای تست برنامه کد را کپی و در نرم افزار آردوینو کپی کنید. سپس سریال مانیتور را باز کنید.
 

چاپ و نمایش انواع اعداد در سریال مانیتور آردوینو - دیجی اسپارک

ارتباط STREAM


از Stream برای داده های کاراکتری و باینری استفاده می‌شود. این ارتباط به صورت مستقیم در برنامه نویسی فراخوانی نمی‌شود و فقط در زمان هایی که به آن نیاز است استفاده می‌شود. توسط این تابع جریان عملکردهای خواندن را در آردوینو تعریف می شود. هنگام استفاده از هرگونه عملکرد اصلی که از متد read () یا روش مشابه استفاده می کند ، می توانید با خیال راحت فرض کنید که در کلاس Stream فراخوانی می شود. کتابخانه هایی که از stream استفاده می‌کنند به صورت زیر است.

  • Serial
  • Wire
  • Ethernet
  • SD

 


وسایل مورد نیاز


آردوینو 

همین!

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه