Как сделать телефон который работает

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

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

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

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

Телефон будет работать в GSM сетях и использовать обычную SIM карту. Он будет сконструирован на базе железа и софта входящего в комплект Arduino GSM Shield (можно купить на амазоне,

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

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

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

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

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

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

Для сборки платы понадобится конечно же паяльник (пример), припой, щипцы и т.д. Для программирования микроконтроллера понадобится 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 модуля и антенны)
Попробуй выйти из помещения в место с точно хорошим сигналом.

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

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

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

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

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

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

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

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

Источник

Самый простой способ как сделать своими руками настоящий сотовый телефон

По правде говоря, в настоящий момент нет логических целей для того, чтобы собирать мобильник своими руками. Особенно учитывая то, что самый простой покупной мобильник будет стоить дешевле. Но, тем не менее, изучение — это очень важный аспект процесса сборки. Более того, владение мобильником, который ты создал сам — это очень крутая идея для поделки.

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

Большинство из нас владеют мобильными, как и я. И после нескольких успешных проектов я задумался над тем, что создание мобильника своими руками будет хорошим вызовом. Я прекрасно осознавал, что у меня не получится воссоздать весь функционал современного телефона, но осуществление звонков и, возможно, отправка смс, вполне меня устраивала.

Шаг 1: Планирование

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

В качестве вдохновения я использовал проекты, найденные в интернете:

Модуль сотового GSM

Самый главный компонент телефона — модуль GSM. После сёрфинга по интернету, я обнаружил, что на Ибэй можно найти такой модуль (модели SIM800L) по очень неплохой цене и при этом почти не придётся ничего паять. Моей целью было не устранить пайку вообще, но уменьшить время на паяльные работы в целом. Как впоследствии оказалось, Adafruit использует такой же чип SIM800L и, к моему удивлению, их код заработал сразу и без каких-либо модификаций.

Adafruit FONA

Модуль работает на частотах 850/900/1800/1900MHz, позволяя ловить радио в диапазоне FM и много другое. Радио не было важным для меня, но, возможно, в будущем я добавлю этот функционал. Важными функциями являются осуществление звонков, получение и отправка СМС и этого вполне достаточно.

В качестве бонуса, купленный модуль обладает антенной. На другом конце платы есть модуль для сим-карт, что также делает жизнь проще (не придётся производить мелкую и затратную по времени пайку).

Провода динамика “+” (SpkP) и “-” (SpkN) соединяются напрямую с SIM800L. То же касается и микрофона. “Net” — для антенны, но так как она уже встроена в плату, место оставлено пустым. “Vbat2” для соединения с “+” батарейки. “GND” – для соединения с ground на Arduino и “-“ на батарейке. “RST_sim800”, “RXD” и “TXD” соединяются с Arduino. “DTR” — не знаю для чего, оставил открытым.

Экран

В одной из инструкций использовался экран Nokia, в то же время я не очень хотел использовать LED-экран, таким образом, я решил использовать экран от Nokia, но LCD.

После некоторых изысканий, я обнаружил, что экраны Nokia испытывают проблемы из-за слишком высокого напряжения. На Sparkfun я выяснил, что при напряжении 5 вольт, нужно использовать резисторы. Напряжение источника питания должно быть 3,3V.

Нужно использовать резистор на 10 кОм между пинами SCLK (CLK), DN (DIN), D/C (DC), и RST. А с пином SCE (CS) нужно использовать резистор на 1 кОм. Для подсветки рекомендуется минимум 330 Ом. Для одних и тех же пинов могут использоваться разные обозначения: SCLK=CLK; DN=DIN; D/C=DC; SCE=CS.

Для экрана нужно 3.3 Вольта, поэтому необходимо использовать конвертер DC-DC. Все пины соединяются с Ардуино, который работает от 5 Вольт. Для того чтобы увеличить срок жизни экрана, между пинами нужно включить резисторы (смотрите схему: “Hand1_R4 – R8”).

Кнопки

Расположение кнопок схоже с расположением на множестве старых телефонов. Эта схема очень разумна.

Клавиатура состоит из 16 кнопок. Для использования всех 16 кнопок понадобится большой микроконтроллер или слегка более продвинутая клавиатура.

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

Шаг 2: Макетная плата — Кнопки

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

