- GPS L10 приёмник (модель L10, функциональность такая-же как и у EB-500).
- Микроконтроллер Atmega64L-8AU (напряжение от 2,7V до 5,5V).
- Внешний кварц на 11.0592 MГц.
- Два полевых ключа BSS138, для Atmega64L и GPS, LCD питается от Atmega64L.
- Б/У телефон Nokia 3310 (с него берём нужные компоненты).
- Терморезистор TC1047AVNBTR (можно и без него).
Технические характеристики:
- Антенна используется телефонная (та, которая в телефоне Nokia 3310), к антенне идёт два пружинных штырька, один (который по центру) нужно убрать, поэтому остаётся только один штырёк, который идёт к антенне.
- Аккумулятора использовал старенький, но даже при этом «Устройство» работало 6 часов.
В прошивке использовался:
- Код опроса GPS, именно строки: $GPRMC и $GPGGA. По которым можно считать: время по Гринвичу, широту, долготу, скорость, путевой угол, дату по Гринвичу, состояние позиции (GPS fix), количество спутников и высоту над уровнем моря.
- Код для расчёта расстояния между двумя точками (зная начальную и конечную широту и долготу). Прошивка находится тут
- Код работы с LCD дисплеем от Nokia 3310 (аналог LCD Nokia 5110). Прошивка есть на этом сайте.
Чтобы проще было разобраться в лапше из проводов прикрепляем файл схемы в Proteus
Выполнив схему по размерам телефонной, удалось вместить устройство в стандартный корпус и полностью использовать клавиатуру:
Работа данного устройства:
- Включение «Устройства»: включается так-же как и телефон Nokia 3310, то-есть нажатие тактовой кнопки включения (нажимаете и удерживаете 2 секунды). После появляется заставка GPS, а кнопку отпускаете. Всё! Устройство работает, появляется главное окно.
- «Главное окно»:
время, напряжение аккумулятора и температуру показывает всегда, а остальные данные, пока не захватит спутники, будет показывать нули.
3. Режим «Меню». ВНИМАНИЕ, все клавиши заблокированы, поэтому нужно нажать клавишу «решётка» (#), после чего разблокируется клавиатура. При повторном нажатие на клавишу «решётка» (#) – клавиатура заблокируется. Состояние клавиш (разблокированы или заблокированы) можно увидеть на экране, то-есть возле надписи «Меню» нарисован замок и решётка – это состояние клавиатуры.
Режим «Меню» (при разблокированной клавиатуры), нажимаете клавишу «Меню», после чего появляется новое окно:
Пояснение, с помощью стрелок выбираете нужный Вам пункт. Кнопка, которая раньше была «Меню» теперь клавиша «Ок».
4. Режим «Выключение», когда Вы зашли в «Меню» указатель выставлен на надпись «Выключение» и при повторном нажатие произойдёт выключение устройства.
5. Режим «Настройка»:
Пояснение, здесь Вы можете: включить или выключить подсветку, выбрать вид подсветки, выбрать часовой пояс (ВНИМАНИЕ: часовой пояс от Гринвича, в Моём случае (г. Омск) это +7 часов, для г. Москвы это +4 часа), и последнее можно выбрать вид главного окна (1 – это обычное окно, 2 – это главное окно с путевым компасом).
Вот как будет выглядеть главное окно, если измените цифру «Вида окна» на два (2)
Если нажать клавишу «С», то Вы вернётесь в режим «Меню», а все изменения в настройках сохранятся в память EEPROM.
6. Режим «Сохранение Широты и Долготы», при нажатие появляется новое окно:
Пояснение, здесь Вы выбираете в какую ячейку сохранить (ячеек 50 штук). В ячейках, которых уже были сохранены данные, считываются и показываются на экране (например, ячейка: 02.dom).
При выборе ячейки (куда будет сохраняться текущая Широта, Долгота и Имя ячейки), нажимаете клавишу «Ок», появляется новое окно:
Пояснение, здесь показывается текущая Широта и Долгота, считанная с GPS приёмника. При нажатие на клавишу «Ок», Вы перейдёте на новое окно:
здесь показывает номер ячейки, в которую будут сохраняться данные. Чёрточка (_) означает выбор места ввода Имени метки, если Вы выбрали место ввода буквы, то нужно нажать клавишу «Ок», тогда Чёрточка (_) изменится на стрелочку (^) и можно вводить буквы (также как и на телефоне).
При повторном нажатие на клавишу «Ок» Чёрточка (^) изменится на Чёрточка (_), и дальше можно выбирать место для ввода буквы. Максимальное количество букв 10 штук (на маленьких Английских буквах).
Если довести Чёрточку (_) до галочки в конце и нажать клавишу «Ок», то Вы вернётесь в список, в котором выбирали ячейку для сохранения, а Широта, Долгота и вписанное Имя метки сохранится в памяти EEPROM. Когда Вы вернётесь в список, в котором выбирали ячейку для сохранения, то Имя метки, которое было сохранено, появится в списке (в той ячейки, в которой Вы сохраняли).
ВНИМАНИЕ: если при вводе Имени метки, Вы все поля (которых 10 штук) оставите пустыми (без букв), то при сохранение если в выбранное ячейки уже было что-то сохранено, то эта ячейка очистится (станет пустой). Это нужно, если вы хотите удалить не нужную координату (Широту, Долготу и Имя метки) из памяти EEPROM.
7. Режим «Поиск Широты и Долготы», при нажатие на клавишу «Ок» появится новое окно:
в этом списке нужно выбрать ячейку, в которой сохранена нужная Вам координата, для последующего поиска. Если в ячейке была сохранена координата, то у ячейки появится Имя, если ячейка пустая, то в списке ячейка будет пустая.
При выборе искомой координаты и с последующим нажатием клавиши «Ок», появится новое окно:
Пояснение, здесь показывает 1 – это искомая координата (широта и долгота), 2 – это текущая координата (широта и долгота), так-же показывает расстояние между точками (расстояние показывает в метрах, если расстояние <10000 метров, если расстояние =>10000 тогда расстояние показывает в километрах).
В данном случае нет сохраненных координат, а GPS ещё не захватила спутники, поэтому показывает нули. Так-же можете увидеть внизу значок открытого замка, при нажатие клавиши решётка (#) клавиатура заблокируется, а замок закроется.
Конец, спасибо что прочитали.
Если будут вопросы, задавайте, Я отвечу на ваши вопросы.
Все файлы проекта можно скачать по этой ссылке
автор: Valera18
Последние статьи
- Лучшая практика проектирования при размещении компонентов печатной платы
- Android 6.0 на lancer X
- Простой усилитель мощности класса АВ своими руками.
- Двухтактный ультралинейный ламповый УНЧ на EL84 (6П14П).
- Люксметр на ATmega8 и цифровом датчике BH1750
- Контроллер для светодиодной ленты с ИК управлением
- Самодельный LED светильник на основе ИК датчика HC-SR501
- Простой усилитель низкой частоты на TDA7377 и NE5532
- Простейший звонок с двумя мелодиями
- LED Cube 8x8x8 на Arduino с RTC