Оглавление:

Интерфейс Arduino Mega с модулем GPS (Neo-6M): 8 шагов
Интерфейс Arduino Mega с модулем GPS (Neo-6M): 8 шагов

Видео: Интерфейс Arduino Mega с модулем GPS (Neo-6M): 8 шагов

Видео: Интерфейс Arduino Mega с модулем GPS (Neo-6M): 8 шагов
Видео: NEO 6m GPS модуль подключение к Ардуино. Ардуино проекты. 2024, Июнь
Anonim
Интерфейс Arduino Mega с GPS-модулем (Neo-6M)
Интерфейс Arduino Mega с GPS-модулем (Neo-6M)

В этом проекте я показал, как подключить модуль GPS (Neo-6M) к Arduino Mega. Библиотека TinyGPS используется для отображения данных долготы и широты, а TinyGPS ++ используется для отображения широты, долготы, высоты, скорости и количества спутников на последовательном мониторе.

Шаг 1. Необходимые компоненты

Аппаратное обеспечение

  • Arduino Mega ==> 30 долларов
  • GPS модуль Нео-6М ==> 30 $

Программное обеспечение

IDE Arduino

Общая стоимость проекта 60 $.

Шаг 2. Информация о GPS

Что такое GPS

Глобальная система позиционирования (GPS) - это спутниковая навигационная система, состоящая как минимум из 24 спутников. GPS работает в любых погодных условиях, в любой точке мира, 24 часа в сутки, без абонентской платы или платы за установку.

Как работает GPS

Спутники GPS обращаются вокруг Земли дважды в день по точной орбите. Каждый спутник передает уникальный сигнал и параметры орбиты, которые позволяют устройствам GPS декодировать и вычислять точное местоположение спутника. Приемники GPS используют эту информацию и трилатерацию для расчета точного местоположения пользователя. По сути, приемник GPS измеряет расстояние до каждого спутника по времени, необходимому для приема переданного сигнала. С помощью измерений расстояния от еще нескольких спутников приемник может определить местоположение пользователя и отобразить его.

Чтобы рассчитать ваше двумерное положение (широту и долготу) и отследить движение, приемник GPS должен быть привязан к сигналу как минимум 3 спутников. При наличии 4 или более спутников приемник может определить ваше трехмерное положение (широту, долготу и высоту). Как правило, приемник GPS отслеживает 8 или более спутников, но это зависит от времени суток и вашего местоположения на Земле. После определения вашего местоположения устройство GPS может вычислить другую информацию, такую как

  • Скорость
  • Несущий
  • Отслеживать
  • Расстояние поездки
  • Расстояние до пункта назначения

Что такое сигнал

Спутники GPS передают не менее 2 радиосигналов малой мощности. Сигналы распространяются по прямой видимости, то есть они проходят через облака, стекло и пластик, но не проходят через большинство твердых объектов, таких как здания и горы. Однако современные приемники более чувствительны и обычно могут отслеживать дома. Сигнал GPS содержит 3 различных типа информации

Псевдослучайный код

Это удостоверение личности. код, определяющий, какой спутник передает информацию. Вы можете увидеть, с каких спутников вы получаете сигналы, на странице спутников вашего устройства.

Данные эфемерид

Данные эфемерид необходимы для определения местоположения спутника и дают важную информацию о состоянии спутника, текущей дате и времени.

Данные альманаха

Данные альманаха сообщают приемнику GPS, где должен находиться каждый спутник GPS в любое время в течение дня, и показывают информацию об орбите для этого спутника и каждого другого спутника в системе.

Шаг 3: GPS-модуль Neo-6M

GPS-модуль NEO-6M показан на рисунке ниже. Он поставляется с внешней антенной и не имеет контактов разъема. Так что вам нужно будет его припаять.

Обзор GPS-модуля NEO-6M

Чип GPS NEO-6M

