Page 208 - เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น
P. 208
เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น 24
Serial. print(data, DEC); // print as an ASCII-encoded decimal
Serial. print("\t"); // print a tab character
Serial. print(data, HEX); // print as an ASCII-encoded hexadecimal
Serial. print("\t"); // print a tab character
Serial. print(data, OCT); // print as an ASCII-encoded octal
Serial. print("\t"); // print a tab character
Serial. print(data, BIN); // print as an ASCII-encoded binary
Serial. print("\t"); // print a tab character
Serial. write(data); // print as a raw byte value
Serial. println(); // print a line feed character
delay(1000); // Wait 1 second
}
โปรแกรมที่ 4.6 เป็นโปรแกรมทดลองส่งข้อมูลออกพอร์ตอนกุรม โดยส่งข้อความและค่าของตัวแปรในการ
ทดลองส่งค่าตัวแปร จะมีการก าหนดรูปแบบหรือ FORMAT ของค าสั่ง Serial. print() ไว้หลายๆแบบในการ
ทดสอบการท างานโปรแกรม Arduino IDE จะมีหน้าต่าง Serial Monitor เพื่ออ านวยความสะดวกในการรับและส่ง
ข้อมูลผ่านพอร์ตอนุกรม ซึ่งจะใช้พื้นที่ร่วมกับพื้นที่แสดงข้อมูล (Text area) ซึ่งอยู่ทางด้านล่างของหน้าต่าง
โปรแกรม Arduino
การเปิดหน้าต่างนี้ท าได้โดยคลิกที่ปุ่ม Serial Monitor ดังแสดงในรูปที่ 4.7 ในรูปที่ 4.8 แสดงผลการ
ท างานของโปรแกรมที่ 4.6 หลังจากที่อัปโหลดโปรแกรมไปยังบอร์ด Arduino ในโปรแกรมก าหนดค่าตัวแปร
data=2345 ซึ่งก็คือ
2,345 แปลงเป็นเลขฐาน 16 คือ 929 เป็นเลขฐาน 8 คือ 4451 เป็นเลขฐานสองคือ 100100101001
กรณีที่สั่งพิมพ์โดยใช้ค าสั่ง Serial. write(data); จะส่งค่าเป็นเลขฐานสอง 8 บิตล่าง 00101001 ซึ่งก็คือ 41 ฐานสิบ
เทียบเป็นรหัส ASCII คืออักขระ ที่หน้าต่างของ Serial Monitor จึงแสดงเป็นเครื่องหมาย ) หรือวงเล็บปิดนั่นเอง
หน่วยที่ 4 ฟังก์ชั่นพื้นฐานของ Arduino และการควบคุมหลอดไฟ LED เรียบเรียงโดยครูทันพงษ์ ภู่รักษ์