สารบัญ:

วิธีเชื่อมต่อโมดูล GPS (NEO-6m) กับ Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)
วิธีเชื่อมต่อโมดูล GPS (NEO-6m) กับ Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีเชื่อมต่อโมดูล GPS (NEO-6m) กับ Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีเชื่อมต่อโมดูล GPS (NEO-6m) กับ Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: How to use NEO-6M GPS module with Arduino and get GPS location. 2024, พฤศจิกายน
Anonim
วิธีเชื่อมต่อโมดูล GPS (NEO-6m) กับ Arduino
วิธีเชื่อมต่อโมดูล GPS (NEO-6m) กับ Arduino

ในโครงการนี้ ฉันได้แสดงวิธีเชื่อมต่อโมดูล GPS กับ Arduino UNO ข้อมูลสำหรับลองจิจูดและละติจูดจะแสดงบน LCD และสามารถดูตำแหน่งได้บนแอพ

รายการวัสดุ

  • Arduino Uno ==> $8
  • โมดูล GPS Ublox NEO-6m ==> $15
  • จอแอลซีดี 16x2 ==> $3
  • เขียงหั่นขนม ==> $2
  • สายจัมเปอร์ ==>$2

ต้นทุนรวมของโครงการคือ $30 ดอลลาร์

ขั้นตอนที่ 1: เกี่ยวกับ GPS

เกี่ยวกับ GPS
เกี่ยวกับ GPS
เกี่ยวกับ GPS
เกี่ยวกับ GPS
เกี่ยวกับ GPS
เกี่ยวกับ GPS

GPS คืออะไร Global Positioning System (GPS) คือระบบนำทางด้วยดาวเทียมที่ประกอบด้วยดาวเทียมอย่างน้อย 24 ดวง GPS ทำงานได้ในทุกสภาพอากาศ ทุกที่ในโลก ตลอด 24 ชั่วโมง โดยไม่มีค่าธรรมเนียมการสมัครหรือค่าติดตั้ง

วิธีการทำงานของ GPS ดาวเทียม GPS จะโคจรรอบโลกวันละสองครั้งในวงโคจรที่แม่นยำ ดาวเทียมแต่ละดวงส่งสัญญาณเฉพาะและพารามิเตอร์การโคจรที่อนุญาตให้อุปกรณ์ GPS ถอดรหัสและคำนวณตำแหน่งที่แม่นยำของดาวเทียม เครื่องรับ GPS ใช้ข้อมูลนี้และการแยกย่อยเพื่อคำนวณตำแหน่งที่แน่นอนของผู้ใช้ โดยพื้นฐานแล้ว เครื่องรับ GPS จะวัดระยะห่างของดาวเทียมแต่ละดวงตามระยะเวลาที่ใช้ในการรับสัญญาณที่ส่ง ด้วยการวัดระยะทางจากดาวเทียมอีกสองสามดวง เครื่องรับสามารถระบุตำแหน่งของผู้ใช้และแสดงผลได้

ในการคำนวณตำแหน่ง 2 มิติของคุณ (ละติจูดและลองจิจูด) และติดตามความเคลื่อนไหว เครื่องรับ GPS จะต้องล็อคกับสัญญาณของดาวเทียมอย่างน้อย 3 ดวง ด้วยการดูดาวเทียม 4 ดวงขึ้นไป เครื่องรับสามารถกำหนดตำแหน่งสามมิติของคุณได้ (ละติจูด ลองจิจูด และระดับความสูง) โดยทั่วไป เครื่องรับ GPS จะติดตามดาวเทียมตั้งแต่ 8 ดวงขึ้นไป แต่นั่นก็ขึ้นอยู่กับช่วงเวลาของวันและตำแหน่งที่คุณอยู่บนโลก

เมื่อตำแหน่งของคุณได้รับการกำหนดแล้ว หน่วย GPS สามารถคำนวณข้อมูลอื่นๆ เช่น:

  • ความเร็ว
  • การแบก
  • ติดตาม
  • การเดินทาง dist
  • ระยะทางถึงที่หมาย

สัญญาณอะไรคะ?

ดาวเทียม GPS ส่งสัญญาณวิทยุกำลังต่ำอย่างน้อย 2 สัญญาณ สัญญาณเดินทางในแนวสายตา ซึ่งหมายความว่าพวกมันจะทะลุผ่านเมฆ แก้ว และพลาสติก แต่จะไม่ผ่านวัตถุที่เป็นของแข็งส่วนใหญ่ เช่น อาคารและภูเขา อย่างไรก็ตาม เครื่องรับสมัยใหม่มีความอ่อนไหวมากกว่าและมักจะสามารถติดตามผ่านบ้านเรือนได้