Сердцем модуля является GPS-чип NEO-6M от u-blox. Он может отслеживать до 22 спутников на 50 каналах и обеспечивает самый высокий в отрасли уровень чувствительности, то есть отслеживание -161 дБ при потреблении тока питания всего 45 мА. Механизм позиционирования u-blox 6 также может похвастаться временем до первого исправления (TTFF) менее 1 секунды. Одна из лучших функций, предоставляемых чипом, - это режим энергосбережения (PSM). Это позволяет снизить энергопотребление системы за счет выборочного включения и выключения частей приемника. Это значительно снижает энергопотребление модуля до 11 мА, что делает его подходящим для чувствительных к энергопотреблению приложений, таких как наручные часы с GPS. Необходимые выводы данных микросхемы NEO-6M GPS разбиты на заголовки с шагом 0,1 дюйма. Сюда входят контакты, необходимые для связи с микроконтроллером через UART.

Примечание: - Модуль поддерживает скорость передачи от 4800 до 230400 бит / с со скоростью по умолчанию 9600 бод.

Светодиодный индикатор фиксации положения

На модуле GPS NEO-6M есть светодиод, который показывает состояние определения местоположения. Он будет мигать с разной частотой в зависимости от того, в каком состоянии он находится.

  1. Не мигает ==> означает поиск спутников.
  2. Мигает каждые 1 с - означает, что обнаружена фиксация положения.

Регулятор LDO 3,3 В

Рабочее напряжение микросхемы NEO-6M от 2,7 до 3,6В. Но модуль поставляется с регулятором 3V3 со сверхмалым падением напряжения MIC5205 от MICREL. Логические выводы также устойчивы к напряжению 5 В, поэтому мы можем легко подключить их к Arduino или любому логическому микроконтроллеру с напряжением 5 В без использования преобразователя логического уровня.

Аккумулятор и EEPROM

Модуль оснащен двухпроводной последовательной EEPROM HK24C32. Он имеет размер 4 КБ и подключается к микросхеме NEO-6M через I2C. Модуль также содержит аккумуляторную батарею, которая действует как суперконденсатор.

EEPROM вместе с батареей помогает удерживать RAM с батарейным питанием (BBR). BBR содержит данные часов, последние данные о местоположении (данные об орбите GNSS) и конфигурацию модуля. Но он не предназначен для постоянного хранения данных.

Поскольку батарея сохраняет часы и последнее положение, время до первого исправления (TTFF) значительно сокращается до 1 с. Это позволяет намного быстрее блокировать положение.

Без батареи GPS всегда запускается из холодного состояния, поэтому первоначальная блокировка GPS занимает больше времени. Аккумулятор автоматически заряжается при включении питания и сохраняет данные до двух недель без питания.

Распиновка

GND - это контакт заземления, который необходимо подключить к контакту GND на Arduino

Вывод TxD (передатчик) используется для последовательной связи

Вывод RxD (приемник) используется для последовательной связи

VCC обеспечивает питание модуля. Вы можете напрямую подключить его к выводу 5V на Arduino

Шаг 4: Arduino Mega

Arduino - это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. Платы Arduino могут считывать входные данные - свет на датчике, палец на кнопке или сообщение Twitter - и превращать его в выход - активировать двигатель, включать светодиод, публиковать что-то в Интернете. Вы можете указать своей плате, что делать, отправив набор инструкций микроконтроллеру на плате. Для этого вы используете язык программирования Arduino (на основе проводки) и программное обеспечение Arduino (IDE), основанное на обработке.

Ардуино Мега

Arduino Mega 2560 - это плата микроконтроллера на базе Atmega2560.

  • На плате имеется 54 цифровых входа / выхода и 16 аналоговых контактов, которые делают это устройство уникальным и выделяющимся среди других. Из 54 цифровых входов / выходов 15 используются для ШИМ (широтно-импульсной модуляции).
  • На плату добавлен кварцевый генератор с частотой 16 МГц.
  • Плата поставляется с портом для USB-кабеля, который используется для подключения и передачи кода с компьютера на плату.
  • Разъем питания постоянного тока соединен с платой, которая используется для питания платы.
  • Плата поставляется с двумя регуляторами напряжения, то есть 5 В и 3,3 В, что обеспечивает гибкость для регулирования напряжения в соответствии с требованиями.
  • Есть кнопка сброса и 4 аппаратных последовательных порта, называемых USART, которые обеспечивают максимальную скорость для настройки связи.
  • Есть три способа запитать плату. Вы можете использовать USB-кабель для питания платы и передачи кода на плату, или вы можете включить его, используя Vin платы или через разъем питания или батарею.

