GPS และโมดูลในท้องตลาด
คู่มือสำหรับการเลือกใช้โมดูล GPS ในโปรเจกต์ DIY
หลักการทำงาน GPS
GPS (Global Positioning System) ใช้สัญญาณจากดาวเทียม 24-32 ดวง เพื่อคำนวณตำแหน่ง ความสูง และเวลา
ข้อมูลที่ได้
- ละติจูด (Latitude): ตำแหน่งเหนือ-ใต้
- ลองจิจูด (Longitude): ตำแหน่งตะวันออก-ตะวันตก
- ความสูง (Altitude): เมตรจากระดับน้ำทะเล
- ความเร็ว (Speed): กิโลเมตร/ชั่วโมง
- เวลา (UTC Time): เวลาสากล
โมดูล GPS ยอดนิยม
1. NEO-6M (u-blox)
คุณสมบัติ
- ชิป: u-blox NEO-6M
- ความแม่นยำ: 2.5 เมตร (CEP)
- ช่องสัญญาณ: 50 ช่อง
- เวลาจับสัญญาณ:
- Cold Start: 27 วินาที
- Hot Start: 1 วินาที
- แรงดัน: 3.3V - 5V
- กระแส: 45 mA (ค้นหาสัญญาณ), 30 mA (Tracking)
- การสื่อสาร: UART (9600 baud)
- ราคา: ~150-200 บาท
ข้อดี
- ราคาถูก
- ใช้งานง่าย
- มี Antenna ในตัว
ข้อเสีย
- ช้ากว่ารุ่นใหม่
- ไม่รองรับ GLONASS, Galileo
2. NEO-7M (u-blox)
คุณสมบัติ
- ชิป: u-blox NEO-7M
- ความแม่นยำ: 2.5 เมตร
- ช่องสัญญาณ: 56 ช่อง
- เวลาจับสัญญาณ:
- Cold Start: 26 วินาที
- Hot Start: 1 วินาที
- ราคา: ~200-250 บาท
ข้อดี
- เร็วกว่า NEO-6M
- ประหยัดพลังงานกว่า
3. NEO-M8N (u-blox)
คุณสมบัติ
- ชิป: u-blox NEO-M8N
- ความแม่นยำ: 2.5 เมตร
- ช่องสัญญาณ: 72 ช่อง
- รองรับ: GPS, GLONASS, Galileo, BeiDou
- เวลาจับสัญญาณ:
- Cold Start: 26 วินาที
- Hot Start: 1 วินาที
- ราคา: ~300-400 บาท
ข้อดี
- รองรับหลายระบบดาวเทียม
- จับสัญญาณได้ดีกว่า
- เหมาะกับโดรน
4. BN-220 (Beitian)
คุณสมบัติ
- ชิป: u-blox M8N
- ความแม่นยำ: 2.5 เมตร
- รองรับ: GPS + GLONASS
- มี Compass: HMC5883L (เข็มทิศ)
- ราคา: ~250-300 บาท
ข้อดี
- มีเข็มทิศในตัว
- ขนาดเล็ก
- เหมาะกับโดรน
5. A9G (AI-Thinker)
คุณสมบัติ
- ชิป: RDA8955
- GPS + GSM: มีทั้ง GPS และ 2G (GPRS)
- ความแม่นยำ: 5 เมตร
- ราคา: ~200-250 บาท
ข้อดี
- มีทั้ง GPS และ GSM ในตัว
- ส่ง SMS ได้
- เหมาะกับ GPS Tracker
ข้อเสีย
- ความแม่นยำต่ำกว่า u-blox
- กินไฟเยอะ (GSM)
ตารางเปรียบเทียบ
| โมดูล | ชิป | ความแม่นยำ | ระบบดาวเทียม | ราคา | การใช้งาน |
|---|---|---|---|---|---|
| NEO-6M | NEO-6M | 2.5 m | GPS | ~150 บาท | ทั่วไป |
| NEO-7M | NEO-7M | 2.5 m | GPS | ~200 บาท | ทั่วไป |
| NEO-M8N | NEO-M8N | 2.5 m | GPS+GLONASS+Galileo | ~350 บาท | โดรน |
| BN-220 | M8N | 2.5 m | GPS+GLONASS | ~250 บาท | โดรน+Compass |
| A9G | RDA8955 | 5 m | GPS | ~200 บาท | GPS Tracker |
การเชื่อมต่อ
ขาต่อ (UART)
- VCC: 3.3V - 5V
- GND: Ground
- TX: ต่อกับ RX ของ Arduino/ESP32
- RX: ต่อกับ TX ของ Arduino/ESP32
ตัวอย่างโค้ด Arduino
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
TinyGPSPlus gps;
SoftwareSerial ss(4, 3); // RX, TX
void setup() {
Serial.begin(115200);
ss.begin(9600);
}
void loop() {
while (ss.available() > 0) {
gps.encode(ss.read());
if (gps.location.isUpdated()) {
Serial.print("Lat: ");
Serial.println(gps.location.lat(), 6);
Serial.print("Lng: ");
Serial.println(gps.location.lng(), 6);
}
}
}
เคล็ดลับการใช้งาน
- ใช้กลางแจ้ง: GPS ต้องเห็นท้องฟ้า ไม่ทำงานในอาคาร
- รอสักครู่: Cold Start ใช้เวลา 20-30 วินาที
- Antenna: ใช้ Active Antenna ถ้าต้องการสัญญาณดีขึ้น
- Power: ใช้แหล่งจ่ายที่เสถียร (3.3V หรือ 5V)