
Serial Read ขับค่าทาง Serial
ใน EP 6 เราได้พูดกันถึงการแสดงผลออกทาง Serial กันมาแล้ว ใน EP นี้จะพูดให้เรื่องการรับค่ากันบ้าง หลายครั้งที่เราอาจจำเป็นต้องรับค่าผ่าน Serial เพื่อทำหน้า Command ผ่าน Serial Monitor ในการ Service โปรเจ็คของเรา การ Calibrate ค่าต่างหลังจากใช้งานไปแล้ว และอีกเยอะแยะ แล้วแต่จะดีๆไซน์กัน แต่นั้นเราจะยังไม่พูดถึง .....ใน EP นี้จะพูดถึงการรับค่าและเอาไปใช้ก็พอ ไปดูโปรแกรมกันเลยครับ

/*
* Coding By : Arduino-MakerZone > www.arduino-makerzone.com
* Sample Coding : Serial Read
*/
String Ex_String_Read; // สร้างตัวแปรชื่อ Ex_String_Read ชนิด String เพื่อไว้เก็บข้อความที่จะทำการเก็บ
void setup() {
Serial.begin(9600);
}
void loop() {
while(Serial.available()) { // วนรับค่าหากด้วย while loop ถ้าหาก Serial.available() (ถ้า Serial ถูกใช้งาน)
Ex_String_Read = Serial.readString(); // ใช้คำสั้ง Serial.readString() สำหรับเก็บค่า String ไว้ในตัวแปร Ex_String_Read
Serial.print("Ex_String_Read = ");
Serial.println(Ex_String_Read); // แสดงผลออกทาง Serial
}
}

จะเห็นได้ว่าจากโค๊ดตัวอย่างจะเป็นรับค่าจาก Serial Monitor มาเป็น String (ชุดอักขระ) จริงๆเราสามารถรับเข้าได้หลายรูปแบบ แต่ผมว่าการรับเข้ามาเป็น String นี้ง่ายที่สุดล่ะ (ฮ่าๆ แอบส่วนตัว) คือเรารับมาจากนั้นเราสามารถแปลงข้อมูลที่ได้ ไม่ว่าจะเเปลงเป็นจำนวนเต็ม (String to Int) แปลงเป็นอักขระ (String to Char) แปลงเป็นทศนิยม (String to Float) อะไรๆมันก็ดูสะดวกไปหมด สามารถดูได้จาก Arduino Converting : การแปลงชนิดข้อมมูล (เร็วๆนี้นะครับ)
Arduino.MakerZone