GPS เป็นอุปกรณ์ที่มีประโยชน์มากซึ่งใช้ในโครงการและแอพพลิเคชั่นอิเล็กทรอนิกส์มากมายเช่นระบบติดตามยานพาหนะนาฬิกา GPS ระบบแจ้งเตือนการตรวจจับอุบัติเหตุระบบนำทางจราจรและระบบเฝ้าระวังเป็นต้น แต่คำถามคือจะใช้ GPS และอ่านข้อมูลจาก GPS ได้อย่างไร? เราสามารถรับข้อมูล GPS โดยตรงไปยังคอมพิวเตอร์ของเราโดยใช้ Arduino
GPS ย่อมาจาก Global Positioning System และใช้ในการตรวจจับละติจูดและลองจิจูดของตำแหน่งใด ๆ บนโลกด้วยเวลา UTC ที่แน่นอน (Universal Time Coordinated) อุปกรณ์นี้รับพิกัดจากดาวเทียมเป็นรายวินาทีพร้อมเวลาและวันที่ GPS ให้ความแม่นยำสูงและยังให้ข้อมูลอื่น ๆ นอกเหนือจากพิกัดตำแหน่งเราจะตรวจสอบในไม่ช้า
ในการนี้Arduino กวดวิชาจีพีเอสที่เรากำลังจะอธิบายว่าวิธีการโมดูลการทดสอบหรือการเชื่อมต่อของจีพีเอสที่ใช้คอมพิวเตอร์และ Arduino สำหรับการเชื่อมต่อ GSM กับคอมพิวเตอร์เราจำเป็นต้องมี USB to Serial Converter หรือ Arduino Board ที่นี่เราใช้บอร์ด Arduino เพื่อเชื่อมต่อกับ GPS เราต้องการเพียงบอร์ด Arduino โมดูล GPS คอมพิวเตอร์และอะแดปเตอร์ 12v / 3.3v สำหรับแหล่งจ่ายไฟ ที่นี่เราใช้โมดูลตัวรับสัญญาณ GPS SKG13BL (แสดงในรูปด้านบน)
ก่อนที่จะเชื่อมต่อกับคอมพิวเตอร์เราต้องถอด Arduino IC (Atmega chip) ออกจากบอร์ด Arduino ก่อนเนื่องจากเราต้องการเพียงวงจรอนุกรมของ Arduino เรียกว่าโหมดเกตเวย์ การถอด IC จะแสดงในรูปด้านล่าง:
ตอนนี้ทำการเชื่อมต่อตามที่ระบุในภาพด้านล่าง:
- GPS TX พินเป็น Digital PIN 1 ของ Arduino (TXD)
- GPS Ground Pin เป็น GND PIN ของ Arduino
- GPS Power (3.3v) ปักหมุดเป็น 3.3v PIN ของ Arduino
หลังจากเชื่อมต่อแล้วให้เชื่อมต่อสาย USB เข้ากับคอมพิวเตอร์เปิดซอฟต์แวร์ Arduino IDE ในคอมพิวเตอร์เลือกพอร์ต com และเปิดจอภาพอนุกรมเพื่อฟังพอร์ตอนุกรมและเปิดโมดูล Arduino และ GPS
ตอนนี้คุณจะเห็นข้อมูล GPS บนหน้าต่าง Arduino Serial Monitor เหมือนด้านล่าง ด้านล่างนี้คือสแนปชอตสองภาพอันแรกคือเมื่อ GPS ไม่อยู่ในระยะและอันที่สองคือเมื่อ GPS อยู่ในระยะ
ข้อมูล GPS เมื่อตัวรับสัญญาณ GPS อยู่นอกช่วง:
ข้อมูล GPS เมื่อตัวรับสัญญาณ GPS อยู่ในช่วง:
ในหน้าต่างอนุกรมคุณจะเห็นบางประโยคที่เริ่มต้นจากเครื่องหมาย $ นี่คือประโยค NMEA โมดูล GPS ส่งข้อมูลตำแหน่งการติดตามแบบเรียลไทม์ในรูปแบบ NMEA (ดูภาพหน้าจอด้านบน) รูปแบบ NMEA ประกอบด้วยหลายประโยคโดยมีสี่ประโยคสำคัญด้านล่าง สามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับประโยค NMEA และรูปแบบข้อมูลได้ที่นี่
- $ GPGGA: ข้อมูลการแก้ไขระบบกำหนดตำแหน่งบนโลก
- $ GPGSV: ดาวเทียม GPS ในมุมมอง
- $ GPGSA: GPS DOP และดาวเทียมที่ใช้งานอยู่
- $ GPRMC: ข้อมูล GPS / การขนส่งขั้นต่ำที่แนะนำ
สตริงเหล่านี้มีพารามิเตอร์ GPS หลายตัวเช่นเวลาวันที่ลองจิจูดละติจูดความเร็วหมายเลข ของดาวเทียมที่ใช้แล้วระดับความสูงและอื่น ๆ อีกมากมาย
สำหรับพิกัดตำแหน่งและเวลาใด ๆ เราสามารถใช้ $ GPGGA และ $ GPRMC
สำหรับวันที่และเวลาเราสามารถใช้ $ GPRMC string
เมื่อเราใช้โมดูลจีพีเอสสำหรับการติดตามสถานที่ใด ๆ เราจะต้องพิกัดและเราสามารถหานี้ในสตริง เฉพาะ $ GPGGA (Global Positioning System Fix Data) โดยส่วนใหญ่จะใช้ในโปรแกรมและสตริงอื่น ๆ จะถูกละเว้น สตริงนี้ประกอบด้วยข้อมูลการแก้ไขดังต่อไปนี้:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510.4, M, 43.9, M,, * 47 $ GPGGA, HHMMSS.SSS, ละติจูด, N, ลองจิจูด, E, FQ, NOS, HDP, ความสูง, M, ความสูง, M, ข้อมูลการตรวจสอบ
ตัวระบุ |
คำอธิบาย |
$ GPGGA |
ข้อมูลการแก้ไขระบบกำหนดตำแหน่งบนพื้นโลก |
HHMMSS.SSS |
เวลาเป็นชั่วโมงนาทีวินาทีและรูปแบบมิลลิวินาที |
ละติจูด |
ละติจูด (พิกัด) |
น |
ทิศทาง N = เหนือ, S = ใต้ |
ลองจิจูด |
ลองจิจูด (พิกัด) |
จ |
ทิศทาง E = ตะวันออก, W = ตะวันตก |
FQ |
แก้ไขข้อมูลคุณภาพ |
NOS |
จำนวนดาวเทียมที่ใช้ |
HDP |
การเจือจางความแม่นยำในแนวนอน |
ระดับความสูง |
ระดับความสูง (เมตรเหนือระดับน้ำทะเล) |
ม |
เมตร |
ความสูง |
ความสูง |
เช็คซัม |
ข้อมูล Checksum |
และสตริง $ GPRMCส่วนใหญ่ประกอบด้วยความเร็วเวลาวันที่และตำแหน่ง
$ GPRMC, 123519.000, A, 7791.0381, N, 06727.4434, E, 022.4,084.4,230394,003.1, W * 6A $ GPRMC, HHMMSS.SSS, A, ละติจูด, N, ลองจิจูด, E, ความเร็ว, มุม, วันที่, MV, W, CMD
ตัวระบุ |
คำอธิบาย |
RMC |
ประโยคขั้นต่ำที่แนะนำ C |
HHMMSS.SSS |
เวลาเป็นชั่วโมงนาทีวินาทีและรูปแบบมิลลิวินาที |
ก |
สถานะ // A = active และ V = void |
ละติจูด |
ละติจูด 49 องศา 16.45 น. ภาคเหนือ |
น |
ทิศทาง N = เหนือ, S = ใต้ |
ลองจิจูด |
ลองจิจูด (พิกัด) |
จ |
ทิศทาง E = ตะวันออก, W = ตะวันตก |
ความเร็ว |
ความเร็วเป็นนอต |
มุม |
มุมติดตามเป็นองศา |
วันที่ |
ประทับเวลา (วันที่ใน UTC) |
MV |
การแปรผันของแม่เหล็ก |
ว |
ทิศทางของรูปแบบ E / W |
CMD (* 6A) |
ข้อมูล Checksum |
ส่วนใหญ่สตริงนี้ใช้สำหรับการบอกเวลาวันที่และความเร็ว