05. การติดต่อกับพอร์ทอนุกรม
การตรวจสอบว่ามีพอร์ทอนุกรม RS232 พอร์ทใดบ้าง
โปรแกรมที่ 1
import processing.serial.*; //เรียกใช้ไลบรารี่ พอร์ทอนุกรม
void setup() {
println(Serial.list()); // แสดงพอร์ทที่มีอยู่
}
void draw() {
}
เมื่อรันโปรแกรม จะปรากฏหมายเลขพอร์ทที่คอนโซล
ในที่นี้ พอร์ทหมายเลข [1] COM9 เป็นพอร์ทที่เกิดจากการเสียบบอร์ด Arduino ถ้าต้องการตรวจสอบว่าพอร์ทใหนเป็นพอร์ทที่ต่อกับบอร์ด Arduino ให้ลองถอดสาย Arduino ออก แล้วรันโปรแกรม Processing ใหม่
การอ่านข้อความจากพอร์ทอนุกรมแล้วแสดงออกทางคอนโซล
โปรแกรมที่ 2
import processing.serial.*;
Serial myPort; // กำหนดตัวแปรสำหรับพอร์ทอนุกรม
int lf = 10; // กำหนดตัวแปรสำหรับรหัส ASCII ของ Linefeed
String myString = null; // กำหนดตัวแปรสตริง
void setup() {
println(Serial.list()); // แสดงพอร์ทที่มีอยู่
myPort = new Serial(this, Serial.list()[1], 9600); //เรียกใช้พอร์ทหมายเลข [1]
}
void draw(){
while (myPort.available() > 0) {
myString = myPort.readStringUntil(lf);
if (myString != null) {
println(myString);
}
}
}
การอ่านข้อความจากพอร์ทอนุกรมแล้วแสดงออกทางหน้าต่างใหม่
โปรแกรมที่ 3
import processing.serial.*;
Serial myPort; // กำหนดตัวแปรสำหรับพอร์ทอนุกรม
int lf = 10; // กำหนดตัวแปรสำหรับรหัส ASCII ของ Linefeed
String myString = null; // กำหนดตัวแปรสตริง
void setup() {
size(300, 300);
println(Serial.list()); // แสดงพอร์ทที่มีอยู่
myPort = new Serial(this, Serial.list()[1], 9600); //เรียกใช้พอร์ทหมายเลข [1]
}
void draw(){
while (myPort.available() > 0) {
myString = myPort.readStringUntil(lf);
if (myString != null) {
textSize(30); //ขนาด
fill(255, 0, 0, 120); //Color R G B และความทึบแสง
text(myString, 15, 100); // พิมพ์ข้อความ เริ่มต้นที่ตำแหน่ง x = 15, y = 20
}
}
}