Mục lục:
- Bước 1: Xây dựng Trạm cơ sở
- Bước 2: Thử nghiệm đầu tiên
- Bước 3: Tạo giao diện
- Bước 4: Thêm Gauge
- Bước 5: Kéo Gauge GPS và thêm OpenStreetMap
- Bước 6: Kéo GPS Gauge và Thêm Nhật ký Bảng
- Bước 7: Nhận mã
- Bước 8: Arduino IDE
- Bước 9: Chi tiết mã hóa
Video: Dự án Arduino: Mô-đun LoRa phạm vi thử nghiệm RF1276 cho Giải pháp theo dõi GPS: 9 bước (có Hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Kết nối: USB - Serial
Cần: Trình duyệt Chrome
Cần: 1 X Arduino Mega
Cần: 1 X GPS
Cần: 1 X thẻ SD
Cần: 2 X LoRa Modem RF1276
Chức năng: Arduino Gửi giá trị GPS đến cơ sở chính - Cơ sở chính lưu trữ dữ liệu trong Dataino Server Lora Mô-đun: RF1276 tầm xa từ APPCONWIRELESS LoRa là một kỹ thuật điều chế trải phổ mới, riêng tư và cho phép gửi dữ liệu với tốc độ dữ liệu cực thấp đến cực kỳ dãy dài. Tốc độ dữ liệu thấp (xuống đến vài byte mỗi giây) và điều chế LoRa dẫn đến độ nhạy của máy thu rất thấp, có nghĩa là trong thử nghiệm này có nghĩa là hơn 10km.
Bước 1: Xây dựng Trạm cơ sở
Kết nối internet chiều rộng máy tính và một modem LoRa được kết nối vào cổng USB.
Bộ dụng cụ ô tô Arduino ·
Hộp số liệu
Anduino Mega kết nối với nối tiếp 2 với bộ thu GPS và nối tiếp 1 với modem LoRa. Thẻ SD được sử dụng để lưu trữ dữ liệu.
Bước 2: Thử nghiệm đầu tiên
· 10,6 km trên con đường đi qua các trung tâm đô thị, phòng trưng bày và dọc theo bờ biển được làm bằng đường vòng
Tỷ lệ thu / truyền là 321 / 500TX điểm
Điểm RX
Bước 3: Tạo giao diện
1 - Thiết lập một dự án mới LoRa
Nhấn biểu tượng bánh răng để mở cấu hình dự án
Bước 4: Thêm Gauge
2) Mở thanh trượt của máy đo.
· 3) Di chuyển đến GPS.
· 4) Thêm một cái vào bàn làm việc.
Bước 5: Kéo Gauge GPS và thêm OpenStreetMap
· 5) Thêm bản đồ OpenStreetMap vào bàn làm việc
Kéo GPS thành phần trên bản đồ biểu tượng, bản đồ OpenStreet được tạo ra.
Tạo giao diện
· 6) Thay đổi làm mới bản đồ
Thay đổi thời gian làm mới bản đồ từ 5000 thành 10000
Bước 6: Kéo GPS Gauge và Thêm Nhật ký Bảng
· 7) Thêm thước đo Nhật ký bảng.
Bằng cách kéo thước đo phía trên bảng biểu tượng GPS được tạo ra nhật ký bảng đo
· 8) Thay đổi làm mới nhật ký bảng. Thay đổi thời gian làm mới bản đồ từ 5000 thành 10000
Điều chỉnh vị trí của đồng hồ đo
· 9) Kéo đồng hồ đo điều chỉnh vị trí của đồng hồ đo bằng cách kéo chúng trên màn hình.
· 10) Lưu dự án
Bước 7: Nhận mã
10) Kích hoạt vùng chứa mã
Nút trên cùng bên phải, chọn tất cả và sao chép mã cơ sở.
Bước 8: Arduino IDE
· 11) Dán mã trên Arduino IDE
· 12) Chỉnh sửa mã Thêm dòng này vào định nghĩa
Bước 9: Chi tiết mã hóa
Thêm dòng này vào định nghĩa
//*************************************************************************
//** THƯ VIỆN ** //***************************************** ********************************
#include // ++ Thư viện GPS
#include // ++ Thư viện SPI #include
// ++ Thư viện SD //
*************************************************************************
// ** SD ** // ***************************************** ********************************
// * Thẻ SD gắn vào bus SPI như sau:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (chân CS có thể thay đổi) và chân # 10 (SS) phải là đầu ra
// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (chân CS có thể thay đổi) và chân # 52 (SS) phải là đầu ra
// ** Leonardo: Kết nối với SPI phần cứng thông qua tiêu đề ICSP
// Chân 4 được sử dụng ở đây để nhất quán với các ví dụ Arduino khác const int chipSelect = 53;
// ++ Bộ chọn chân SD
//*************************************************************************
// ** GPS ** // ***************************************** ********************************
TinyGPS gps; // ++ GPS trên Serial2
void gpsdump (TinyGPS & gps); // ++
bool newdataGPS = false; // ++
Thêm dòng này vào thiết lập ()
//***********************************************************************
// ** Thiết lập nối tiếp GPS ** // *************************************** ********************************
Serial2.begin (9600); // ++
chậm trễ (1000); // ++
//***********************************************************************
// ** Khởi tạo SD ** // **************************************** *******************************
// đảm bảo rằng chân chọn chip mặc định được đặt thành // ++
// đầu ra, ngay cả khi bạn không sử dụng nó: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("Đang khởi chạy thẻ SD…")); // ++
// xem thẻ có hiện diện hay không và có thể được khởi tạo không: // ++
if (! SD.begin (chipSelect)) {// ++
Serial.println (F ("Thẻ bị lỗi, hoặc không có")); // ++
// không làm gì nữa: // ++
trở lại; // ++
} else {// ++
Serial.println (F ("Thẻ SD OK")); // ++
} // ++
Thêm dòng này vào loop () void
serialEvent2 (); // ++ gọi sự kiện nối tiếp GPS
Thêm mã SeriaEvent2
//*************************************************************************
// ** GPS serialEvent ** // **************************************** *********************************
void serialEvent2 () {// ++
while (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
//Serial.print(c); // bỏ ghi chú để xem dữ liệu GPS thô // ++
if (gps.encode (c)) {// ++
newdataGPS = true; // ++
nghỉ; // bỏ ghi chú để in dữ liệu mới ngay lập tức! // ++
} // ++
} // ++
} // ++
Thêm voud kết xuất GPS
//*************************************************************************
// ** gps dump ** // **************************************** *********************************
// ** Phạm vi vĩ độ hợp lệ theo độ là -90 và +90. **
// ** Kinh độ nằm trong phạm vi -180 và +180 **
// ** xác định vị trí đông tây **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS & gps) // ++
{ // ++
int năm; // ++
byte tháng, ngày, giờ, phút, giây, phần trăm; // ++
tuổi dài không dấu; // ++
gps.f_get_position (& LATGP00, & LONGP00, & age); // ++
gps.crack_datetime (& năm, & tháng, & ngày, & giờ, // ++
& phút, & giây, & phần trăm, & tuổi); // ++
long lat, lon to; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** tạo một chuỗi để tập hợp dữ liệu vào nhật ký: **
// *********************************************************************
Chuỗi dataString = ""; // ++
dataString + = (vĩ độ / 100000); // ++
dataString + = "."; // ++
dataString + = lat - (lat / 100000) * 100000; // ++
dataString + = ";"; // ++
dataString + = (lon / 100000); // ++
dataString + = "."; // ++
dataString + = lon - (lon / 100000) * 100000; // ++
dataString + = ";"; // ++
dataString + = String (static_cast (day)); // ++
dataString + = "/"; // ++
dataString + = String (static_cast (tháng)); // ++
dataString + = "/"; // ++
dataString + = String (năm); // ++
dataString + = ";"; // ++
dataString + = String (static_cast (giờ)); // ++
dataString + = ":"; // ++
dataString + = String (static_cast (phút)); // ++
dataString + = ":"; // ++
dataString + = String (static_cast (giây)); // ++ // ******************************************** *****************************
// ** LƯU VÀO SD ** // *************************************** **********************************
// Mở tập tin. lưu ý rằng mỗi lần chỉ có thể mở một tệp, **
// vì vậy bạn phải đóng cái này trước khi mở cái khác. ** // ********************************************** ***************************
File dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** nếu tệp có sẵn, hãy ghi vào tệp đó: **
// ***********************************************************************
if (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} else {// ++
Serial.println (F ("LỖI SD Ghi")); // ++
} // ++
}
Nếu bạn muốn tải xuống mã, vui lòng truy cập trang này.
Đề xuất:
Arduino - Robot giải quyết mê cung (MicroMouse) Robot theo dõi tường: 6 bước (có hình ảnh)
Arduino | Robot giải mê cung (MicroMouse) Tường theo rô bốt: Chào mừng tôi là Isaac và đây là rô bốt đầu tiên của tôi " Tiền đạo v1.0 ". Robot này được thiết kế để giải một mê cung đơn giản.Trong cuộc thi, chúng tôi có hai mê cung và rô bốt đã có thể xác định chúng. Bất kỳ thay đổi nào khác trong mê cung có thể yêu cầu thay đổi trong th
Theo dõi & theo dõi các cửa hàng nhỏ: 9 bước (có hình ảnh)
Theo dõi & theo dõi cho các cửa hàng nhỏ: Đây là một hệ thống dành cho các cửa hàng nhỏ được cho là gắn vào xe đạp điện hoặc xe tay ga điện tử để giao hàng trong phạm vi ngắn, ví dụ như một tiệm bánh muốn giao bánh ngọt. Theo dõi và theo dõi nghĩa là gì? Theo dõi và theo dõi là một hệ thống được sử dụng bởi ca
Bộ dụng cụ theo dõi xe ô tô tự làm bằng rô bốt thông minh Theo dõi ô tô cảm quang: 7 bước
Tự làm bộ dụng cụ theo dõi rô bốt thông minh theo dõi ô tô Theo dõi ô tô cảm quang: Thiết kế bởi SINONING ROBOT Bạn có thể mua từ rô bốt theo dõi ô tô ChipLM393 so sánh hai điện trở quang, khi có một đèn LED cảm quang một bên TRẮNG thì bên của động cơ sẽ dừng ngay lập tức, bên kia của động cơ quay lên, để
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 - Theo dõi nhiệt độ độ ẩm & chỉ số nhiệt trên M5stick-C với DHT11: 6 bước
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 | Theo dõi nhiệt độ độ ẩm và chỉ số nhiệt trên M5stick-C Với DHT11: Xin chào các bạn, trong phần hướng dẫn này, chúng ta sẽ học cách giao tiếp cảm biến nhiệt độ DHT11 với m5stick-C (một bảng phát triển của m5stack) và hiển thị nó trên màn hình của m5stick-C. Vì vậy, trong hướng dẫn này, chúng ta sẽ đọc nhiệt độ, độ ẩm & nhiệt tôi
Laser hỗ trợ năng lượng mặt trời (con trỏ) - Một bảng điều khiển "kích thước sở thích" Chạy được nó! - Tự làm đơn giản - Thử nghiệm thú vị!: 6 bước (có hình ảnh)
Laser hỗ trợ năng lượng mặt trời (con trỏ) - Một bảng điều khiển "kích thước sở thích" Chạy được nó! - Tự làm đơn giản - Thử nghiệm thú vị!: Tài liệu hướng dẫn này cho thấy cách cấp nguồn cho một con trỏ laser với bảng điều khiển năng lượng mặt trời. giới thiệu tốt về năng lượng mặt trời và một thí nghiệm thú vị