สัญญาณ GPS ประกอบด้วยข้อมูล 3 ประเภท:

  • รหัสหลอกคือรหัสประจำตัว รหัสที่ระบุว่าดาวเทียมดวงใดกำลังส่งข้อมูล คุณสามารถดูดาวเทียมดวงใดที่คุณได้รับสัญญาณจากหน้าดาวเทียมของอุปกรณ์

  • จำเป็นต้องใช้ข้อมูล Ephemeris เพื่อระบุตำแหน่งของดาวเทียมและให้ข้อมูลสำคัญเกี่ยวกับความสมบูรณ์ของดาวเทียม วันที่และเวลาปัจจุบัน
  • ข้อมูลปูมจะบอกเครื่องรับ GPS ว่าดาวเทียม GPS แต่ละดวงควรอยู่ที่ใดตลอดเวลาตลอดทั้งวัน และแสดงข้อมูลการโคจรของดาวเทียมดวงนั้นและดาวเทียมดวงอื่นๆ ในระบบ

ขั้นตอนที่ 2: Arduino, Neo6m GPS และ 16x2 LCD

Arduino, Neo6m GPS และ 16x2 LCD
Arduino, Neo6m GPS และ 16x2 LCD
Arduino, Neo6m GPS และ 16x2 LCD
Arduino, Neo6m GPS และ 16x2 LCD
Arduino, Neo6m GPS และ 16x2 LCD
Arduino, Neo6m GPS และ 16x2 LCD
Arduino, Neo6m GPS และ 16x2 LCD
Arduino, Neo6m GPS และ 16x2 LCD

1. Arduino

Arduino เป็นแพลตฟอร์มอิเล็กทรอนิกส์แบบโอเพ่นซอร์สที่ใช้ฮาร์ดแวร์และซอฟต์แวร์ที่ใช้งานง่าย บอร์ด Arduino สามารถอ่านอินพุต - ไฟบนเซ็นเซอร์, นิ้วบนปุ่มหรือข้อความ Twitter - และเปลี่ยนเป็นเอาต์พุต - เปิดใช้งานมอเตอร์, เปิด LED, เผยแพร่บางสิ่งทางออนไลน์ คุณสามารถบอกบอร์ดของคุณว่าต้องทำอะไรโดยส่งชุดคำสั่งไปยังไมโครคอนโทรลเลอร์บนบอร์ด ในการทำเช่นนี้คุณใช้ภาษาการเขียนโปรแกรม Arduino (ตาม Wiring) และซอฟต์แวร์ Arduino (IDE) ตามการประมวลผล

ไลบรารีที่จำเป็นสำหรับ GPS เพื่อทำงานใน Arduino IDE

ซอฟต์แวร์Serial

TinyGPS

คุณสามารถสร้าง Arduino uno ของคุณเองได้

2. โมดูล GPS NEO-6m (ดังแสดงในภาพที่ i2)

เอกสารข้อมูลโมดูล GPS NEO-6m

3. LCD 16x2

หน้าจอ LCD (Liquid Crystal Display) เป็นโมดูลแสดงผลอิเล็กทรอนิกส์และพบกับการใช้งานที่หลากหลาย จอ LCD ขนาด 16x2 เป็นโมดูลพื้นฐานและมักใช้ในอุปกรณ์และวงจรต่างๆ โมดูลเหล่านี้เป็นที่ต้องการมากกว่าเจ็ดส่วนและ LED แบบหลายส่วนอื่นๆ เหตุผลก็คือ: แอลซีดีประหยัด; ตั้งโปรแกรมได้ง่าย ไม่มีข้อจำกัดในการแสดงอักขระพิเศษและแม้แต่แบบกำหนดเอง (ไม่เหมือนในเจ็ดส่วน) ภาพเคลื่อนไหว และอื่นๆ จอ LCD ขนาด 16x2 หมายความว่าสามารถแสดงอักขระได้ 16 ตัวต่อบรรทัด และมี 2 บรรทัดดังกล่าว ใน LCD นี้ อักขระแต่ละตัวจะแสดงเป็นเมทริกซ์ 5x7 พิกเซล LCD นี้มีสองรีจิสเตอร์ ได้แก่ คำสั่งและข้อมูล การลงทะเบียนคำสั่งจะจัดเก็บคำสั่งคำสั่งที่ให้ไว้กับ LCD คำสั่งคือคำสั่งที่กำหนดให้ LCD ทำงานที่กำหนดไว้ล่วงหน้า เช่น การเริ่มต้น การล้างหน้าจอ การตั้งค่าตำแหน่งเคอร์เซอร์ การควบคุมการแสดงผล ฯลฯ การลงทะเบียนข้อมูลจัดเก็บข้อมูลที่จะแสดงบน LCD ข้อมูลคือค่า ASCII ของอักขระที่จะแสดงบน LCD

