
Serial print การแสดงผลออกทาง Serial
ใน EP นี้จะเป็นตัวอย่างการติดต่อสื่อสารระหว่าง Arduino กับคอมพิวเตอร์ โดยส่วนใหญ่เราจะใช้ในการแสดงผลข้อความออกมาทำให้เรารับรู้ค่าต่าง ๆ เช่น ค่าจากเซนเซอร์ ผลจากการดำเนินการต่างๆ ซึ่งพอร์ตที่ใช้ทำการเชื่อมต่อคือ Serial หรือที่ว่าพอร์ตอนุกรม ซึ่งจริงๆเราใช้กันมาตั้นนานแล้วเช่น เมาส์ คีบอร์ด
Serial เป็นการสื่อสารโดยใช้เทคนิคในการเลื่อนข้อมูล (Shift Bit) โดยจะส่งไปทีล่ะบิตบนสายสัญญานเส้นเดียว โดยไม่มีสัญญาณนาฬิการะหว่างตัวรับและตัวส่ง แต่จะอาศัยการตั้งค่าความเร็วในการรับส่งที่เท่ากัน หรือที่เรียกว่า Baud Rate และส่งสัญญาณหยุดและเริ่มเพื่อบอกว่าเป็นส่วนต้น (Star Bit) หรือส่วนท้ายของข้อมูล (Stop Bit)

คำสั่ง Arduino ที่ใช้กับ Serial
Serial.begin();
ตั้งค่าอัตราข้อมูลเป็นบิตต่อวินาที (baud) สำหรับการส่งข้อมูลแบบอนุกรม สำหรับการติดต่อสื่อสารกับคอมพิวเตอร์ให้ใช้อัตราใดค่าหนึ่งดังต่อไปนี้: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 หรือ 115200

/*
* Coding By : Arduino-MakerZone > www.arduino-makerzone.com
* Sample Coding : Serial.begin();
*/
void setup() {
Serial.begin(9600); // เปิดพอร์ตอนุกรมตั้งค่าอัตราข้อมูลเป็น 9600 bps
Serial.print("Hello : www.arduino-makerzone.com"); // พิมพ์ข้อความออกทางพอร์ตอนุกรม
}
void loop() {
}

จากโปรแกรมได้ทำการกำหนด baud ที่ 9600 และในส่วน baud ของ Serail Monitor ก็กำหนดที่ 9600 เราจึงสามารถเห็นค่าที่ตัวโปรแกรมส่งกลับมาได้
Serial.print();
เป็นคำสั่งพิมพ์ข้อมูลลงในพอร์ตอนุกรมเป็นข้อความ ASCII ที่คนเราสามารถอ่านได้ โดยสามารถทำการขึ้นบรรทัดโดยเพิ่มคำสั่ง “\n” เว้นวรรค 1 Tab โดยใช้คำสั่ง “\t”

/*
* Coding By : Arduino-MakerZone > www.arduino-makerzone.com
* Sample Coding : Serial.print();
*/
void setup() {
Serial.begin(9600); // เปิดพอร์ตอนุกรมตั้งค่าอัตราข้อมูลเป็น 9600 bps
Serial.print("Hello www.arduino-makerzone.com\n"); // "\n" ขึ้นบรรทัดใหม่
Serial.print("Hello \t www.arduino-makerzone.com"); // "\t" เว้นวรรค 1 Tab
}
void loop() {
}

Serial.println();
เป็นคำสั่งพิมพ์ข้อมูลลงในพอร์ตอนุกรมเป็นข้อความ ASCII ที่คนเราสามารถอ่านได้ จากนั้นขึ้นบรรทัดใหม่

/*
* Coding By : Arduino-MakerZone > www.arduino-makerzone.com
* Sample Coding : Serial.println();
*/
void setup() {
Serial.begin(9600); // เปิดพอร์ตอนุกรมตั้งค่าอัตราข้อมูลเป็น 9600 bps
Serial.println("www.arduino-makerzone.com"); // พิมพ์ข้อความออกทางพอร์ตอนุกรมจากนั้นขึ้นบรรทัดใหม่
Serial.println("www.arduino-makerzone.com"); // พิมพ์ข้อความออกทางพอร์ตอนุกรมจากนั้นขึ้นบรรทัดใหม่
Serial.println("www.arduino-makerzone.com"); // พิมพ์ข้อความออกทางพอร์ตอนุกรมจากนั้นขึ้นบรรทัดใหม่
}
void loop() {
}

จริง ๆ คำสั่งที่ใช้สำหรับ Serial นั้นมีอยู่อีกเยอะ แต่ใน EP นี้จะขอพูดถึงแค่ 3 ตัวนี้ก่อน เพราะเรามักใช้กันอยู่บ่อย ๆ เป็นไงหล่ะครับ ง่ายดีเน๊อะ!! และใน EP ต่อไปเราจะลองเอาตัวแปรมา “เอากัน” ....เอ้ยยไม่ใช่!!! “มาทำกัน” ....เอ้ยยเอ้ยยไม่ใช่!!! ...เอ้ยยถูกแล้ว!!! หรือที่เรียกว่า Operator แปลเป็นไทยก็การดำเนินการ ก็พวก บวก ลบ คูณ หาร นั้นแหละครับหมู่เฮา
Arduino.MakerZone