การทดลองนี้ผู้ทดลองจะทำความเข้าใจเนื้อหาในหัวข้อ GPS Testing I มาแล้วเป็นอย่างดี
บอร์ด LPC1768 ของ mbed เป็นบอร์ดไมโครคอนโทรลเลอร์อีกบอร์ดหนึ่ง ที่นิยมใช้กันมากเนื่องจากการใช้งานที่ออกแบบให้ง่าย โปรแกรมด้วยภาษา C++ มีตัวอย่างดีไวซ์ไดร์เวอร์ต่าง ๆ ให้อย่างครบครัน ซึ่งอำนวยความสะดวกให้กับผู้ใช้อย่างมาก (http://mbed.org)
ใช้สายจั๊มพ์ต่อจีพีเอสโมดูลเข้ากับบอร์ด mbed ตามรูปที่ 1 ซึ่งจะเห็นได้ว่าไม่ได้ต่อขา Rx ของจีพีเอส เนื่องจากเป็นการส่งค่าเพียงอย่างเดียว จึงใช้เฉพาะขา Tx เท่านั้น นำไปต่อเข้าที่ขา p10 ของ mbed ซึ่งเป็นขา rx ของการสื่อสารอนุกรม ส่วนไฟเลี้ยงสามารถนำมาจากบอร์ด mbed ได้
รูปที่ 1 การเชื่อมจีพีเอสโมดูลเข้ากับบอร์ด mbed
สร้างโปรเจค Import ไฟล์ Hello World! (http://mbed.org/users/simon/code/GPS_HelloWorld) และเพิ่มไลบารี PowerControl (http://mbed.org/users/no2chem/code/PowerControl/) ตามรูปที่ 2 เพื่อควบคุมการใช้พลังงานของโมดูลต่าง ๆ ภายในซีพียู
รูปที่ 2 ไฟล์โปรเจคที่ใช้ในการทดลองจีพีเอส
จากรูปที่ 2 เปิดไฟล์ PowerControl.h แล้วแก้ไขบรรทัดที่ 10 ให้เป็นไปตามรูปที่ 3 เพื่อให้ตรงกับซีพียูที่ใช้อยู่ ณ ปัจจุบัน
รูปที่ 3 ไฟล์ PowerControl.h
เปิดไฟล์ GPS.cpp ใส่ comment บรรทัดที่ 26 แล้วเพิ่มบรรทัดที่ 27 กำหนดค่า baud rate ของจีพีเอสให้เป็นไปตามรูปที่ 4 (57600) ตามที่ได้ทดลองก่อนหน้านี้ ค่านี้ไม่ใช่ค่ามาตรฐานขึ้นอยู่กับบริษัทผู้ผลิต ต้องศึกษาจากคู่มือหรือตามฟอรั่มต่าง ๆ
รูปที่ 4 ไฟล์ GPS.cpp
เปิดไฟล์ main.cpp เพิ่มบรรทัดที่ 3 เพื่อเรียกใช้ไลบารี PowerControl พิมพ์โค้ดเพิ่มบรรทัด 9 ตามรูปที่ 5 หมายถึงการยกเลิกการใช้โมดูลอินเตอร์เน็ต เพื่อเป็นการแก้ไขปัญหาเรื่องไฟเลี้ยงที่ทำให้โมดูลจีพีเอส ไม่สามารถใช้ไฟเลี้ยงจากบอร์ด mbed ได้เต็มที่ ซึ่งถ้าไม่ใส่โค้ดบรรทัดนี้ (บรรทัด 9) จีพีเอสจะล็อกสัญญาณไม่ได้เลย
รูปที่ 5 ปรับแก้ไฟล์ main.cpp
เมื่อทุกอย่างเรียบร้อยทำการคอมไพล์ ดาวน์โหลดเฟิร์มแวร์แล้วรัน โดยใช้โปรแกรม Hyper Terminal เพื่อทดสอบ โดยให้ตั้งค่า baud rate ที่ 9600 bps ผลที่ได้แสดงดังรูปที่ 6 แก้ไขคำสั่งแสดงผล เพิ่ม \r ดังนี้ pc.printf("I'm at %f, %f\n\r",gps.longitude, gps.latitude);
รูปที่ 6 ทดสอบการรับค่าจากบอร์ด mbed ด้วยโปรแกรม Hyper Terminal
เพื่อทำความเข้าใจโดยสรุปอีกครั้ง สามารถดูได้จากไดอะแกรมของการเชื่อมต่อสื่อสารและการกำหนดบอดเรตได้จากรูปที่ 7
รูปที่ 7 ไดอะแกรมการสื่อสารระหว่างโมดูลจีพีเอส คอนโทรลเลอร์ และโฮสต์พีซี