Главная » Статьи » Проекты

GPS приемник в корпусе Nokia3310
Использовались компоненты:
  1. GPS L10 приёмник (модель L10, функциональность такая-же как и у EB-500).
  2. Микроконтроллер Atmega64L-8AU (напряжение от 2,7V до 5,5V).
  3. Внешний кварц на 11.0592 MГц.
  4. Два полевых ключа BSS138, для Atmega64L и GPS, LCD питается от Atmega64L.
  5. Б/У телефон Nokia 3310 (с него берём нужные компоненты).
  6. Терморезистор TC1047AVNBTR  (можно и без него).

Технические характеристики:
  1. Антенна используется телефонная (та, которая в телефоне Nokia 3310), к антенне идёт два пружинных штырька, один (который по центру) нужно убрать, поэтому остаётся только один штырёк, который идёт к антенне.
  2. Аккумулятора использовал старенький, но даже при этом «Устройство» работало 6 часов.
В прошивке использовался:
  1. Код опроса GPS, именно строки: $GPRMC и $GPGGA. По которым можно считать: время по Гринвичу, широту, долготу, скорость, путевой угол, дату по Гринвичу, состояние позиции (GPS fix), количество спутников и высоту над уровнем моря.
  2. Код для расчёта расстояния между двумя точками (зная начальную и конечную широту и долготу). Прошивка находится тут
  3. Код работы с LCD дисплеем от Nokia 3310 (аналог LCD Nokia 5110). Прошивка есть на этом сайте.






 Чтобы проще было разобраться в лапше из проводов прикрепляем файл схемы в Proteus

 Скачать



Выполнив схему по размерам телефонной, удалось вместить устройство в стандартный корпус и полностью использовать клавиатуру:


     




Работа данного устройства:
  1. Включение «Устройства»: включается так-же как и телефон Nokia 3310, то-есть нажатие тактовой кнопки включения (нажимаете и удерживаете 2 секунды). После появляется заставка GPS, а кнопку отпускаете. Всё! Устройство работает, появляется главное окно.
  2. «Главное окно»:




время, напряжение аккумулятора и температуру показывает всегда, а остальные данные, пока не захватит спутники, будет показывать нули.

    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

Категория: Проекты | Добавлено: 22.09.2013 | Автор: GPS, L10
Просмотров: 14968 | Комментарии: 14 | Рейтинг: 5.0/6
Всего комментариев: 14
14 Valera18   (22.07.2014 15:52)
Для alexangarsk

Проглядел недочёт.
Всё из-за того, что выставил ограничение по высокому входному числу, поэтому прошивка думала что данные входят не верные.
Пример: входные данные 23 часа + часовой пояс 9 часов = максимальное число 32 (ограничитель такой Hour_dani < 31, ограничитель для +7, когда писал забыл про высокие пояса +8,+9,+10,+11,+12,+13), далее будем 32-24=8 часов это текущее время.

Есть такая строка:
If Hour_dani > 23 And Hour_dani < 31 Then 'Для учёта часового пояса
нужно изменить на эту строку:
If Hour_dani > 23 And Hour_dani < 37 Then 'Для учёта часового пояса

+1   Спам
13 alexangarsk   (22.07.2014 08:04)
для Valera18
Я живу в Иркутской области, часовой пояс +9 и время которое считает приёмник получается до 32.59.59

12 Valera18   (15.07.2014 15:51)
Нашёл проблему.
ATMEGA128 почему-то не может рассчитать функцию Asin, вероятно не хватает оперативной память микроконтроллера или BASCOM-AVR компилятор глючит.
Замените формулу Distance = Asin(startshi) на Distance = Startshi, вроде верно рассчитывает.
Давно придумывал формулу для BASCOM, поэтому не помню для чего использовал функцию Asin, хотя работает и без неё.

11 alexangarsk   (15.07.2014 10:17)
для Valera18
При компиляции проекта под mega128 компилятор выдаёт ошибку
Error : 221 Line : 2695 Backward jump out of range [_FCMP [ 2069]]
Error : 221 Line : 2695 Backward jump out of range [FPMUL [ 2055]]
Для mega64 ошибок нет, не подскажите ?

10 Valera18   (09.07.2014 20:12)
Код написан в BASCOM-AVR 2.0.7.1.
вот программа: https://yadi.sk/d/SYddYXVqWHXoT

Учитывайте, что при компиляции основная прошивка "GPS в Nokia 3310.bas" должна находится в одной папке с дополнениями (3310bmpe.bas, 3310bmpgps.bas, 3310bmpn.bas, 3310bmpne.bas, 3310bmpnw.bas, 3310bmps.bas, 3310bmpse.bas, 3310bmpsw.bas, 3310bmpw.bas, 3310end.bas, 3310init.bas).

9 alexangarsk   (09.07.2014 17:27)
Здравствуйте !
Скажите в какой версии баскома писали проект ?
Пробовал компилировать в 2.0.5.0 лезут ошибки, в 1.11.9.8 лезут ошибки

