در یادگیری آردوینو، درک مفاهیم اولیه و نحوهی فراخوانی آنها از اهمیت ویژهای برخوردار است. در بسیاری از پروژهها ارتباط سنسورها با یکدیگر از طریق پورت سریال امکان پذیر است. با استفاده از پورت سریال کارهای زیادی میتوان انجام داد. در این آموزش به معرفی یکی از دستورات پورت سریال میپردازیم. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
سریال مانیتور Serial Monitor
از سریال مانیتور برای ارتباط بین دو آردوینو با یکدیگر، آردوینو به کامپیوتر و یا ارتباط آردوینو با سایر دستگاه ها استفاده میشود. آردوینو یک پورت سریال دارد که با نام UART یا Universal Asynchronous مشخص شده است. به فرآیند ارسال داده با n بیت اطلاعات در یک لحظه گفته میشود. در آردوینو از پینهای دیجیتال ۰ و ۱ برای راه اندازی پورت سریال استفاده میشود. آموزش جامع سریال مانیتور در بخش های قبلی آموزش داده شده و برای مطالعه بیشتر میتوانید از آنها استفاده نمایید.
دستور if serial
جهت برقراری ارتباط با پورتهای سریال از دستور کدنویسی ifserial استفاده میکنیم. توسط دستور ifserial مشخص میکنیم که پورت سریال مورد نظر، آماده است یا خیر و سپس دستورات را اجرا مینماید.
if (Serial)
فراخوانی این دستور در تمامی بردها به استثنا دو برد کاملا یکسان است:
- برد آردوینو لئوناردو : (if (Serial1
- برد آردوینو مگا۲۵۶۰ : (if (Serial1) , if (Serial2) , if (Serial3
دستور available
توسط این دستور اعداد در سریال مانیتور بر حسب واحدهای مختلف دریافت و سپس خوانده میشود. تمامی این اعداد در حافظه بافر آردوینو ذخیره میگردد.
available()
فراخوانی این دستور در تمامی بردها به استثنا دو برد کاملا یکسان است:
- برد آردوینو لئوناردو : ()Serial.available
- برد آردوینو مگا۲۵۶۰ : ()Serial1.available() , Serial2.available() , Serial3.available
کد آردوینو تست سریال مانیتور
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
پروژه و دریافت بن ارسال رایگان
برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگهای دیجی_اسپارک دانشجوکیت digispark daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام
با عرض ادب و خسته نباشید به همه دوستان، یک مشکلی داشتم اگر راهنمایی کنید خیلی ممنون میشم.
من میخوام دستور اتصال به شبکه را به ماژول 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 را توسط این توابع بیان کنید.
با سلام
ضمن تشکر از شما، لطفا سوالات را در پست های مرتبط با موضوع خود بپرسید تا امکان بررسی وجود داشته باشد.
سلام خانم بلورچیان یه برنامه برای آردونیو DUO میخواستم که دیتا ار شبکه با برد W5100 بگیره و به سریال تبدبل کنه در خروجی ممنون میشم کمکم کنید
با سلام
از توجه شما ممنونم. امکان توسعه برنامه اختصاصی وجود ندارد.
سلام خانم بلورچیان یه برنامه برای آردونیو UNO میخواستم که دیتا ار شبکه با برد W5100 بگیره و به سریال تبدبل کنه در خروجی ممنون میشم کمکم کنید اگه بشه با OLED هم ببینم چی میاد و چی ارسال میشه که خیلی عالی میشه ممنون
با سلام
همانطور که در پیام قبل اشاره شد، امکان توسعه برنامه اختصاصی وجود ندارد.
سلام خانم پوربلور چیان
من می خوام برنامه ای رو بنویسم که اگر کاراکتر دریافت شده مثلا apple بود
آردوینو fruit رو چاپ کنه
اما نمی دونم چجور میشه عبارت دریافت شده را در شرط if مساوی apple قرار بدم
ممنون می شم راهنمایی کنید
با سلام
در این خصوص از رشته باید استفاده کنید. این مورد بیشتر نیاز به دانش برنامه نویسی کافی C++ دارد.