Создание клавиатуры с использованием разделителя напряжения достаточно просто и может быть очень легко рассчитано. Разделитель напряжения можно найти на схеме. Принцип очень прост, но фактические значения raw_data (напряжения), которые должны соответствовать нажатию разных кнопок слегка отличаются от теоритических вычислений.

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

Рассчитанные и измеренные значения raw_data показаны на приложенной таблице. Как можно заметить, выходит довольно большое отклонение, особенно на уровне низкого напряжения. Используемые резисторы имели погрешность до 5%, что и привело к такому результату.

Шаг 3: Макетная плата — Микроконтроллер

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

Мозг телефона планировалось собрать с использованием Arduino Pro-Micro. Плата дешевая, но достаточно мощная для наших нужд. У этой платы есть много преимуществ, и она может быть напрямую соединена с компьютером посредством USB. Это облегчает обновление кода и зарядку батареи (так как в ней есть готовый порт micro-USB).

Но в реальной жизни не всё так просто и она оказалась несовместимой с SIM800L. Я не знаю почему, но она не работала, хотя физически всё было соединено. Мне пришлось заменить Pro-Micro обычным Arduino UNO и всё заработало как надо.

Схема соединения Ардуино прикреплена выше. Также UNO использовался для окончательного дизайна соединения пинов, кроме D14-D16 (которые я всё равно не использовал)

Шаг 4: Макетная плата — Экран

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

Как говорилось выше, я использовал экран Nokia 5110.

Пин 7 экрана управляет подсветкой. Подав на него напряжение 3.3V можно включить подсветку. Я купил на Ибэй несколько экранов от разных производителей и один из них отличался. Этот экран требовал заземления пина для того, чтобы подсветка заработала. У экрана уже были резисторы, поэтому отпала нужда в последовательных резисторах (Hand1_R3). На макетной плате такое было легко доработать, но я обнаружил эту особенность после заказа печатной платы, поэтому данный факт был слегка раздражающим.

Шаг 5: Макетная плата — Питание

Для питания устройства я использовал литий-полимерную батарейку, напряжение с батареи подавалось напрямую на сотовый модуль (SIM800L). Сотовый модуль мог требовать до 2A и работал при напряжении 3.7 — 4.2 Вольт, также как и батарейка.

Для печатной платы я не использовал сколь бы то ни было сложной системы зарядки батареи. Я использовал обычную батарейку 18650 LiPo и соединил её напрямую с SIM800L.

Ардуино УНО питался от USB кабеля.

3.3 Вольта на экран подавались напрямую с УНО, поэтому не было нужды в дополнительных элементах.

Шаг 6: Макетная плата — Софт

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

Для клавиатуры я нашел неплохой код от OtakuSanel. Я сильно модифицировал его код, но основа осталась та же, если сырые значения верны, то для проверки клавиатуры можно использовать приложенный файл (T-keyBoardTest1.ino).

Простую программу для коммуникации с SIM800L можно найти на adafruit (FONAtest в примерах). Вам может потребоваться лишь настроить пины. Также потребуется скачать библиотеки из Adafruit FONA. На этом шаге экран не нужен и вся коммуникация проходит через последовательный порт.

Простая программа для осуществления звонков также прилагается ниже (T-mobile_OnlyCalling.ino). Код был доработан для меня, так что он не слишком лёгкий для понимания.

Шаг 7: Мобильник на макетной плате

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

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

Шаг 8: Прототип печатной платы

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

После того, как макетная плата была собрана и работала без ошибок, я сразу сделал дизайн для печатной платы. Несколько вещей, которые я не полностью испытал и не предполагал о них вначале, сделали результат не таким продуманным, как я надеялся, но в итоге я смог заставить свой мобильник работать. Далее я рассмотрю все трудности, возникшие после сборки печатной платы.

Микроконтроллер

Как говорилось выше, я собирался использовать в качестве контроллера Pro-Micro. В моих предыдущих проектах Pro-Micro и UNO были полностью совместимы, и с их заменой не было никаких проблем. Поэтому я не делал никаких специальных тестов с Pro-Micro перед тем, как заказал плату.

Когда печатная плата была доставлена, я был очень рад, припаял батарейку, Pro-Micro и SIM800L и попытался включить устройство. Но связи не было. Я поверил всё мультиметром, и всё выглядело так, будто должно работать. Я сделал отдельные тесты на макетной плате и получил тот же результат — нет связи…

