Arduino Serial PORT
Arduino Serial PORT
ใน Arduino นั้นจะสามารถติดต่อสื่อสารกับ Computer ผ่าน Serial ที่หลายคนก็รู้เช่ยเดียวกัน ในครั้งนี้ห็จะมาดูกันว่าจะสามารถทำอะไรกลับ Serial ได้บ่าง คำสั่งแรกที่ต้องใช้ในการเริ่มต้นสือสารคือ
การกำหนดความเร็วในการสือสาร ด้วยคำสั่งด้านล่าง จะใส่ไว้ใน Founction setup()
Serial.begin(9600);
นอกจากนี้ถ้าเป็นบอร์ดที่มีหลาย Serial (Arduino Maga2560)ก็จะใช้ การตั้งค่าเป็นดังนี้
Serial1.begin(9600); Serial2.begin(9600);
ก่อนที่จะเริ่มไปส่งค่าหรือรับค่ามาใช้งาน มาดูรายละเอียดของ Baud Rate กันก่อน เพื่อดูระยะเวลาในการรับ/ส่งข้อมูลกันก่อนเพราะบางที่ก็จะมีผลต่อโปรแกรมที่เราเขียนขึ้นจาก
สูตร
ถ้าใช้ Baud Rate เท่ากลับ 9600
bit/s จะได้ว่า
t = 1/9600
t= 0.104 mS
สรุปได้ว่า 1 bit = 0.104 mS ถ้า 1
char จะได้ว่า 0.104 ms*11 bit = 1.144 ms นั้นหมายความว่า
ถ้าเราส่งข้อมูลหลายตัวอักษรก็จะใช้เวลาที่นาน
Serial RX การส่งข้อมูล
ในการส่งข้อมูลออกทาง Serial ก็จะมีคำสั่งหลักที่ใช้กันดังนี้
Serial.print(); //แบบไม่เว้น
Serial.println(); //แบบเว้นบรทัด(\r\n)
รูปแบบในการส่งได้มีดังนี้
Serial.print(78); //ข้อมูลที่แสดง "78"
Serial.print(1.23456); //ข้อมูลที่แสดง "1.23"
Serial.print('N'); //ข้อมูลที่แสดง "N"
Serial.print("Hello world."); //ข้อมูลที่แสดง "Hello world."
Serial.print(78, BIN); //ข้อมูลที่แสดง "1001110"
Serial.print(78, OCT); //ข้อมูลที่แสดง "116"
Serial.print(78, DEC); //ข้อมูลที่แสดง "78"
Serial.print(78, HEX); //ข้อมูลที่แสดง "4E"
Serial.print(1.23456, 0); //ข้อมูลที่แสดง "1"
Serial.println(1.23456, 2); //ข้อมูลที่แสดง "1.23"
Serial.println(1.23456, 4) //ข้อมูลที่แสดง "1.2346"
ตัวอย่างที่ 1 ส่งข้อมูลออก Serial port อย่างง่าย
void setup() {
Serial.begin(9600);
Serial.println("Hello arduino");}
void loop() {
}
ขอบคุณหลาย
ตอบลบ