Характеристики

Распиновка

Пин Описание

  • 5 В и 3,3 В ==> Этот вывод используется для обеспечения выходного регулируемого напряжения около 5 В. Этот регулируемый источник питания питает контроллер и другие компоненты на плате. Его можно получить от Vin платы, кабеля USB или другого регулируемого источника напряжения 5 В. В то время как другое регулирование напряжения обеспечивается контактом 3,3 В. Максимальная мощность, которую он может потреблять, составляет 50 мА.
  • GND ==> На плате доступно 5 контактов заземления, что делает его полезным, когда для проекта требуется более одного контакта заземления.
  • Сброс ==> Этот вывод используется для сброса платы. Установка этого вывода на НИЗКИЙ приведет к сбросу платы.
  • Vin ==> Это входное напряжение, подаваемое на плату, от 7 до 20 В. Через этот контакт можно получить доступ к напряжению, обеспечиваемому разъемом питания. Однако выходное напряжение через этот вывод на плате будет автоматически установлено до 5 В.
  • Последовательная связь ==> RXD и TXD - это последовательные выводы, используемые для передачи и приема последовательных данных, то есть Rx представляет собой передачу данных, а Tx используется для приема данных. Используются четыре комбинации этих последовательных контактов, где Serail 0 содержит RX (0) и TX (1), Serial 1 содержит TX (18) и RX (19), Serial 2 содержит TX (16) и RX (17), а Serial 3 содержит TX (14) и RX (15).
  • Внешние прерывания ==> Шесть контактов используются для создания внешних прерываний, т. Е. Прерывания 0 (0), прерывания 1 (3), прерывания 2 (21), прерывания 3 (20), прерывания 4 (19), прерывания 5 (18). Эти выводы создают прерывания несколькими способами, например, обеспечивают НИЗКОЕ значение, нарастающий или спадающий фронт или изменяя значение на выводах прерывания.
  • Светодиод ==> Эта плата оснащена встроенным светодиодом, подключенным к цифровому контакту 13. ВЫСОКОЕ значение на этом контакте включает светодиод, а НИЗКОЕ значение выключает его.
  • AREF ==> AREF означает аналоговое опорное напряжение, которое является опорным напряжением для аналоговых входов.
  • Аналоговые контакты ==> На плате имеется 16 аналоговых контактов, обозначенных как A0 - A15. Важно отметить, что все эти аналоговые выводы могут использоваться как цифровые выводы ввода / вывода. Каждый аналоговый вывод имеет 10-битное разрешение. Эти контакты могут измерять от земли до 5 В. Однако верхнее значение можно изменить с помощью функций AREF и analogReference ().
  • I2C ==> Два контакта 20 и 21 поддерживают связь I2C, где 20 представляет SDA (последовательную линию данных, в основном используемую для хранения данных), а 21 представляет SCL (последовательную линию синхронизации, в основном используемую для обеспечения синхронизации данных между устройствами)
  • Связь SPI ==> SPI означает последовательный периферийный интерфейс, используемый для передачи данных между контроллером и другими компонентами периферийных устройств. Четыре контакта, то есть 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS), используются для связи SPI.

Шаг 5: IDE Arduino

Здесь я предполагаю, что вы уже установили Arduino IDE.

1. Загрузите необходимую библиотеку, указанную ниже.

Библиотека TinyGPS

2. После скачивания. Извлеките его и переместите в папку C: / Users \… / Documents / Arduino / libraries, убедитесь, что там нет (-).

3. Откройте IDE Arduino и скопируйте код из раздела программы.

4. Затем выберите плату для этого перейдите в Инструменты ==> Платы ==> выберите плату, здесь мы используем Arduino Mega 2560

5. После выбора платы выберите порт, для чего перейдите в Инструменты ==> Порты.

6. После выбора платы и порта нажмите «Загрузить».

7. После загрузки кода откройте последовательный терминал, чтобы увидеть результат.

Шаг 6: Подключения

Ардуино МЕГА ==> НЕО-6М GPS

  • 3,3 В ==> VCC
  • GND ==> GND
  • Tx1 (18) ==> Rx
  • Rx (19) ==> Передача

Вы также можете использовать Serial2 или Serial3 вместо Serial1

Рекомендуемые: