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() {

}

ความคิดเห็น

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การวัดแรงดันไฟฟ้าด้วย ADC ใน Arduino

การโปรแกรม Bootloader ATMEGA2560-16AU (เรื่องวุ้น)

การวัดแรงดันไฟฟ้า AC220V ด้วยหม้อแปลง12VAC / 200 mA