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

}

}

}