8 Valera18   (23.09.2013 16:09)
Для kip96
Была такая задумка про связь с ПК, для скачивания сохранённых координат и для взаимодействия с Гуглом, ДубльГИСом и бутлоадером, но в процессе написания прошивки места в ATMEGA64L не осталось, поэтому сейчас купил ATMEGA128A-AU для второго проекта.

Для Toxa12345
Плата GPS приемника полностью заменяет плату телефона, поэтому целостность и прочность телефона сохраняется :)))

+1   Спам
7 Toxa12345   (23.09.2013 15:09)
Отличное устройство! (Впрочем на этом сайте других и нет)
Вопрос по функциональности - может ли данное устройство, как нокиа3310 Колоть орехи?

+1   Спам
6 kip96   (23.09.2013 14:49)
КЛАСС! Добавь ещё связь с ПК, для скидывания истории, чтоб потом на гуглкарту наложить и смотреть путь, бутлоадер для апгрейда, и для зарядки.

+1   Спам
5 RD3AVJ   (23.09.2013 12:28)
Scorpushka, замени любым другим, хоть ЕВ-500 wink протоколы у них одинаковые же. Да и поправить прогу, если что - не проблема.

4 Scorpushka   (23.09.2013 10:00)
что то не нашел на ебее этот приемник в продаже

3 Scorpushka   (23.09.2013 09:57)
круто, спасибо!

+1   Спам
2 RD3AVJ   (23.09.2013 09:06)
Замечательный проект и потрясная реализация! Спасибо Valera18 и exersizze :yes:  Все наработки наверняка пригодятся участникам и гостям сайта, тем более что все понятно описано. Ну и повторить конструкцию, думаю senile

+2   Спам
1 Valera18   (23.09.2013 07:02)
Спасибо автору за добавление моего проекта "GPS приемник в корпусе Nokia3310".

Добавлю, приёмник испытал - работает. При полной зарядки батареи работает 6 часов (использован старый аккумулятор, если использовать новый, то работать будет дольше).
Единственный недостаток - это большой корпус Nokia3310, по началу делал для работы в лесу (в деревне).

Сейчас есть задумка сделать в корпусе от китайского MP3 плеер Nano, который не удалось восстановить после того как упал в лужу (воду). Что нравится в корпусе от китайского MP3 плеер Nano: малый размер (но вполне достаточно для приёмника), металлический корпус (алюминий) и металлическая прищепка для крепления на одежде.
Насчёт прищепки, думаю крепить к "спортивному наручному суппорту".

Фотка из интернета, выглядят так
http://www.prompx.info/wp-content/uploads/2011/07/14/pic01.jpg


GPS приемник в корпусе китайского MP3 плеер Nano:
Думаю использовать сам алюминиевый корпус как антенну.
Аккумулятор купил такой: 3.7V 560 mAh LiPo (корпус 284347), он как раз помещается в корпус плеера.
Микросхему купил такую: ATMEGA128A-AU 2,7V-5,5V.
Внешний EEPROM: 24LC64, хотя может буду использовать память у ATMEGA128A. Подумаю.
Дисплей будет такой: LCD дисплей от Nokia 3310 (аналог LCD Nokia 5110).

Так как микросхема будет использоваться такая ATMEGA128A-AU, добавлю ещё несколько функций,
например: 1. автоматическое сохранение координат каждые 100 метров.
2. расчёт и показ на сколько изменилась высота от начальной точки (что бы знать когда поднимаешься в гору или спускаешься с горы) - данная функция удобна для велосипеда.
3. ввод конечной координаты в которую нужно прийти (хотел сделать в проекте с Nokia 3310, но не хватило места в памяти ATMEGA64L).
4. есть мысли, чтобы микроконтроллер рисовал схему сохранённого пути (подобие змейки), но это сложно.
5. и ещё что-нибудь придумаю.
Следовательно, устройство получится более универсальным.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order
авторизация
Логин:
Пароль:
Комментарии
Сетевой диммер 220V на микроконтроллере
09.12.2016 - vakulyuk:
Спасибо) Я принцип действия понял, а вот откуда взялась именно цифра 195 не поня...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - exersizze:
pchela5, ну так это в военное, а у нас в мирное время все примерно)) Наше...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - pchela5:
> Полуволна в нашей электросети по времени длится примерно 10 мс

...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - exersizze:
Чтобы понять откуда взялась цифра 195 надо сначала въехать в принцип работы: ког...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - vakulyuk:
А почему минимальный накал при 195? Насколько минимум можно занизить Wt?
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
08.12.2016 - exersizze:
yorx выдалось немного свободного времени, проверил в симуляторе. Проблема...
Логгер температуры 2.0
05.12.2016 - Evgeny6873:
Хотел повторить схему и долго ждал дисплей, два раза заказывал с Китая, пришел. ...
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
01.12.2016 - yorx:
Доброго времени суток, exersizze попробовал Ваш код все равно не работает как на...
Помни об усадке!
30.11.2016 - pchela5:
Автомобильные никакие не лезут?


Лучшие цены на 3D принтеры
успей сделать себе подарок к Новому Году! ;)


Prusa i3

Prusa i3 от 12500 р.



Rostoсk

Rostock от 15000 р.