ارتباط سریال در آردوئینو
ارتباط سریال در آردوئینو یک روش ساده و مؤثر برای ارتباط با سیستمهای خارجی (مثل کامپیوتر یا دیگر میکروکنترلرها) است. این ارتباط بهوسیله پورتهای TX (ارسال) و RX (دریافت) انجام میشود و امکان ارسال و دریافت دادهها بین آردوئینو و دیگر دستگاهها را فراهم میکند.
1. آشنایی با پورتهای سریال
آردوئینو معمولاً از پینهای TX (برای ارسال دادهها) و RX (برای دریافت دادهها) برای برقراری ارتباط سریال استفاده میکند. این ارتباط میتواند از طریق پورت USB یا از طریق پینهای دیجیتال بهطور مستقیم با دیگر دستگاهها برقرار شود.
2. ارتباط سریال با کامپیوتر
یکی از پرکاربردترین انواع ارتباط سریال در آردوئینو ارتباط با کامپیوتر است که از طریق پورت USB انجام میشود. وقتی شما آردوئینو را به کامپیوتر وصل میکنید، ارتباط سریال بهطور خودکار بین آردوئینو و نرمافزار Arduino IDE برقرار میشود. این ارتباط برای ارسال دادهها بین برنامه آردوئینو و کامپیوتر، همچنین برای مشاهده دادههای خروجی از طریق Serial Monitor استفاده میشود.
3. پیکربندی ارتباط سریال
در آردوئینو، برای فعال کردن ارتباط سریال، از تابع Serial.begin() استفاده میشود که سرعت ارتباط (baud rate) را تعیین میکند. معمولاً سرعت استاندارد برای ارتباط سریال برابر با 9600 bps است، اما میتوانید آن را تغییر دهید.
کد نمونه برای شروع ارتباط سریال
// شروع ارتباط سریال با سرعت 9600 بایت در ثانیه
Serial.begin(9600);
}
void loop() {
// ارسال داده به سریال (کامپیوتر)
Serial.println("Hello, Arduino!");
// تاخیر 1 ثانیه
delay(1000);
}
در این کد، ارتباط سریال با سرعت 9600 baud شروع میشود و هر یک ثانیه یک پیام به سریال ارسال میشود.
4. خواندن داده از پورت سریال
برای خواندن دادهها از پورت سریال، از تابع Serial.read() استفاده میشود. این تابع دادههای ورودی را از پورت سریال میخواند و معمولاً برای دریافت اطلاعات از کامپیوتر یا سایر دستگاهها بهکار میرود.
کد نمونه برای خواندن داده از سریال
// شروع ارتباط سریال با سرعت 9600 بایت در ثانیه
Serial.begin(9600);
}
void loop() {
// بررسی اینکه آیا دادهای از سریال وارد شده است یا نه
if (Serial.available() > 0) {
// خواندن داده از سریال
char incomingByte = Serial.read();
// چاپ داده دریافتی
Serial.print("Received: ");
Serial.println(incomingByte);
}
}
در این کد، آردوئینو منتظر دریافت داده از سریال میماند و در صورت دریافت داده، آن را میخواند و نمایش میدهد.
5. ارتباط سریال با دستگاههای دیگر
آردوئینو میتواند از طریق پینهای TX و RX به سایر دستگاهها مانند ماژولهای بلوتوث، ماژولهای GPS، ماژولهای WiFi و میکروکنترلرهای دیگر متصل شود. این دستگاهها میتوانند از پروتکلهای سریال برای ارتباط با آردوئینو استفاده کنند.
6. تنظیمات ارتباط سریال
- Baud Rate: سرعت انتقال دادهها (معمولاً 9600 یا 115200 bps).
- Parity: برای تشخیص خطا در دادهها.
- Data Bits: تعداد بیتهای داده در هر بسته (معمولاً 8 بیت).
- Stop Bits: تعداد بیتهای توقف برای پایان هر بسته (معمولاً 1 یا 2 بیت).
7. استفاده از Serial Monitor
در آردوئینو IDE، شما میتوانید از Serial Monitor برای مشاهده دادههای ارسالشده از آردوئینو به کامپیوتر استفاده کنید. این ابزار به شما این امکان را میدهد که دادههای ورودی و خروجی را در زمان واقعی مشاهده کرده و تعامل برقرار کنید.
8. پیکربندی Baud Rate در Serial Monitor
در هنگام استفاده از Serial Monitor، باید سرعت ارتباط (baud rate) در Arduino IDE و Serial Monitor هماهنگ باشد. معمولاً در هر دو بخش میتوانید baud rate را تنظیم کنید (مثلاً 9600 یا 115200).
9. مثالهای کاربردی ارتباط سریال
- نمایش دادههای سنسورها: میتوانید دادههای خواندهشده از سنسورهایی مانند دما، رطوبت و فشار را از طریق پورت سریال به کامپیوتر ارسال کنید و در Serial Monitor نمایش دهید.
- کنترل دستگاهها از طریق سریال: با ارسال دستورات از طریق پورت سریال، میتوانید دستگاههای مختلف را کنترل کنید، مانند روشن/خاموش کردن LEDها یا تغییر سرعت موتورهای DC.
10. نتیجهگیری
ارتباط سریال در آردوئینو ابزاری قدرتمند برای ارتباط بین آردوئینو و سایر دستگاهها است. این ارتباط میتواند برای ارسال دادهها، دریافت دادهها، یا حتی کنترل دستگاهها استفاده شود. استفاده از ()Serial.begin برای راهاندازی ارتباط و ()Serial.print یا ()Serial.println برای ارسال دادهها از آردوئینو به کامپیوتر، و همچنین استفاده از ()Serial.read برای دریافت دادهها از کامپیوتر، امکان تعامل آسان با سیستمهای خارجی را فراهم میکند.
