Mục lục:
- Bước 1: Các thành phần cần thiết
- Bước 2: Thông tin về GPS
- Bước 3: Mô-đun GPS Neo-6M
- Bước 4: Arduino Mega
- Bước 5: Arduino IDE
- Bước 6: Kết nối
Video: Giao diện Arduino Mega với mô-đun GPS (Neo-6M): 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Trong dự án này, tôi đã trình bày cách giao tiếp mô-đun GPS (Neo-6M) với Arduino Mega. Thư viện TinyGPS được sử dụng để hiển thị dữ liệu Kinh độ và Vĩ độ và TinyGPS ++ được sử dụng để hiển thị Vĩ độ, Kinh độ, Cao độ, Tốc độ và số lượng vệ tinh trên màn hình nối tiếp.
Bước 1: Các thành phần cần thiết
Phần cứng
- Arduino Mega ==> $ 30
- Mô-đun GPS Neo-6M ==> $ 30
Phần mềm
Arduino IDE
Tổng chi phí của dự án là $ 60
Bước 2: Thông tin về GPS
GPS là gì
Hệ thống Định vị Toàn cầu (GPS) là một hệ thống định vị dựa trên vệ tinh được tạo thành từ ít nhất 24 vệ tinh. GPS hoạt động trong mọi điều kiện thời tiết, ở bất kỳ đâu trên thế giới, 24 giờ một ngày mà không phải trả phí đăng ký hoặc phí thiết lập.
Cách hoạt động của GPS
Các vệ tinh GPS quay quanh Trái đất hai lần một ngày theo một quỹ đạo chính xác. Mỗi vệ tinh truyền một tín hiệu duy nhất và các thông số quỹ đạo cho phép thiết bị GPS giải mã và tính toán vị trí chính xác của vệ tinh. Máy thu GPS sử dụng thông tin này và phương pháp phân tích để tính toán vị trí chính xác của người dùng. Về cơ bản, bộ thu GPS đo khoảng cách tới mỗi vệ tinh bằng khoảng thời gian nhận được tín hiệu truyền đi. Với các phép đo khoảng cách từ một vài vệ tinh khác, bộ thu có thể xác định vị trí của người dùng và hiển thị nó.
Để tính toán vị trí 2-D (vĩ độ và kinh độ) và theo dõi chuyển động, bộ thu GPS phải được khóa với tín hiệu của ít nhất 3 vệ tinh. Với 4 vệ tinh trở lên trong chế độ xem, bộ thu có thể xác định vị trí 3-D của bạn (vĩ độ, kinh độ và độ cao). Nói chung, một bộ thu GPS sẽ theo dõi 8 hoặc nhiều vệ tinh hơn, nhưng điều đó phụ thuộc vào thời gian trong ngày và vị trí của bạn trên trái đất. Khi vị trí của bạn đã được xác định, đơn vị GPS có thể tính toán các thông tin khác, chẳng hạn như
- Tốc độ, vận tốc
- Ổ đỡ trục
- Theo dõi
- Độ dài cuộc hành trình
- Khoảng cách đến điểm đến
Tín hiệu là gì
Vệ tinh GPS truyền ít nhất 2 tín hiệu vô tuyến công suất thấp. Các tín hiệu di chuyển theo đường ngắm, có nghĩa là chúng sẽ đi qua các đám mây, thủy tinh và nhựa nhưng sẽ không đi qua hầu hết các vật thể rắn, chẳng hạn như các tòa nhà và núi. Tuy nhiên, các máy thu hiện đại nhạy hơn và thường có thể theo dõi qua các ngôi nhà. Tín hiệu GPS chứa 3 loại thông tin khác nhau
Mã giả
Đó là một I. D. mã xác định vệ tinh nào đang truyền thông tin. Bạn có thể xem bạn đang nhận tín hiệu từ vệ tinh nào trên trang vệ tinh của thiết bị.
Dữ liệu về thiên thạch
Dữ liệu về lịch thiên văn là cần thiết để xác định vị trí của vệ tinh và cung cấp thông tin quan trọng về tình trạng của vệ tinh, ngày và giờ hiện tại.
Dữ liệu niên giám
Dữ liệu Almanac cho bộ thu GPS biết vị trí của mỗi vệ tinh GPS vào bất kỳ thời điểm nào trong ngày và hiển thị thông tin quỹ đạo cho vệ tinh đó và mọi vệ tinh khác trong hệ thống.
Bước 3: Mô-đun GPS Neo-6M
Mô-đun GPS NEO-6M được hiển thị trong hình bên dưới. Nó đi kèm với một ăng-ten bên ngoài và không đi kèm với chân cắm tiêu đề. Vì vậy, bạn sẽ cần phải hàn nó.
Tổng quan về Mô-đun GPS NEO-6M
Chip GPS NEO-6M
Trái tim của mô-đun là chip GPS NEO-6M của u-blox. Nó có thể theo dõi tới 22 vệ tinh trên 50 kênh và đạt được mức độ nhạy cao nhất trong ngành, tức là theo dõi -161 dB, trong khi chỉ tiêu thụ dòng điện cung cấp 45mA. Công cụ định vị u-blox 6 cũng tự hào có Thời gian sửa lỗi lần đầu tiên (TTFF) dưới 1 giây. Một trong những tính năng tốt nhất mà chip cung cấp là Chế độ tiết kiệm điện (PSM). Nó cho phép giảm mức tiêu thụ điện năng của hệ thống bằng cách chuyển đổi có chọn lọc các bộ phận của máy thu BẬT và TẮT. Điều này làm giảm đáng kể mức tiêu thụ điện năng của mô-đun xuống chỉ còn 11mA, phù hợp với các ứng dụng nhạy cảm với nguồn điện như đồng hồ đeo tay GPS. Các chân dữ liệu cần thiết của chip GPS NEO-6M được chia thành các tiêu đề kích thước 0,1 inch. Điều này bao gồm các chân cần thiết để giao tiếp với vi điều khiển qua UART.
Lưu ý: - Mô-đun hỗ trợ tốc độ truyền từ 4800bps đến 230400bps với tốc độ truyền mặc định là 9600.
Chỉ báo LED cố định vị trí
Có một đèn LED trên Mô-đun GPS NEO-6M cho biết trạng thái Sửa vị trí. Nó sẽ nhấp nháy với nhiều tốc độ khác nhau tùy thuộc vào trạng thái của nó
- Không nhấp nháy ==> có nghĩa là nó đang tìm kiếm vệ tinh
- Nhấp nháy sau mỗi 1 giây - nghĩa là tìm thấy Sửa vị trí
Bộ điều chỉnh LDO 3.3V
Điện áp hoạt động của chip NEO-6M là từ 2,7 đến 3,6V. Tuy nhiên, mô-đun đi kèm với bộ điều chỉnh MIC5205 loại bỏ 3V3 cực thấp từ MICREL. Các chân logic cũng có khả năng chịu được 5 volt, vì vậy chúng ta có thể dễ dàng kết nối nó với Arduino hoặc bất kỳ vi điều khiển logic 5V nào mà không cần sử dụng bất kỳ bộ chuyển đổi mức logic nào.
Pin & EEPROM
Mô-đun được trang bị một EEPROM nối tiếp hai dây HK24C32. Nó có kích thước 4KB và được kết nối với chip NEO-6M thông qua I2C. Mô-đun cũng chứa một pin nút có thể sạc lại hoạt động như một siêu tụ điện.
EEPROM cùng với pin giúp giữ lại RAM được hỗ trợ bởi pin (BBR). BBR chứa dữ liệu đồng hồ, dữ liệu vị trí mới nhất (dữ liệu quỹ đạo GNSS) và cấu hình mô-đun. Nhưng nó không có nghĩa là để lưu trữ dữ liệu vĩnh viễn.
Khi pin giữ nguyên đồng hồ và vị trí cuối cùng, thời gian sửa lần đầu (TTFF) giảm đáng kể xuống còn 1 giây. Điều này cho phép khóa vị trí nhanh hơn nhiều.
Nếu không có pin, GPS luôn khởi động nguội nên quá trình khóa GPS ban đầu mất nhiều thời gian hơn. Pin sẽ tự động được sạc khi có nguồn và duy trì dữ liệu trong tối đa hai tuần mà không cần nguồn.
Sơ đồ chân
GND là Chân nối đất và cần được kết nối với chân GND trên Arduino
Chân TxD (Transmitter) được sử dụng cho giao tiếp nối tiếp
Chân RxD (Bộ thu) được sử dụng cho giao tiếp nối tiếp
VCC cấp nguồn cho mô-đun. Bạn có thể kết nối trực tiếp nó với chân 5V trên Arduino
Bước 4: Arduino Mega
Arduino là một nền tảng điện tử mã nguồn mở dựa trên phần cứng và phần mềm dễ sử dụng. Bảng Arduino có thể đọc đầu vào - ánh sáng trên cảm biến, ngón tay trên nút hoặc tin nhắn Twitter - và biến nó thành đầu ra - kích hoạt động cơ, bật đèn LED, xuất bản nội dung trực tuyến. Bạn có thể cho bảng của bạn biết phải làm gì bằng cách gửi một tập hợp các hướng dẫn đến bộ vi điều khiển trên bảng. Để làm như vậy, bạn sử dụng ngôn ngữ lập trình Arduino (dựa trên Hệ thống dây) và Phần mềm Arduino (IDE), dựa trên Xử lý.
Arduino Mega
Arduino Mega 2560 là một bo mạch vi điều khiển dựa trên Atmega2560.
- Có 54 chân I / O kỹ thuật số và 16 chân analog được tích hợp trên bo mạch giúp thiết bị này trở nên độc đáo và nổi bật so với các thiết bị khác. Trong số 54 I / O kỹ thuật số, 15 chân được sử dụng cho PWM (điều chế độ rộng xung).
- Trên bảng có thêm một dao động tinh thể tần số 16MHz.
- Bảng đi kèm với cổng cáp USB dùng để kết nối và chuyển mã từ máy tính lên bảng.
- Giắc cắm nguồn DC được kết hợp với bo mạch được sử dụng để cấp nguồn cho bo mạch.
- Bo mạch đi kèm với hai bộ điều chỉnh điện áp, tức là 5V và 3,3V, cung cấp sự linh hoạt để điều chỉnh điện áp theo yêu cầu.
- Có một nút đặt lại và 4 cổng nối tiếp phần cứng được gọi là USART tạo ra tốc độ tối đa để thiết lập giao tiếp.
- Có ba cách để cấp nguồn cho bảng. Bạn có thể sử dụng cáp USB để cấp nguồn cho bo mạch và truyền mã vào bo mạch hoặc bạn có thể cấp nguồn cho nó bằng Vin của bo mạch hoặc thông qua giắc cắm nguồn hoặc bộ đánh bóng.
Thông số kỹ thuật
Sơ đồ chân
Ghim Mô tả
- 5V & 3.3V ==> Chân này được sử dụng để cung cấp điện áp quy định đầu ra khoảng 5V. Nguồn điện được điều chỉnh này cung cấp năng lượng cho bộ điều khiển và các thành phần khác trên bo mạch. Nó có thể được lấy từ Vin của bo mạch hoặc cáp USB hoặc một nguồn cung cấp điện áp 5V được quy định khác. Trong khi một quy định điện áp khác được cung cấp bởi chân 3,3V. Công suất tối đa mà nó có thể rút ra là 50mA.
- GND ==> Có sẵn 5 chân nối đất trên bảng, điều này rất hữu ích khi cần nhiều hơn một chân nối đất cho dự án.
- Đặt lại ==> Chân này dùng để đặt lại bo mạch. Đặt chân này thành LOW sẽ đặt lại bảng.
- Vin ==> Là điện áp đầu vào cung cấp cho board nằm trong khoảng từ 7V đến 20V. Điện áp được cung cấp bởi giắc cắm nguồn có thể được truy cập thông qua chân này. Tuy nhiên, điện áp đầu ra thông qua chân này vào bo mạch sẽ được tự động thiết lập lên 5V.
- Giao tiếp nối tiếp ==> RXD và TXD là các chân nối tiếp được sử dụng để truyền và nhận dữ liệu nối tiếp, tức là Rx đại diện cho việc truyền dữ liệu trong khi Tx được sử dụng để nhận dữ liệu. Có bốn kết hợp của các chân nối tiếp này được sử dụng trong đó Serail 0 chứa RX (0) và TX (1), Serial 1 chứa TX (18) và RX (19), Serial 2 chứa TX (16) và RX (17), và Serial 3 chứa TX (14) và RX (15).
- Ngắt ngoài ==> Sáu chân được sử dụng để tạo ngắt ngoài, tức là ngắt 0 (0), ngắt 1 (3), ngắt 2 (21), ngắt 3 (20), ngắt 4 (19), ngắt 5 (18). Các chân này tạo ra các ngắt bằng một số cách, tức là cung cấp giá trị THẤP, cạnh tăng hoặc giảm hoặc thay đổi giá trị cho các chân ngắt.
- LED ==> Bo mạch này đi kèm với LED tích hợp được kết nối với chân số 13. Giá trị CAO tại chân này sẽ bật đèn LED và giá trị THẤP sẽ tắt.
- AREF ==> AREF là viết tắt của Analog Reference Voltage là điện áp tham chiếu cho các đầu vào tương tự.
- Chân tương tự ==> Có 16 chân tương tự được kết hợp trên bảng có nhãn là A0 đến A15. Điều quan trọng cần lưu ý là tất cả các chân tương tự này có thể được sử dụng làm chân I / O kỹ thuật số. Mỗi chân analog đi kèm với độ phân giải 10-bit. Các chân này có thể đo từ nối đất đến 5V. Tuy nhiên, giá trị trên có thể được thay đổi bằng cách sử dụng hàm AREF và analogReference ().
- I2C.
- Giao tiếp SPI ==> SPI là viết tắt của Serial Peri Foreign Interface được sử dụng để truyền dữ liệu giữa bộ điều khiển và các thành phần thiết bị ngoại vi khác. Bốn chân, tức là 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) được sử dụng cho giao tiếp SPI.
Bước 5: Arduino IDE
Ở đây tôi giả sử bạn đã cài đặt Arduino IDE.
1. Tải xuống thư viện bắt buộc được cung cấp bên dưới
TinyGPS lib
2. Sau khi tải xuống. Giải nén nó và di chuyển nó vào thư mục C: / Users \… / Documents / Arduino / thư viện đảm bảo rằng không có (-).
3. Mở Arduino IDE và sao chép mã từ phần chương trình.
4. Sau đó chọn bảng cho đó, vào Công cụ ==> Bảng ==> chọn bảng ở đây chúng tôi đang sử dụng Arduino Mega 2560
5. Sau khi chọn bảng chọn cổng cho đó, hãy vào Công cụ ==> Cổng
6. Sau khi chọn bảng và cổng, hãy nhấp vào tải lên.
7. Sau khi mã được tải lên, hãy mở thiết bị đầu cuối nối tiếp để xem đầu ra.
Bước 6: Kết nối
Arduino MEGA ==> NEO-6M GPS
- 3.3V ==> VCC
- GND ==> GND
- Tx1 (18) ==> Rx
- Rx (19) ==> Tx
Bạn cũng có thể sử dụng Serial2 hoặc Serial3 thay vì Serial1
Đề xuất:
Esp8266 dựa trên Boost Converter với giao diện người dùng Blynk tuyệt vời với bộ điều chỉnh phản hồi: 6 bước
Esp8266 dựa trên Boost Converter với giao diện người dùng Blynk tuyệt vời với bộ điều chỉnh phản hồi: Trong dự án này, tôi sẽ chỉ cho bạn một cách hiệu quả và phổ biến cách tăng điện áp DC. Tôi sẽ cho bạn thấy việc xây dựng một bộ chuyển đổi tăng cường có thể dễ dàng như thế nào với sự trợ giúp của Nodemcu. Hãy xây dựng nó. Nó cũng bao gồm một vôn kế trên màn hình và một phản hồi
Bắt đầu với giao diện cảm biến I2C ?? - Giao diện MMA8451 của bạn bằng ESP32s: 8 bước
Bắt đầu với giao diện cảm biến I2C ?? - Giao diện MMA8451 của bạn bằng cách sử dụng ESP32s: Trong hướng dẫn này, bạn sẽ tìm hiểu tất cả về Cách khởi động, kết nối và nhận thiết bị I2C (Gia tốc kế) hoạt động với bộ điều khiển (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Giao diện ESP32 với SSD1306 Oled Với MicroPython: 5 bước
Giao diện ESP32 với SSD1306 Oled Với MicroPython: Micropython là sự tối ưu hóa của python và dấu chân nhỏ của python. Có nghĩa là để xây dựng cho thiết bị nhúng có hạn chế về bộ nhớ và tiêu thụ điện năng thấp.Micropython có sẵn cho nhiều họ bộ điều khiển bao gồm ESP8266, ESP32, Ardui
Màn hình Nextion - Giải thích về giao diện và giao thức với PIC và Arduino: 10 bước
Màn hình Nextion | Giải thích về giao diện và giao thức với PIC và Arduino: Nextion Display rất dễ sử dụng và giao diện dễ dàng với bộ điều khiển vi mô. sẽ hành động trên để hiển thị
Giao diện RFID-RC522 với Arduino MEGA một bản phác thảo đơn giản: 4 bước
Giao tiếp RFID-RC522 Với Arduino MEGA một bản phác thảo đơn giản: Trong hướng dẫn này, tôi sẽ giúp bạn giao tiếp RFID-RC522 với Arduino Mega 2560 để đọc RFID và hiển thị dữ liệu trên màn hình nối tiếp. để bạn có thể tự mình mở rộng nó. Bạn cần: Arduino Mega hoặc Arduino Uno