แผนภาพพินและคำอธิบายพิน (ดังแสดงในรูปภาพ i3 และ i4)

โหมด LCD 4 บิตและ 8 บิต LCD สามารถทำงานในสองโหมดที่แตกต่างกัน ได้แก่ โหมด 4 บิตและโหมด 8 บิต ในโหมด 4 บิต เราจะส่งข้อมูล nibble โดย nibble อันดับแรก nibble และจากนั้น nibble ที่ต่ำกว่า สำหรับผู้ที่ไม่รู้ว่าแทะคืออะไร: แทะคือกลุ่มของสี่บิต ดังนั้นสี่บิตล่าง (D0-D3) ของไบต์จะสร้างแทะด้านล่างในขณะที่สี่บิตบน (D4-D7) ของไบต์ในรูปแบบตอดที่สูงขึ้น ทำให้เราสามารถส่งข้อมูล 8 บิตได้ ในขณะที่ในโหมด 8 บิต เราสามารถส่งข้อมูล 8 บิตได้โดยตรงในจังหวะเดียว เนื่องจากเราใช้สายข้อมูลทั้งหมด 8 เส้น

โหมดอ่านและเขียนของ LCD ตัว LCD ประกอบด้วยอินเทอร์เฟซ IC MCU สามารถอ่านหรือเขียนไปยังอินเทอร์เฟซ IC นี้ได้ ส่วนใหญ่เราจะเขียนถึง IC เนื่องจากการอ่านจะทำให้ซับซ้อนมากขึ้นและสถานการณ์ดังกล่าวหายากมาก ข้อมูลเช่นตำแหน่งของเคอร์เซอร์ สถานะการขัดจังหวะการเสร็จสิ้น ฯลฯ

ขั้นตอนที่ 3: การเชื่อมต่อ

การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ

การเชื่อมต่อโมดูล GPS กับ Arduino

Arduino ===> NEO6m

GND ===> GND

พินดิจิตอล (D3) ===> TX

พินดิจิตอล (D4) ===> RX

5Vdc ===> Vcc

ที่นี่ ฉันแนะนำให้คุณใช้แหล่งจ่ายไฟภายนอกเพื่อจ่ายไฟให้กับโมดูล GPS เนื่องจากความต้องการพลังงานขั้นต่ำสำหรับโมดูล GPS ในการทำงานคือ 3.3 V และ Arduino ไม่สามารถจ่ายแรงดันไฟฟ้าได้มากขนาดนั้น เพื่อให้แรงดันไฟฟ้าใช้ USB TTL ที่อุดมสมบูรณ์ดังแสดงในรูปที่ i5.

ไดรเวอร์ USB

อีกอย่างหนึ่งที่ฉันพบขณะทำงานกับเสาอากาศ GPS ที่มาพร้อมกับโมดูลคือมันไม่รับสัญญาณภายในบ้าน ดังนั้นฉันจึงใช้เสาอากาศนี้ - ดีกว่ามาก

เสาอากาศ

ในการเชื่อมต่อเสาอากาศนี้ คุณต้องใช้ขั้วต่อที่แสดงในรูปภาพ i6

การเชื่อมต่อระหว่าง Arduino UNO และ JHD162a LCD

LCD ===> Arduino Uno

VSS ===> GND

VCC ===> 5V

VEE ===> ตัวต้านทาน 10K

RS ===> A0 (พินอนาล็อก)

R/W ===> GND

อี ===> A1

D4 ===> A2

D5 ===> A3

D6 ===> A4

D7 ===> A5

LED+ ===> VCC

LED- ===> GND

ขั้นตอนที่ 4: ผลลัพธ์

ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์

ขั้นตอนที่ 5: สาธิต

แนะนำ: