Сотни инструкций со всего света!
8804

Делаем мобильный телефон с нуля

+ Сохранить инструкцию

Сегодня мы сделаем вполне себе рабочий, хотя и довольно простой в плане функционала, мобильный телефон.

Вот перечень тех функций, которые будет поддерживать наш телефон:

  • - Принимать и делать звонки
  • - Принимать и отправлять СМС
  • - Хранить записную книжку
  • - Показывать время
  • - Будить нас в заданное время

Телефон будет работать в GSM сетях и использовать обычную SIM карту. Он будет сконструирован на базе железа и софта входящего в комплект Arduino GSM Shield (можно купить на амазоне, ~90$ за новый, и 70$ за б/у). Однако Arduino GSM Shield это просто набор голых плат, в них мало веселья, нам же нужен настоящий телефон, с интерфейсом, кнопками, микрофоном, дисплеем и т.д. Детальное описание железа и софта можно найти на open source проекте размещенном на GitHub (Железо и Софт)

Зачем я делаю этот проект? Отчасти потому что это весело, и отчасти потому что, хотя телефоны и стали за последние 10-15 лет вездесущими, очень малый процент людей догадывается и понимает как они работают, и как они устроены. С виду они кажутся сложными, но на самом деле собираются также как электро чайник или микроволновка. И так как телефоны вездесущи и популярны, в мире полно компаний которые выпускают нужные нам комплектующие. Проведя пару вечером за компьютером я натыкался на места где можно было бы купить все элементы по довольно низким ценам в малом количестве, и для их сборки не нужно было дополнительное оборудование, только твои, надеюсь умелые руки. Возможно я что то упростил, и конечно придется приложить немного усилий для сборки нашего телефона, но поверь мне, собрать это гораздо проще, чем получить степень по физике.

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

Шаг 1: Материалы и комплектующие

Платы можно заказать от OSH Park. Стоимость комплекта из 3 штук ~60$.

Компоненты для плат можно купить в одной из этих компаний: Digi-Key, SparkFun и Ardunio. Полный список комплектующих тут - PDF. Общая стоимость порядка 135$ + доставка.

Для сборки платы понадобится конечно же паяльник (пример), припой, щипцы и т.д. Для программирования микроконтроллера понадобится AVR программатор (например такой) и usb кабель (пример). Для зарядки батареи понадобится mini-USB. Если у тебя нет ничего из этого, и ты не планируешь создавать дома полноценную лабораторию, то обратись в местный кружок юных техников, скорее всего у них есть все что тебе нужно, и они не откажут тебе в просьбе поработать с их оборудованием в обмен на хрустящие купюры или банку меда :)

Для корпуса нам понадобится 6 мм фанера (только не покупай фанеру на которой видны следы клея, при работе с лазером он может возгореться), шпон, ~1.5 см шурупы. Хотя конечно ты можешь придумать и свой корпус сделанный из любого другого материала.

Шаг 2: Паяем электронику

Хотя в телефоне много мелких компонентов, которые монтируются к плате, тем не менее, немного наловчившись, вполне можно спаять все это руками.

Хотя процесс припоя большинства компонентов не сложен, есть некоторые моменты на которые нужно обратить внимание:

Конденсаторы: будь осторожен с полярностью больших конденсаторов (1000 uf), они могут взорваться если паять их обратной стороной. Для ориентира обращай внимание на оранжевую полосу.

Полярность: другие компоненты с полярностью: включая супер конденсатор, диоды, микроконтроллер ATmega1284P, M10 GSM модуль, сокет SIM карты, микрофон. Компоненты без полярности: микрофон, кнопки, малые конденсаторы, резисторы.

Шаг 3: Прошиваем

Закачиваем на железо софт.

Шаг 4: Решаем проблемы со связью

В телефоне много вещей, которые ответственны за работу с сетью, и поэтому перебой или не верная настройка одной из них может повлечь проблемы с подключением к сети. Если на дисплее не исчезая светится Connect, можно быть уверенным что то то пошло не так. Ниже я приведу одни из самых частых причин подобного поведения. Если же ты вовсе не видишь на дисплее ничего, то нужно проверить места спайки компонентов, и убедится в том что софт встал как нужно и без ошибок.

Что нужно проверить:

Не забыл ли ты вставить SIM карту?
Корректно ли припаян сокет SIM карты? А 22 омный резистор (тот, который соединяет сокет сим карты и GSM модуль)? Все ли в порядке с GSM модулем?
Корректно ли припаяна антенна?
Резистор на 0 ом корректно ли припаян? (тот, что на соединении M10 GSM модуля и антенны)
Попробуй выйти из помещения в место с точно хорошим сигналом.

Отладка

Ты можешь продолжить отладку телефона коммуницируя с GSM модулем с компьютера, используя микроконтроллер как прокси. Для этого загрузи на телефон по кабелю SerialProxy, открой его на компьютере и укажи скорость передачи данных равной 9600, а в качестве окончания строки - "carriage return". Через пару секунд ты должен увидеть: "READY
AT
OK". Это говорит о том, что GSM модуль готов принимать AT команды. Детальное описание команд можно найти в документации к GSM модулю.

Базовые команды:

AT - тестовая команда, должна вернуть ОК.
AT CREG? - проверка статуса регистрации в сети. Ответ вида: " CREG 0,N", где N может быть 0 (устройство не зарегистрировано), 1 (регистрация пройдена), 2 (поиск сети), 3 (запрос на регистрацию отклонен), 5 (регистрация пройдена, роуминг)
AT CPBS="SM" - выбор телефонной книги сим карты.

Шаг 5: Использование телефона

Вот и настал таки тот самый радостный момент, когда можно таки начать звонить подругам и друзьям :)
По крайней мере, я надеюсь что у тебя все получилось! Однако осталась еще буквально пара моментов.

Разблокировка телефона.
При первом успешном запуске телефон будет заблокирован, его экран будет пустым. Для активации нажми любую кнопку, на экране высветится дата и время, теперь нажми верхнюю левую кнопку - ура, телефон разблокирован.

Блокировка телефона.
Чтобы заблокировать телефон нажми левую верхнюю кнопку. В таком состоянии он по прежнему будет принимать смс и звонки.

Звонки.
Для совершения звонков просто набери нужный номер и нажми Call (все как на обычном телефоне), для удаления вводимых цифр используй кнопку *.

Шаг 6: Делаем корпус

Корпус я сделал из шпона на машине для лазерной резки. Нужно быть очень внимательным с размерами, так чтобы в корпус поместилась плата и конечно чтобы на задней и передней частях совпадали места с отверстиями. Схему корпуса можно найти на GitHub (ссылка).

Ну что, кажется аппарат для дозвона на Луну готов :)

Что потребуется
  • Платы
  • Arduino
  • Фанера
  • Шпон
  • Шурупы
  • Паяльник
  • Пинцет
  • AVR программатор
  • mini-USB кабель
Похожие материалы:
Комментарии: