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

آماده سازی برد آردوینو جهت ارتباط سریال با دستور ifserial

ifserial-for-Arduino-IDE-digispark
نوشته شده توسط پریسا پوربلورچیان

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

 


سریال مانیتور Serial Monitor


از سریال مانیتور برای ارتباط بین دو آردوینو با یکدیگر، آردوینو به کامپیوتر و یا ارتباط آردوینو با سایر دستگاه ها استفاده می‌شود. آردوینو یک پورت سریال دارد که با نام UART یا Universal Asynchronous مشخص شده است. به فرآیند ارسال داده با n بیت اطلاعات در یک لحظه گفته می‌شود. در آردوینو از پین‌های دیجیتال ۰ و ۱ برای راه اندازی پورت سریال استفاده می‌شود. آموزش جامع سریال مانیتور در بخش های قبلی آموزش داده شده و برای مطالعه بیشتر می‌توانید از آن‌ها استفاده نمایید.

 


دستور if serial


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

فراخوانی این دستور در تمامی بردها به استثنا دو برد کاملا یکسان است:

  • برد آردوینو لئوناردو : (if (Serial1
  • برد آردوینو مگا۲۵۶۰ : (if (Serial1) , if (Serial2) , if (Serial3

 


دستور available


توسط این دستور اعداد در سریال مانیتور بر حسب واحدهای مختلف دریافت و سپس خوانده می‌شود. تمامی این اعداد در حافظه بافر آردوینو ذخیره می‌گردد.

فراخوانی این دستور در تمامی بردها به استثنا دو برد کاملا یکسان است:

  • برد آردوینو لئوناردو : ()Serial.available
  • برد آردوینو مگا۲۵۶۰ : ()Serial1.available() ,  Serial2.available() ,  Serial3.available

آماده سازی برد آردوینو جهت ارتباط سریال با دستور ifserial

 


کد آردوینو تست سریال مانیتور


جهت دسترسی به این بخش از پروژه، اسپارکر پلاس شوید.

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

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

 

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

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

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

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

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

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

۲ دیدگاه

  • سلام
    با عرض ادب و خسته نباشید به همه دوستان، یک مشکلی داشتم اگر راهنمایی کنید خیلی ممنون میشم.
    من میخوام دستور اتصال به شبکه را به ماژول SIM800L ارسال کنم. برای این کار از برد آردوینو CH340
    و هدر فایل Softwareserial استفاده میکنم. اکثر دستورات از قبیل
    #include
    ;(SoftwareSerial SIM800(10, 11
    Serial.begin(9600);
    SIM800.begin(9600);
    ……
    ;(“?SIM800.println(“AT+CREG
    ;(“SIM800.println(“AT+COPS=0
    اجرا میکنم و نتیجه را هم OK می دهد.و نتایج درست برمی گرداند. ولی
    الان میخوام این دستور را اجرا کنم: “AT+COPS=2,2,”43211.
    به این صورت ;(“SIM800.println(“AT+COPS =2,2,43211 استفاده کردم نتیجه سریال خطای ۶۰۴ می دهد یعنی دستور درست نیست!!!؟
    به این صورت (“SIM800.println(“AT+COPS =2,2”,”43211 استفاده کردم کامپایلر خطا می دهد!!؟
    ممنون میشم اگر نحوه درست ارسال کردن دستور “AT+COPS=2,2,”43211 را توسط این توابع بیان کنید.

    • با سلام
      ضمن تشکر از شما، لطفا سوالات را در پست های مرتبط با موضوع خود بپرسید تا امکان بررسی وجود داشته باشد.