Оглавление:
- Шаг 1. Необходимые компоненты
- Шаг 2. Информация о GPS
- Шаг 3: GPS-модуль Neo-6M
- Шаг 4: Arduino Mega
- Шаг 5: IDE Arduino
- Шаг 6: Подключения
Видео: Интерфейс Arduino Mega с модулем GPS (Neo-6M): 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
В этом проекте я показал, как подключить модуль 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 с - означает, что обнаружена фиксация положения.
Регулятор 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
Рекомендуемые:
Игра гласных с Arduino и MP3-модулем YX5300 Catalex: 13 шагов
Игра гласных с MP3-модулем Arduino и YX5300 Catalex: Вы можете прочитать этот вопрос? Это странно! Я специально задал этот вопрос. Если вы можете прочитать этот текст, это потому, что вы знаете весь алфавит и, конечно же, выучили все гласные. Гласные присутствуют во всех словах. Невозможно т
HiFive1 Arduino с модулем Bluetooth HC-05: 7 шагов
HiFive1 Arduino с модулем Bluetooth HC-05 Учебное пособие: HiFive1 - первая Arduino-совместимая плата на базе RISC-V, построенная с процессором FE310 от SiFive. Плата примерно в 20 раз быстрее, чем Arduino UNO, и, поскольку UNO не имеет возможности беспроводного подключения. Благо есть несколько недорогих модулей
Плата HiFive1 Arduino с WiFi-модулем ESP-01 Учебное пособие: 5 шагов
Плата HiFive1 Arduino с модулем ESP-01 WiFi Учебное пособие: HiFive1 - первая Arduino-совместимая плата на базе RISC-V, построенная с процессором FE310 от SiFive. Плата примерно в 20 раз быстрее, чем Arduino UNO, но, как и плата UNO, в ней отсутствует какое-либо беспроводное соединение. К счастью, есть несколько бесплатных
ESP32 с модулем E32-433T LoRa Учебное пособие - Интерфейс LoRa Arduino: 8 шагов
ESP32 с модулем E32-433T LoRa Учебное пособие | Интерфейс LoRa Arduino: Привет, ребята, как дела! Акарш здесь из CETech. Этот мой проект связывает модуль E32 LoRa от eByte, который представляет собой модуль приемопередатчика высокой мощности 1 Вт, с ESP32 с использованием Arduino IDE. Мы поняли работу E32 в нашем последнем уроке
Arduino с модулем температуры и влажности DHT 11: 7 шагов
Arduino с модулем температуры и влажности DHT 11: «Марс тянет человеческое воображение, как никакая другая планета. Обладая силой большей, чем сила тяжести, он привлекает внимание к мерцающему красному присутствию в чистом ночном небе ». Нашему классу физики было поручено построить кубическую площадку размером 10 x 10 x 10 см