- Bagaimana itu bekerja:
- Komponen yang Dibutuhkan:
- Penjelasan Sirkuit:
- Menit Derajat GPS ke Konversi Derajat Desimal Koordinat:
- Penjelasan Pemrograman:
Sistem Pelacakan Kendaraan menjadi sangat penting sekarang ini, terutama dalam kasus kendaraan curian. Jika Anda memiliki sistem GPS terpasang di kendaraan Anda, Anda dapat melacak Lokasi Kendaraan Anda, dan ini membantu polisi untuk melacak Kendaraan yang Dicuri. Sebelumnya kami telah membangun proyek serupa di mana koordinat Lokasi Kendaraan dikirim melalui Ponsel, lihat di sini 'Pelacak Kendaraan berbasis Arduino menggunakan GPS dan GSM.
Di sini kami membangun versi Sistem Pelacakan Kendaraan yang lebih canggih di mana Anda dapat Melacak Kendaraan Anda di Google Maps. Dalam proyek ini, kami akan mengirimkan koordinat lokasi ke Server Lokal dan Anda hanya perlu membuka 'halaman web' di komputer atau ponsel Anda, di mana Anda akan menemukan Tautan ke Google Maps dengan Koordinat Lokasi Kendaraan Anda. Saat Anda mengeklik tautan itu, Anda dibawa ke Google Maps, menunjukkan lokasi kendaraan Anda. Dalam Sistem Pelacakan Kendaraan ini menggunakan Google Maps, Modul GPS digunakan untuk mendapatkan Koordinat Lokasi, modul Wi-Fi untuk terus mengirim data ke komputer atau seluler melalui Wi-Fi dan Arduino digunakan untuk membuat GPS dan Wi-Fi berbicara satu sama lain..
Bagaimana itu bekerja:
Untuk melacak kendaraan, kita perlu mencari Koordinat Kendaraan dengan menggunakan modul GPS. Modul GPS berkomunikasi terus menerus dengan satelit untuk mendapatkan koordinat. Kemudian kami perlu mengirim koordinat ini dari GPS ke Arduino kami dengan menggunakan UART. Dan kemudian Arduino mengekstrak data yang dibutuhkan dari data yang diterima oleh GPS.
Sebelum ini, Arduino mengirimkan perintah ke Modul Wi-Fi ESP8266 untuk mengkonfigurasi & menghubungkan ke router dan mendapatkan alamat IP. Setelah itu Arduino menginisialisasi GPS untuk mendapatkan koordinat dan LCD menampilkan 'pesan Page Refresh'. Artinya, pengguna perlu menyegarkan halaman web. Ketika pengguna menyegarkan halaman web, Arduino mendapatkan koordinat GPS dan mengirimkan hal yang sama ke halaman web (server lokal) melalui Wi-Fi, dengan beberapa informasi tambahan dan tautan peta Google di dalamnya. Sekarang dengan mengklik link ini pengguna dialihkan ke Google Maps dengan koordinat dan kemudian dia akan mendapatkan Lokasi Kendaraan Saat Ini di Red spot di Google Maps. Seluruh proses ditampilkan dengan benar di Video di bagian akhir.
Komponen yang Dibutuhkan:
- Arduino UNO
- Modul Wi-Fi ESP8266
- Modul GPS
- Kabel USB
- Menghubungkan kabel
- Laptop
- Sumber Daya listrik
- LCD 16x2
- Papan Roti
- Router Wi-Fi
Penjelasan Sirkuit:
Sirkuit untuk ' Pelacakan Kendaraan menggunakan proyek Google Maps' ini sangat sederhana dan kami terutama membutuhkan Arduino UNO, Modul GPS dan modul Wi-Fi ESP8266. Ada LCD 16x2 yang terhubung secara opsional untuk menampilkan status. LCD ini terhubung pada 14-19 (A0-A5) Pin Arduino.
Di sini pin Tx modul GPS terhubung langsung ke pin digital nomor 10 Arduino. Dengan menggunakan Software Serial Library di sini, kami mengizinkan komunikasi serial pada pin 10 dan 11, dan menjadikannya Rx dan Tx masing-masing dan membiarkan pin Rx Modul GPS terbuka. Secara default Pin 0 dan 1 Arduino digunakan untuk komunikasi serial tetapi dengan menggunakan perpustakaan SoftwareSerial, kami dapat mengizinkan komunikasi serial pada pin digital Arduino lainnya. Adaptor 12 Volt digunakan untuk memberi daya pada Modul GPS. Pergi melalui sini untuk mempelajari "Bagaimana Menggunakan GPS dengan Arduino" dan mendapatkan koordinat.
Modul Wi-Fi Vcc ESP8266 dan pin GND terhubung langsung ke 3.3V dan GND dari Arduino dan CH_PD juga terhubung dengan 3.3V. Pin Tx dan Rx ESP8266 terhubung langsung ke pin 2 dan 3 Arduino. Software Serial Library juga digunakan di sini untuk memungkinkan komunikasi serial pada pin 2 dan 3 Arduino. Kami telah membahas Interfacing modul Wi-Fi ESP8266 ke Arduino secara detail, juga harap melalui "Cara Mengirim Data dari Arduino ke Halaman Web menggunakan WiFi" sebelum melakukan proyek ini. Di bawah ini adalah gambar ESP8266:
ESP8266 memiliki dua LED, satu Merah, untuk menunjukkan Daya dan kedua Biru yaitu LED Komunikasi Data. LED biru berkedip ketika ESP mengirimkan beberapa data melalui pin Tx-nya. Juga, jangan sambungkan ESP ke suplai +5 volt karena perangkat Anda dapat rusak. Di sini, di proyek ini, kami telah memilih 9600 baud rate untuk semua komunikasi UART.
Pengguna juga dapat melihat komunikasi antara modul Wi-Fi ESP8266 dan Arduino, di Serial Monitor, pada baud rate 9600:
Juga periksa Video di akhir proyek ini, untuk detail proses kerja.
Menit Derajat GPS ke Konversi Derajat Desimal Koordinat:
Modul GPS menerima koordinat dari satelit dalam format Menit Derajat (ddmm.mmmm) dan di sini kita membutuhkan format Derajat Desimal untuk mencari lokasi di Google Maps. Jadi pertama-tama kita perlu mengubah koordinat dari Format Menit Derajat ke Format Derajat Desimal dengan menggunakan rumus yang diberikan.
Misalkan 2856.3465 (ddmm.mmmm) adalah Latitude yang kita terima dari Modul GPS. Sekarang dua angka pertama adalah Derajat dan sisanya adalah Menit.
Jadi 28 adalah derajat dan 56,3465 adalah menit.
Sekarang di sini, tidak perlu mengubah bagian Derajat (28), tetapi hanya perlu mengubah bagian Menit menjadi Derajat Desimal dengan membagi 60:
Koordinat Derajat Desimal = Derajat + Menit / 60
Koordinat Derajat Desimal = 28 + 56,3465 / 60
Koordinat Derajat Desimal = 28 + 0,94
Koordinat Derajat Desimal = 28,94
Proses yang sama akan dilakukan untuk Data Bujur. Kami telah mengubah koordinat dari Derajat Menit ke Derajat Desimal dengan menggunakan rumus di atas dalam Sketsa Arduino:
float minut = lat_minut.toFloat (); minut = minut / 60; derajat float = lat_degree.toFloat (); latitude = derajat + menit; minut = long_minut.toFloat (); minut = minut / 60; derajat = long_degree.toFloat (); logitude = derajat + menit;
Penjelasan Pemrograman:
Dalam kode ini, kami telah menggunakan perpustakaan SerialSoftware untuk menghubungkan ESP8266 dan modul GPS dengan Arduino. Kemudian kami telah menetapkan pin yang berbeda untuk keduanya dan menginisialisasi UART dengan 9600 baud rate. Juga disertakan LiquidCrystal Library untuk antarmuka LCD dengan Arduino.
#include
Setelah itu, kita perlu mendefinisikan atau mendeklarasikan variabel dan string untuk tujuan yang berbeda.
String halaman web = ""; int i = 0, k = 0; int gps_status = 0; Nama string = "
1. Nama: Nama Anda
"; // 22 String dob ="2. TTL: 12 Februari 1993
"; // 21 Nomor string ="4. Nomor Kendaraan: RJ05 XY 4201
"; // 29 String cordinat ="Koordinat:
"; // 17 String latitude =" "; String logitude =" "; String gpsString =" "; char * test =" $ GPGGA ";Kemudian kami telah membuat beberapa fungsi untuk tujuan yang berbeda seperti:
Fungsi untuk mendapatkan data GPS dengan koordinat:
void gpsEvent () {gpsString = ""; while (1) {while (gps.available ()> 0) {char inChar = (char) gps.read (); gpsString + = inChar; jika (i <7) {if (gpsString! = test) {i = 0;……………….
Berfungsi untuk mengekstrak data dari string GPS dan mengonversi data tersebut ke format derajat desimal dari format menit desimal, seperti dijelaskan sebelumnya.
kosongkan koordinat2dec () {String lat_degree = ""; untuk (i = 18; i <20; i ++) lat_degree + = gpsString; String lat_minut = ""; untuk (i = 20; i <28; i ++) lat_minut + = gpsString;……………….
Berfungsi untuk mengirimkan perintah ke ESP8266 untuk mengkonfigurasi dan menghubungkannya dengan WIFI.
void connect_wifi (String cmd, int t) {int temp = 0, i = 0; sementara (1) {Serial.println (cmd); Serial1.println (cmd); sementara (Serial1.available ()> 0)……………….
void show_coordinate () berfungsi untuk menampilkan koordinat pada LCD dan Serial Monitor dan void get_ip () berfungsi untuk mendapatkan alamat IP.
Void Send () berfungsi untuk membuat String informasi yang akan dikirim ke halaman web menggunakan ESP8266 dan fungsi void sendwebdata () untuk mengirim string informasi ke halaman web menggunakan UART.
Dalam fungsi void loop, Arduino terus menunggu halaman web formulir permintaan (Menyegarkan halaman web).
void loop () {k = 0; Serial.println ("Harap Segarkan Halaman Ur"); lcd.setCursor (0,0); lcd.print ("Harap Segarkan"); lcd.setCursor (0,1); lcd.print ("Halaman Web Anda.."); sedangkan (k <1000)……………….
Periksa Kode Lengkap Di Bawah Ini.