ด้วย คณะกรรมการพัฒนาการ Arduino สามารถดำเนินโครงการได้มากมาย ขีด จำกัด มักจะเป็นจินตนาการ กับ ชิ้นส่วนอิเล็กทรอนิกส์และโมดูลคุณสามารถเพิ่มฟังก์ชันการทำงานเพื่อให้คุณทำสิ่งต่างๆ ได้มากขึ้น หนึ่งในฟังก์ชันเหล่านี้อาจเป็นความสามารถในการ ค้นหาวัตถุหรือผู้คนหรือระบุตำแหน่ง โดยการวางตำแหน่งด้วย Arduino GPS
ประเภทนี้ การวางตำแหน่งและการติดตาม สามารถทำได้โดยใช้ RFID หรือเครื่องรับเช่นเดียวกับที่เราจะพูดถึงในบทความนี้ ด้วยสิ่งนี้ คุณจะสามารถสร้างโปรเจ็กต์มากมาย ตั้งแต่เกมที่ใช้สร้างเครื่องตรวจจับและค้นหาวัตถุ เพื่อค้นหาวัตถุที่ถูกขโมย เพื่อให้สามารถระบุตำแหน่งตัวเองโดยใช้ GPS เป็นต้น
โมดูล GPS Arduino NEO-7
ในการมี Arduino GPS คุณสามารถใช้ อุปกรณ์ NEO-6ตระกูลที่ผลิตโดย U-Blox และสามารถเชื่อมต่อกับบอร์ด Arduino ได้ง่ายๆ นอกจากนี้ยังมีอินเทอร์เฟซการสื่อสารที่สมบูรณ์ด้วย UART, SPI, I2Cและ USB นอกเหนือจากการรองรับโปรโตคอล NMEA, UBX binary และ RTCM
นอกจากนี้ Arduino GPS ที่มี NEO-6 ยังช่วยให้คุณลดขนาดโปรเจ็กต์ของคุณได้ เนื่องจากมี ขนาดเล็กรวมทั้งต้นทุนต่ำ ในแง่ของการบริโภคก็ยังน้อย เมื่ออยู่ในโหมดแอ็คทีฟ จะต้องใช้ 37mA เท่านั้น ใช้พลังงานจาก 2.7 ถึง 3.6V สำหรับรุ่น NEO-6Q และ NEO-6M ในขณะที่มีรุ่นอื่นๆ ที่มีแรงดันไฟฟ้าต่ำกว่าที่เรียกว่า NEO-6G ที่ต้องการเพียง 1.75 ถึง 2v
พารามิเตอร์ที่น่าสนใจอื่น ๆ ของโมดูลนี้คือ:
- 30 วินาทีของ เวลาติดไฟ เย็นและเพียง 1 วินาทีสำหรับการเริ่มร้อน
- La ความถี่ในการวัดสูงสุด ทำงานที่ 5Hz เท่านั้น
- ความแม่นยำของตำแหน่ง ความผันแปร 2.5 เมตร
- ความแม่นยำของความเร็ว 0.1 ม. / วินาที
- รูปแบบการวางแนว เพียง0.5º
ซื้อ NEO-6 สำหรับ Arduino GPS ได้ที่ไหน
คุณสามารถหาอุปกรณ์และโมดูลเหล่านี้ได้ในร้านขายอุปกรณ์อิเล็กทรอนิกส์เฉพาะหลายแห่ง หรือใน Amazon ตัวอย่างเช่น ที่นี่คุณสามารถ ซื้อในราคาถูกมาก:
ตัวอย่างกับ Arduino
สิ่งแรกที่คุณต้องทำเพื่อเชื่อมต่อกับบอร์ดพัฒนาและให้ Arduino GPS ของคุณคือการเชื่อมต่อโมดูล NEO-6 ของคุณกับบอร์ด สัมพันธ์ ทำได้ง่ายมาก (การเชื่อมต่อโมดูล NEO-6 - การเชื่อมต่อ Arduino):
- GND - GND
- เท็กซัส - อาร์เอ็กซ์ (D4)
- RX - เท็กซัส (D3)
- Vcc - 5V
เมื่อคุณเชื่อมต่อแล้ว คุณจะต้องดาวน์โหลด ไลบรารี SoftSerial ใน Arduino IDE ของคุณ เนื่องจากจำเป็นสำหรับการสื่อสารแบบอนุกรม มีแนวโน้มว่าจะมีอยู่แล้วจากโครงการอื่น แต่ถ้าไม่มีก็ต้อง ดาวน์โหลดและติดตั้ง ใน IDE ของคุณ
เมื่อเสร็จแล้ว คุณสามารถเริ่มต้นด้วยโค้ดง่ายๆ เพื่ออ่าน ตัวอย่างเช่น เนื่องจากสามารถใช้โปรโตคอลได้หลายแบบ นี่คือภาพร่าง สำหรับ NMEA:
#include <SoftwareSerial.h> const int RX = 4; const int TX = 3; SoftwareSerial gps(RX, TX); void setup() { Serial.begin(115200); gps.begin(9600); } void loop() { if (gps.available()) { char data; data = gps.read(); Serial.print(data); } }
แน่นอน คุณสามารถทำการแก้ไขหรือใช้โปรโตคอลอื่นได้หากต้องการ ... คุณยังสามารถใช้ตัวอย่างที่มีอยู่ใน IDE ของคุณสำหรับไลบรารีนี้ แต่ก่อนจะจบบทความควรรู้ไว้ว่า รูปแบบ NMEA (National Marine Electronics Asociation) มีความเฉพาะเจาะจงมาก เพื่อที่จะเข้าใจมัน คุณต้องรู้ไวยากรณ์ของมัน:
$ GPRMC, hhmmss.ss, A, llll.ll, a, yyyyy.yy, a, vv, xx, ddmmyy, mm, a * hh
นั่นคือ $ GPRMC ตามด้วยชุดของ พารามิเตอร์ระบุตำแหน่ง:
- อืม: คือเวลา UTC ในหน่วยชั่วโมง นาที และวินาที
- A: สถานะผู้รับ โดยที่ A = OK และ V = แจ้งเตือน
- llll.ll ถึง: คือละติจูด โดยที่ a สามารถเป็น N หรือ S สำหรับทิศเหนือหรือทิศใต้
- ปปปปปปปปปปปปปปปปปปปปป: คือความยาว อีกครั้ง a สามารถเป็น E หรือ W นั่นคือตะวันออกหรือตะวันตก
- เป็นต้น: ความเร็วเป็นนอต
- xx: เป็นรายวิชาในหน่วยองศา
- ดีมี่: คือวันที่ UTC เป็นวัน เดือน และปี
- มม: คือความแปรผันของสนามแม่เหล็กในหน่วยองศา และ a สามารถเป็น E หรือ W สำหรับทิศตะวันออกหรือทิศตะวันตก
- *H H: เช็คซัม หรือ เช็คซัม
ตัวอย่างเช่น คุณอาจได้รับสิ่งนี้:
$GPRMC,115446,A,2116.75,N,10310.02,W,000.5,054.7,191194,020.3,E*68