Я решил, что просто использую UNO вместо Pro-Micro, и тогда не будет никаких проблем, тем не менее, мне пришлось спаять много проводов от слотов (расчитаных для Pro-Micro) к плате UNO.

Питание

Контроллер был не единственной проблемой.

Я планировал увеличить напряжение (с 3.7-4V до 5.0V) при помощи чипа RT9261A. Этот чип сам по себе не может держать большую силу тока. Поэтому он управляет небольшим переключателем BJT-NPN. Напряжение NPN фильтруется через резистор и конденсатор. Значения находятся непосредственно в таблице данных.

Конвертер работал хорошо без нагрузки, но, когда я подал на него минимум 0.1 мА, напряжение тут же упало до напряжения батарейки. Конвертер не был способен справиться с задачей. К счастью, я оставил небольшую площадку для подключения готового конвертера (купленного на Ибэй). Этот конвертер работал хорошо, но выходное напряжение было 5.2V. Это не очень серьёзная проблема, но я вернусь к ней в части о кнопках.

Конвертер вскрыл еще одну проблему, о которой я раньше не задумывался. Он издавал высокочастотный шум. Пока плата лежала на столе — это не было проблемой, но при совершении звонка я слышал этот звук.

Для питания экрана мне требовалось 3.3V. Это осуществлялось при помощи DC-DC конвертера PAM2305 (“Hand1_VoltReg1”). Опять же, это очень простое устройство и оно требует для работы только наличия индуктора (“Hand1_L2”). Конденсатор “Hand1_C3” нужен для стабилизации напряжения.

Кнопки

Кнопки работали хорошо в версии с макетной платой. Я надеялся, что то же самое будет и с печатной платой, но всё оказалось не так просто. Во-первых, из-за того, что соединения были другими, напряжение тоже поменялось. Мне пришлось перенастраивать эти значения в скрипте.

Я перенастроил сырые значения, в то время как UNO был подключен к компьютеру. С подключенным кабелем всё работало хорошо. После отключения кабеля кнопки тут же перестали работать. Почему? Я задал себе такой же вопрос.

Это очень интересная проблема. Мой конвертер на выходе имел 5.2V, но UNO ссылался на значения до 5.0V. Таким образом, напряжение последних двух кнопок было уже за пределами шкалы измерения (у обеих сырые значения были 1023). Другие кнопки можно было перенастроить и они бы заработали заново, но у меня не было возможности использовать кнопки “*” и “#”. На самом деле это не очень большая проблема, но мне есть над чем задуматься в следующий раз.

Фильтр

На других схожих проектах на микрофоне и динамике всегда находились фильтры. Понимая, для чего могут быть полезны фильтры, я не слишком задумывался и просто скопировал всё как есть. Оба фильтра почти одинаковые.

После сборки печатной платы я тут же обнаружил, что с динамиком происходит что-то странное. Он в принципе не работал. После того, как я убрал фильтр — он заработал. Что-то в управлении было спроектировано неверно и вызвало эти трудности. По крайней мере, это было моей ошибкой, и я учёл это.

Как оказалось, дизайн без фильтров работает достаточно хорошо, и для начала можно было не беспокоиться об этом.

Основная программа осталась той же, но сырые данные для кнопок нужно поменять на каждом устройстве. Главная проблема в коде связана с его основным циклом. Я планировал, что при нажатии кнопки “A” всё будет отменяться — если идёт входящий звонок, или я звоню, или я набрал чей-то номер, всё должно вернуться в начальное состояние. Но в реальности так не происходит и, чтобы отменить или закончить разговор, нужно выключить питание. Небольшая проблема в коде.

Для измерения напряжения на кнопках есть еще один набросок, на этот раз значения отображаются на экране 5110 Nokia.

Шаг 9: итоги

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

Несмотря на то, что мой дизайн содержал несколько ошибок и подводных камней, мне удалось модифицировать всё таким образом, чтобы телефон заработал.

Как сделать телефон который работает. Смотреть фото Как сделать телефон который работает. Смотреть картинку Как сделать телефон который работает. Картинка про Как сделать телефон который работает. Фото Как сделать телефон который работает

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *