กลับไปหน้ารวมไฟล์
u-blox-lea-6h-02-gps-module-with-arduino-and-python-f1a1e5.md

ชื่อโปรเจกต์: ใช้โมดูล GPS u-blox LEA-6H 02 กับ Arduino และ Python

การเชื่อมต่อโมดูล GPS (พี่ใช้รุ่น LEA-6H 02) กับ [Arduino](https://s.shopee.co.th/7fUgFAWSki) UNO (หรือบอร์ด Arduino อื่นๆ) และคำนวณค่าละติจูด ลองจิจูด เพื่อแสดงผลบนแอปพลิเคชันที่เขียนด้วย Python งานนี้จัดไปวัยรุ่น!

ขั้นตอนที่ 1: หาโมดูล GPS u-blox LEA-6H 02 มา, อ่าน Data Sheet ให้ละเอียด, และเตรียมโมดูลให้พร้อมต่อกับ [Arduino](https://s.shopee.co.th/7fUgFAWSki)

  • อ่าน Data Sheet ของ u-blox LEA-6 ให้ดีๆ นะน้อง ตรวจสอบให้ชัวร์ว่าโมดูลเราถูกต้อง
  • โมดูลส่วนใหญ่ทำงานที่แรงดัน ~2.7V ถึง 3.6V ระวังเรื่องไฟให้ดี พี่ใช้ ขา 3.3V ของ [Arduino](https://s.shopee.co.th/7fUgFAWSki) เลย
  • โมดูลพวกนี้รองรับการสื่อสารผ่านพอร์ต UART อยู่แล้ว ดังนั้นเราจะใช้มันคุยกับ [Arduino](https://s.shopee.co.th/7fUgFAWSki)
  • โมดูลที่ซื้อมาส่วนใหญ่จะมีขาเป็นซ็อกเก็ตตัวเมียแบบจิ๋ว (micro female) ซึ่งต่อกับ [Arduino](https://s.shopee.co.th/7fUgFAWSki) ยากมาก พี่เลยเปลี่ยนเป็นซ็อกเก็ตแบบ 2.54mm แบบตัวเมียสำหรับสายจัมเปอร์แทน (ก่อนเปลี่ยน ต้องรู้ด้วยนะว่าขาไหนทำหน้าที่อะไร วาดไดอะแกรมขาเก็บไว้ในกระดาษหรือคอมด้วย)
  • เตรียมแบบนี้แล้ว โมดูล GPS ก็พร้อมจะต่อกับ [Arduino](https://s.shopee.co.th/7fUgFAWSki) แล้วหล่ะ

ขั้นตอนที่ 2: ต่อโมดูล GPS เข้ากับ [Arduino](https://s.shopee.co.th/7fUgFAWSki)

ต่อสาย Tx และ Rx ของโมดูล GPS เข้ากับ Rx และ Tx ของ [Arduino](https://s.shopee.co.th/7fUgFAWSki)

  • Tx ของ GPS (สายสีเขียวของพี่) ต่อไปที่ => Rx ของ [Arduino](https://s.shopee.co.th/7fUgFAWSki)
  • Rx ของ GPS (สายสีเหลืองของพี่) ต่อไปที่ => Tx ของ [Arduino](https://s.shopee.co.th/7fUgFAWSki)
  • หาขา Tx (ส่งข้อมูล) และ Rx (รับข้อมูล) บนโมดูล GPS และบน [Arduino](https://s.shopee.co.th/7fUgFAWSki) ให้เจอ (พี่ใช้ UNO มันมีพอร์ต UART แค่ชุดเดียว ขา Tx คือ pin 0, ขา Rx คือ pin 1 ดูรายละเอียดเพิ่มเติมได้ที่ Arduino UNO)

คำเตือน: ระวังไฟให้ดี! ห้ามจ่ายไฟให้โมดูล GPS เกิน 3.3V (สูงสุด 3.6V) และอ่านคู่มือโมดูลให้ละเอียด ห้ามช็อตนะตัวนี้

ขั้นตอนที่ 3: อัพโหลดโค้ด [Arduino](https://s.shopee.co.th/7fUgFAWSki) เพื่ออ่านข้อมูลจากพอร์ต Serial (ช่องทางการสื่อสาร)

  • โค้ดสำหรับโปรเจกต์นี้หาได้จาก GitHub repository
  • Link: https://github.com/harshgosar/LEA-6h-GPS-Arduino-Python
  • อย่าลืมอ่านไฟล์ README.md ด้วยนะ

สังเกตการตอบกลับบนหน้าจอ

  • มันจะใช้เวลาสักพักกว่าจะได้ค่าที่ถูกต้อง ขึ้นอยู่กับความแรงของสัญญาณที่โมดูล GPS รับได้
  • วางโมดูล GPS ในที่โล่งหรือใกล้หน้าต่างนะ สัญญาณจะดี
  • ติดตั้งซอฟต์แวร์ u-center ตามที่บอกในไฟล์ README.md ข้างบน
  • อัพโหลดโค้ด [Arduino](https://s.shopee.co.th/7fUgFAWSki) ลงบอร์ด
  • ต่อขา GPS เข้ากับ [Arduino](https://s.shopee.co.th/7fUgFAWSki)
  • เปิด Serial monitor บน [Arduino](https://s.shopee.co.th/7fUgFAWSki) IDE แล้วดูผลลัพธ์จากโมดูล GPS ให้แน่ใจว่ามันพิมพ์ค่าออกมาที่มีประโยชน์ (ไม่ใช่ข้อความแปลกๆ)
  • ตัดการเชื่อมต่อพอร์ต Serial ของ [Arduino](https://s.shopee.co.th/7fUgFAWSki) โดยการปิด Serial monitor จากนั้นเปิดซอฟต์แวร์ u-center แล้วเลือกพอร์ต Serial ของ Arduino

ขั้นตอนที่ 4: รันโค้ด Python

  • ดาวน์โหลดและติดตั้ง Python ในเครื่องคอมพิวเตอร์ของน้อง
  • ดาวน์โหลดโค้ด Python เพื่ออ่านข้อมูล GPS ผ่านพอร์ต Serial ของคอมพิวเตอร์
  • ต่อและจ่ายไฟให้ GPS กับ [Arduino](https://s.shopee.co.th/7fUgFAWSki)
  • หาให้เจอว่า [Arduino](https://s.shopee.co.th/7fUgFAWSki) ต่ออยู่กับพอร์ต COM ไหน
  • รันโค้ด Python
  • กรอกรายละเอียดพอร์ต COM
  • ตรวจสอบข้อมูล lat (ละติจูด) และ long (ลองจิจูด) หล่อเท่เลยงานนี้!

รายละเอียดเทคนิคเพิ่มเติม

สะพานเชื่อมจากดาวเทียมสู่พีซี

ระบบระบุตำแหน่งประสิทธิภาพสูงนี้ใช้โมดูลระดับอุตสาหกรรม u-blox LEA-6H เพื่อให้ข้อมูลตำแหน่งที่แม่นยำแก่คอมพิวเตอร์โฮสต์

  • สตรีมข้อมูล NMEA: Arduino ทำหน้าที่เป็น "ตัวกลางทางฮาร์ดแวร์" โดยรับประโยคข้อมูล $GPRMC และ $GPGGA จากโมดูล u-blox ผ่าน Serial ความเร็ว 9600 baud และส่งต่อไปยังพีซีผ่าน USB โดยตรง
  • การทำงานร่วมกับ Python: ฝั่งพีซี สคริปต์ Python (ใช้ไลบรารี pySerial และ pynmea2) จะแยกวิเคราะห์พิกัด และเปิดเบราว์เซอร์ไปยังตำแหน่งที่ตรงกันบน Google Maps โดยอัตโนมัติ

ความแม่นยำเชิงกลยุทธ์

  • การเริ่มต้นระบบแบบเย็น vs ร้อน: อธิบายความสามารถของโมดูล u-blox ในการเก็บข้อมูลวงโคจรของดาวเทียม (ephemeris data) ไว้ในหน่วยความจำภายใน เพื่อการค้นหาสัญญาณใหม่ได้รวดเร็วยิ่งขึ้น เมื่อเคลื่อนที่ผ่านพื้นที่ที่มีใบไม้หนาแน่นหรือระหว่างตึกสูง

ข้อมูล Frontmatter ดั้งเดิม

title: "u-blox LEA-6H 02 GPS Module with Arduino and Python"
description: "Python user interface to calculate and show latitude/longitude using u-blox LEA-6H 02 GPS module and Arduino."
author: "Harshgosar"
category: "Sensors & Environment"
tags:
  - "embedded"
  - "tracking"
  - "communication"
views: 11383
likes: 1
price: 1499
difficulty: "Intermediate"
components:
  - "1x Arduino UNO"
  - "1x Jumper wires (generic)"
  - "1x GPS receiver (generic)"
  - "1x USB-A to B Cable"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/harshgosar/LEA-6h-GPS-Arduino-Python"
  - "https://github.com/harshgosar/LEA-6h-GPS-Arduino-Python"
  - "https://github.com/harshgosar/LEA-6h-GPS-Arduino-Python"
  - "https://github.com/harshgosar/LEA-6h-GPS-Arduino-Python"
documentationLinks: []
passwordHash: "6cbeceb7e7e4fb0eed103f4ad1b823165f385867034cbeadacf52bb0e23ec53c"
encryptedPayload: "U2FsdGVkX18WRp8ZxpaOlQOf61iNi0oKzNtWx0kaMoxV/xcVJ60MXubk02h+uL01FxfjAkVKc+7NbSnW9/xweEsi1FfBL7DEj9g+sjkthoo="
seoDescription: "Learn to use u-blox LEA-6H 02 GPS module with Arduino and create a Python user interface to display latitude and longitude data."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/u-blox-lea-6h-02-gps-module-with-arduino-and-python-f1a1e5_cover.jpg"
lang: "th"