Пример 38. GPS модуль Ublox NEO-6M
Примеры
ПРИМЕРЫ
- Пример 1. Светодиоды
- Пример 2. Подключение кнопки
- Пример 3. Переключатель
- Пример 4. Активный зуммер
- Пример 5. Пассивный зуммер
- Пример 6. Фоторезистор
- Пример 7. RGB-светодиод
- Пример 8. Семисегментный индикатор и 74HC595N
- Пример 9. Четырехразрядный 7-сегментный индикатор
- Пример 10. Светодиодная матрица
- Пример 11. Светодиодная шкала
- Пример 12. ЖК-дисплей
- Пример 13. Джойстик
- Пример 14. Вольтметр
- Пример 15. Термистор
- Пример 16. Модуль DHT11
- Пример 17. Модуль HC-SR04
- Пример 18. Датчик движения HC-SR501
- Пример 19. Матричная клавиатура
- Пример 20. ИК датчик и пульт
- Пример 21. Модуль часов DS-1302
- Пример 22. RFID-модуль RC522
- Пример 23. Сервопривод
- Пример 24. Модуль реле
- Пример 25. Двигатель постоянного тока
- Пример 26. Шаговый двигатель и драйвер ULN2003
- Пример 27. Драйвер двигателей на L298N
- Пример 28. MP3-плеер DFPlayer Mini
- Пример 29. Датчик уровня воды
- Пример 30. Serial Port
- Пример 31. Симуляция парковки
- Пример 32. Датчик температуры DS18B20
- Пример 33. Bluetooth-модуль HC-06
- Пример 34. Плата расширения с дисплеем и кнопками
- Пример 35. Плата расширения для двигателей на L293D
- Пример 36. Ethernet шилд W5100
- Пример 37. GSM/GPRS шилд SIM900
- Пример 38. GPS модуль Ublox NEO-6M
- Пример 39. Модуль считывания отпечатков пальцев
- Пример 40. Шаговый двигатель NEMA17 и драйвер TB6600
GPS-модули, в том числе и Ublox NEO-6M, позволяют вашему автономному устройству отслеживать свои координаты и параметры перемещения. Такая функциональность важна для всевозможных летательных аппаратов, трекеров, умных ошейников и рюкзаков.
Описание:
В данном примере с помощью программы U-Center определим местоположение, координаты, текущее время по спутнику, скорость объекта и другую информацию, используя GPS модуль Ublox NEO-6M. Скачать программу для Windows можете по данной ссылке, либо зайдите на официальный сайт программы. Также, для TTL-преобразователя необходимо скачать драйвера CH340G.
Компоненты:
Схема:
GPS модуль и Arduino
Если Вы хотите подключить GPS модуль к Arduino, тогда необходимо скачать библиотеку TinyGPS++. Подключение стандартное:
- GND > GND
- TX > D4
- RX не соединяем (так как нет необходимости отправлять на него данные от Arduino, в этом примере Arduino просто получает данные от модуля)
- VCC > 3V3 (можно подключить к 5V)
С помощью скетча, приведенного ниже, можно получить следующие данные от GPS-модуля NEO-6M: широта, долгота, высота над уровнем моря, время, дата и количество используемых спутников.
Компоненты:
Схема:
Скетч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
#include <TinyGPS++.h> #include <SoftwareSerial.h> TinyGPSPlus gps; #define S_RX 4 // Вывод RX #define S_TX 3 // Вывод TX SoftwareSerial SoftSerial(S_RX, S_TX); void setup(void) { Serial.begin(9600); SoftSerial.begin(9600); } void loop() { while (SoftSerial.available() > 0) { if (gps.encode(SoftSerial.read())) { if (gps.location.isValid()) { Serial.print("Latitude = "); Serial.println(gps.location.lat(), 6); Serial.print("Longitude = "); Serial.println(gps.location.lng(), 6); } else Serial.println("Location Invalid"); if (gps.altitude.isValid()) { Serial.print("Altitude = "); Serial.print(gps.altitude.meters()); Serial.println(" meters"); } else Serial.println("Altitude Invalid"); if (gps.speed.isValid()) { Serial.print("Speed = "); Serial.print(gps.speed.kmph()); Serial.println(" kmph"); } else Serial.println("Speed Invalid"); if (gps.time.isValid()) { Serial.print("Time (GMT) : "); if(gps.time.hour() < 10) Serial.print("0"); Serial.print(gps.time.hour()); Serial.print(":"); if(gps.time.minute() < 10) Serial.print("0"); Serial.print(gps.time.minute()); Serial.print(":"); if(gps.time.second() < 10) Serial.print("0"); Serial.println(gps.time.second()); } else Serial.println("Time Invalid"); if (gps.date.isValid()) { Serial.print("Date : "); if(gps.date.day() < 10) Serial.print("0"); Serial.print(gps.date.day()); Serial.print("/"); if(gps.date.month() < 10) Serial.print("0"); Serial.print(gps.date.month()); Serial.print("/"); Serial.println(gps.date.year()); } else Serial.println("Date Invalid"); if (gps.satellites.isValid()) { Serial.print("Satellites = "); Serial.println(gps.satellites.value()); } else Serial.println("Satellites Invalid"); } } } |