📈 سریال مانیتور و نمودار سریال آردوینو در شبیهساز آنلاین
آردوینو صفحهنمایش ندارد، پس از کجا بفهمی سنسورت چه عددی میخواند یا برنامه به کدام خط رسیده؟ جواب: سریال مانیتور. و وقتی عددها تند عوض میشوند، نمودار سریال (Serial Plotter) آنها را به منحنی زنده تبدیل میکند. در این آموزش هر دو را در یک شبیه ساز آردوینو آنلاین یاد میگیری؛ همان ابزارهایی که در wokwi و Arduino IDE هم هستند، این بار با توضیح فارسی.
سریال چیست؟
«سریال» یعنی فرستادن داده بیتبهبیت، پشت سر هم، روی یک سیم. آردوینو از راه کابل USB با کامپیوتر حرف میزند و سریال مانیتور پنجرهای است که این گفتوگو را نشان میدهد. دو طرف باید با یک سرعت حرف بزنند؛ به این سرعت baud rate میگویند و رایجترینش ۹۶۰۰ است.
قطعهها و اتصال
- آردوینو Uno
- پتانسیومتر: پایههای کناری به 5V و GND، پایهی وسط به A0
- مقاومت نوری LDR: یک سر به 5V، سر دیگر به A1؛ و یک مقاومت ۱۰ کیلو از A1 به GND
- LED داخلی آردوینو روی پایهی 13 (سیمکشی لازم ندارد)
برنامهی ۱: گفتوگو با سریال مانیتور
const int LED_PIN = 13;
void setup() {
Serial.begin(9600);
pinMode(LED_PIN, OUTPUT);
Serial.println("Salam! 1 = roshan, 0 = khamoosh");
}
void loop() {
if (Serial.available() > 0) {
char c = Serial.read();
if (c == '1') {
digitalWrite(LED_PIN, HIGH);
Serial.println("LED roshan shod");
} else if (c == '0') {
digitalWrite(LED_PIN, LOW);
Serial.println("LED khamoosh shod");
}
}
}
Serial.begin(9600): سریال را با سرعت ۹۶۰۰ روشن میکند. بدون این خط هیچ چیزی چاپ نمیشود.Serial.printlnمتن را چاپ میکند و به خط بعد میرود؛Serial.printهمان کار را بدون رفتن به خط بعد میکند.Serial.available(): تعداد حرفهایی که از کامپیوتر رسیده و هنوز خوانده نشده. اگر بیشتر از صفر بود، باSerial.read()یکی را برمیداریم.'1'با تککوتیشن یعنی حرف یک، نه عدد یک. چیزی که تو تایپ میکنی حرف است.
برنامهی ۲: نمودار زندهی دو سنسور
const int POT_PIN = A0;
const int LDR_PIN = A1;
void setup() {
Serial.begin(9600);
}
void loop() {
int pot = analogRead(POT_PIN);
int light = analogRead(LDR_PIN);
Serial.print("pot:");
Serial.print(pot);
Serial.print(",light:");
Serial.println(light);
delay(50);
}
هر خط خروجی چیزی شبیه pot:512,light:300 است. نمودار سریال این قالب name:value را میشناسد و برای هر اسم یک منحنی با رنگ جدا میکشد. قالب سادهتر CSV هم کار میکند، یعنی فقط عددها با کاما: 512,300. در شبیهساز ما تا ۸ منحنی را با هم میتوانی نشان بدهی.
- همهی مقدارهای یک لحظه باید در یک خط باشند و آن خط با
printlnتمام شود. delay(50)یعنی بیست نمونه در ثانیه؛ برای دیدن تغییرها کافی است و نمودار شلوغ نمیشود.
,limit:700، تا روی نمودار یک خط مرز داشته باشی و ببینی سنسور کی از آن رد میشود.در شبیهساز تینکرکد فارسی
کنار ویرایشگر کد، زبانهی سریال مانیتور و زبانهی نمودار را داری. برنامه را اجرا کن، در سریال مانیتور 1 یا 0 تایپ کن و در زبانهی نمودار ولوم را بچرخان تا منحنی بالا و پایین برود. مثال فرمان از سریال و ثبت داده آمادهاند و آردوینو Uno، پتانسیومتر و LDR رایگاناند. درسهای درس ۳: گفتگو با آردوینو و درس ۵۸: ثبت داده و نمودار را هم ببین، و مقالهی سریال مانیتور، مهمترین ابزار پیدا کردن اشکال را.
اشکالهای رایج
- حروف عجیب و درهم در مانیتور: سرعت مانیتور با عدد
Serial.beginیکی نیست. روی برد واقعی هر دو را ۹۶۰۰ بگذار. - هیچ چیزی چاپ نمیشود:
Serial.beginرا درsetupننوشتهای. - نمودار خالی است: بین اسم و عدد دونقطه نگذاشتهای، یا خط را با
printبه جایprintlnتمام کردهای. - نمودار دو منحنی را یکی نشان میدهد: هر مقدار را در خط جدا چاپ کردهای. همه را در یک خط با کاما جدا کن.
- LED با تایپ 1 روشن نمیشود: با
c == 1(بدون کوتیشن) مقایسه کردهای؛ باید'1'باشد.
سریال اولین ابزار دیباگ است؛ دومی دیباگر قدمبهقدم است: دیباگ کد آردوینو در شبیهساز. برای شروع از صفر صفحهی آموزش شبیهساز و برای پروژهها صفحهی آردوینو را ببین.
سریال و نمودار را امتحان کن 📈مقالههای مرتبط
دیباگ قدمبهقدم کد آردوینو در شبیهساز آنلاین: بریکپوینت و دیدن متغیرها
کد آردوینو کار نمیکند؟ ۱۵ علت رایج، از سیمکشی تا تغذیه، با راهحل هر کدام
ارورهای رایج آردوینو و معنیشان: از was not declared in this scope تا avrdude
ESP32 یا آردوینو اونو؟ مقایسه برای شروع
همهی آموزشهای برنامهنویسی و عیبیابی آردوینو ← · همهی مقالهها