Крутая мобила своими руками
У настоящего сурового гика должена быть реально крутая мобила, способная только одним своим видом вызывать взрыв мозга у окружающих. Поэтому лезь на антресоль и доставай оттуда старый дисковый агрегат, доставшийся тебе от бабушки. Сейчас мы сделаем ему тотальный апгрейд и вернем вечную молодость. если у тебя та кого девайса не осталось, то потряси друзей, соседей и прочих несознательных личностей, которые согласятся расстаться с этой шайтан машиной (Рекомендую поискать на молотке, — прим. ред.). главное, не говори им истинных целей, а то зажмотят и себе сделают. постарайся найти телефон подревнее и пострашнее. в идеале, с эбонитовым корпусом и прямым проводом до трубки (в «матрице» та кой был). Эти агрегаты производились в 50-60 гг, так что «антуражности» им не за ни мать. Эстеты и извращенцы могут повесить таксофон за спину. заодно и рюкзак не потребуется :).
СКРЕЩИВАЕМ ЕЖА С УЖОМ
Конечно, мотаться по мегаполису, разматывая за собой многокилометровую бобину провода — это круто и дешево, но та ко го уровня просветления не достиг даже я. поэтому и реализацию предлагаю более простую чтобы одним только видом внушать страх и ужас окружающим, будем интегрировать в сотовую сеть найденный тобой в загашнике дисковый телефон. проще всего это сделать посредством обычного мобильного телефона, который мы радостно принесем в жертву. Будем делать девайс на подручном материале. Возьмем какую-нибудь отсталую мобилку, вроде Motorola C118 и выпотрошим ее как следует, а затем скрестим с дисковым собратом. Для начала надо прикинуть фронт работ. Как видишь, у нас тут одна проблема: у совкового телефона — диск, а на сотовом кнопки, поэтому напрямую подключиться никак. придется городить переходник. была задумка по-быстрому сработать что-нибудь на дискретных микросхемах-счетчиках. Но позже, поразмыслив, я закинул эту идею подальше. Тут одной микросхемой точно не обойдешься, и схема получается громоздкой.
Куда проще и эффективней сделать все на микроконтроллере. так что, бегом в радиомагазин. Рекомендую atmega8 — полюбилась мне она. Также подойдет atmega48, atmega88 или atmega168 — модификации старой доброй «восьмерки» различаются только количеством наворотов и объемами памяти. Про граммка у нас будет небольшая, поэтому хватит любого объема памяти
ПОТРОШИМ ДЕДУШКУ
Вскрываем дисковый телефон и смотрим, как он устроен. В первую очередь нас интересуют диск и контакты, которые отвечают за снятие и подъем трубки. Все остальное можно смело отковырять и выкинуть, дабы не оттягивало руку клеммники могут пригодиться, поэтому просто отрежь от них дорожки теперь возьми тестер, переключи его в режим пищалки и прозвони контакты трубки. Нужно найти те, которые размыкаются при съеме трубки с рычага. У меня они засунуты в прозрачный корпус: даже тестер не потребовался — и та к все было видно открути провода диска от клеммника и разберись, какой из них за что отвечает. Можешь аккуратно разобрать сам дисковый механизм. по-хорошему, из диска должно выходить три или четыре провода (в случае трех проводов — один общий). в самом диске два контакта. один из них всегда замкнут и при вращении диска кратко размыкается. крутанул цифру «1» — разомкнулся один раз. Крутанул «5» — разомкнулся пять раз. Ну, а если крутанешь «ноль», то контакт отработает десять размыканий. для краткости буду называть его контакт «а». Второй контакт всегда разомкнут и за мы кается только тогда, когда проворачивается диск. Его обзовем контакт «б».

На этих контактах мы построим систему подсчета набранного номера алгоритм работы проги будет следующим. При снятии трубки счетная схема включается и ждет поворотов диска. При повороте замыкается «б», и микроконтроллер подсчитывает щелчки контакта «а». Как только контакт «б» разомкнется, то считаем, что одна цифра набрана — можно ждать следующей. чтобы определить, что номер набран, мы будем использовать простой цикл ожидания подсчитывать количество цифр нецелесообразно, та к как номера могут быть разной длины. Самое то — считать, что номер набран и можно звонить по прошествии двадцати секунд с набора последней цифры впрочем, двадцать секунд — это я навскидку сказал, можно сделать столько, сколько тебе нужно для комфортного набора без спешки пока неясен вопрос подключения схемы к сотовому телефону, но это мы сейчас поправим.
ВСКРЫВАЕМ МОБИЛУ
Для набора номера мы будем симулировать нажатия кнопок. Поэтому под наши грязные цели сгодится абсолютно любая мобила — лишь бы были кнопки чтобы понять, как нам провернуть эту хитрую операцию, надо влезть во чрево сотового телефона. Лично я взял самый стремный сотовый, какой смог найти в своих завалах — Motorola C118.
Аккуратно выкручиваю винтики и отжимаю защелки верхней крышки. Глазам предстают ровные ряды контактных площадок от кнопочек. Сами кнопки — это кольцевые контакты с пятачками внутри. Поверх них наклеивается на обычный скотч упругая чашечка. Когда кнопка давит на чашку, то чашка прогибается и замыкает пятачок на кольцо — вот и готово нажатие кнопки!
Нам нужно десять кнопок цифр, одна кнопка вызова абонента и одна кнопка сброса — итого одиннадцать кнопок.
Замыкать кнопки лучше всего через оптореле. Оптореле — это такая микросхемка, внутри которой находится светодиод и фототранзистор. если зажигается светодиод, то сопротивление фототранзистора резко падает, что можно сравнить с нажатием кнопки.
Используя оптроны, мы, во-первых, изолируем нашу схему с контроллером от схемы сотового телефона, которая работает на пониженном напряжении, а во-вторых, избавляемся от кучи паразитных связей, которые могут возникнуть в телефоне с подключением контроллера. А значит, сильно повышаем надежность за счет того, что сигнал от одной части оптрона к другой передается в виде обычного света, а не в виде электрических импульсов. Без оптических развязок телефон начинает резко тупить, самопроизвольно набирать цифры и звонить куда попало — сказываются наводки на схему, так как кнопки не предназначены для припаивания к ним проводов и реагируют на любой радиочастотный мусор, что болтается в эфире. Короче, оптроны — это проверенное временем промышленное решение.
Когда пойдешь покупать оптроны, можешь взять любое маломощное твердотельное реле. Например, я сделал на CpC1035n. другой вариант — отыщи уже знакомые тебе по статьям оптореле kaQY210 или kaQY214. Правда, эти оптореле стоят подороже, чем CpC1035n, а их нужно целых 13 штук. Но зато к ним не надо припаивать кусочки проволоки, чтобы впаять их на Dip-место.
Чтобы добраться до контактных пластинок, тебе потребуется аккуратно оторвать прозрачную пленку с пластинками. Если планируешь вернуть телефону прежнюю жизнь, то сохрани ее где-нибудь в укромном месте. я налепил ее на заднюю стенку крышки аккумулятора, чтобы не потерялась.
Теперь хватай мультиметр, включай его в режим тестера-пищалки и начинай прозванивать клавиатурную матрицу. дело в том, что клавиши сгруппированы по несколько штук, а значит, необязательно от каждой тащить до оптореле по два провода. достаточно одного общего и нескольких центральных — это резко сокращает число проводков.
У моей «моторолы» общий вывод был для клавиш 3-6-9, 1 -4-7, 0-8-5-2. Впрочем, если ты не хочешь заморачиваться, то тупо припаивай к каждой кнопке по два проводка и тащи их к замыкающим выводам оптрона чтобы не запутаться, сразу же подпиши на бумажке, какой проводок у тебя к чему идет и какая релюшка к какой ножке процессора подпаяна. А в программе, в разделе define.asm, расставь по портам, так как тебе нужно.
ПОДКЛЮЧАЕМСЯ К ТЕЛУ
Разогревай паяльник и зачищай проводки. Тебе потребуется паяльник с тонким жалом, поэтому старое дедушкино стоваттное лудило спрячь обратно под ванну. Раз уж начал баловаться радиоэлектроникой, то обзаведись радиомонтажным паяльником на 25-40 ватт. Смажь каждую контактную пластинку небольшим количеством флюса и, взяв на кончик жала небольшую каплю припоя, припаивай проводки. паяться будет плохо, предупреждаю сразу. Причин тут две: во-первых, позолоченное покрытие кнопок очень стремно паяется, а во-вторых, под кнопками располагается сплошной медный слой. в сотовом телефоне он служит экраном, защищая начинку от помех извне. при пайке эта мощная медная прослойка будет очень быстро оттягивать на себя тепло, охлаждая спай лучшая технология пайки таких проблемных устройств — все заранее подготовить, нанести флюс, подставить проводок, а потом одним хорошим касанием пришпандорить соплей припоя. главное, следи, чтобы не спаялись вместе соседние площадки — земля и сигнальная, иначе кнопка будет вечно нажатой. После пайки возьми кисточку и спиртом или ацетоном смой остатки флюса с кнопок.

Вывел проводки от кнопок? Отлично, обрежь их на длину сантиметров в десять. Больше не надо, чревато помехами. Меньше — можно, но припаивать их на плату будет неудобно
ПРОДУМЫВАЕМ БЛОК СВЯЗИ
Отлично, провода мы вывели. Дело за малым — подключить их к схеме управления и запрограммировать контроллер.
Блок связи должен представлять собой простейшую схему, где мы будем микроконтроллером подсчитывать набранные цифры, а потом нажимать через оптроны на кнопки сотового телефона. В качестве контроллера я взял то, что под руку попалось — atmega8 в Dip-корпусе. Та к как исходники я не зажимаю, то ты сможешь легко переделать программу под любой другой микроконтроллер на ядре avr. И так, смотри на схему и следуй за мыслью для начала лепим контроллер. Сам по себе он работать не будет, поэтому к нему надо подвести питание: плюс пять вольт и минус — он же земля или корпус. Не путай землю контроллера с землей сотового телефона они разделены между собой. Чтобы контроллер нормально за пустился нужно его вход reset подтянуть через резистор к +5 вольтам микроконтроллер будет зажигать светодиоды в оптических развязках, поэтому подключаем их катодами на минус, а анод, через резистор, заводим прямо на ножки порта.
О пришедшем звонке можно узнать по излюбленной мной технологии — повесить на виброзвонок оптрон, который замкнет контакт при входящем звонке. Логику работы реально сделать та кой, что после звонка схема тут же переходит на сканирование контакта снятия трубки. Как только мы снимаем трубу — жмет на принятие вызова. Хочу обратить внимание на блокировочные конденсаторы на всех контактах. Это обычные керамические кондеры на 33 нанофарады. Их предназначение — гасить наводки. Любой провод это, по сути, антенна, на которую наводятся из окружающего радио эфира разные хаотичные колебания. Чем длиннее провод, тем сильней он ловит мусор. Искра, зазвонившая рядом мобила, электромагнитные колебания от мощного трансформатора или электромагнитная волна могут навести в проводе небольшое напряжение. А контроллер — он же чувствительный и быстрый, он этот всплеск воспримет как полезный сигнал. Таким образом, из-за случайной наводки может произойти эффект поднятия трубки или приема звонка. У нас же все критические шумы по гасятся через конденсатор.
ПЕЧАТНАЯ ПЛАТА
Из-за моей нелюбви к бомжовым макетным платам тебе придется сразу изучать профессиональный подход и делать печатную плату. Надеюсь, ты уже изучил и освоил метод лазерного утюга, aka лут ? На крайний случай, если ты фанат ктулху то можешь сделать все на макетной плате, благо схема несложная. Не потребуется даже включать мозг — соединяй все проводками, как нарисова но, и будет тебе счастье.



УПРАВЛЯЮЩАЯ ПРОГРАММА
Раз мы применили контроллер, то нужна будет прошивка, куда же без нее. Она снабжена подробнейшими комментариями, а значит, тебе будет нетрудно в ней разобраться (по крайней мере, я на это надеюсь)
Опишу общий алгоритм работы. И так, в начальном положении, после включения питания, схема ждет поднятия трубки (как начала звонка) попутно проверяя реле на входящий звонок. Просто сканируем контакт на замыкание. как только замкнулся — все внимание на диск и считаем импульсы на контакте «а». начало счета импульсов определяем по замыканию контакта «б», конец — по е го размыканию. при этом надо не забывать отслеживать состояние контактора телефон ной трубки (ведь мы всегда можем ее пол ожить, та к и не набрав номер до конца) сосчитав импульсы, мы нажимаем соответствующую кнопку на телефоне. Обрати внимание, что тут есть дополнительная задержка на дребезг контактов. дело в том, что контакт замыкается не мгновенно. в течение считанных микросекунд он как бы прыгает под действием сил упругости но контроллер-то быстрый, поэтому одно, с в иду четкое, срабатывание может за считать за десяток. избежать этого можно при помощи небольшой задержки, которая переждет дребезжание и лишь потом перейдет к следующему подсчету. во время разговора мы мониторим лишь контакт трубки. как только трубку положили, коротко нажимаем на «сброс». если пришел вызов, то замкнется оптрон, питающийся от си гнала с виб-ромотора. Схема будет отслеживать поднятие трубки, после чего нажмет на «прием звонка». Очень просто: обычный конечный автомат и никаких премудростей
КОМПИЛЯЦИЯ И ПРОШИВКА
Компилируется все в avr Studio. Проект разбит на несколько кусков — инициализация, вектора прерываний, определения, макросы и, собственно, главная программа. Не забудь подключить их все. на выходе, в той же папке где и исходник, тебя будет ждать hex-файл, который можно сразу прошить в контроллер. О том, как прошить микроконтроллер упоминается сайте http://easyelectronics.ru
ВЫВОДИМ ЗВУК НАРУЖУ
Тут тоже есть два пути — легкий и сложный. Легкий — это купить самую дешевую проводную гарнитуру и распотрошить ее, выведя на микрофон и динамик трубки телефона. Разумеется, допотопный угольный микрофон и совковый динамик придется выкинуть и заменить на детали от гарнитуры, приклеив их двусторонним скотчем или приладив клеящим пистолетом. Но у меня не оказалось гарнитуры, а покупать было совершенно западло, да и громкость ее мало меня устраивал а, поэтому я решил вывести микрофон и динамик с сотового телефона. Благо, они там даже не припаяны — во всех мобилах, какие видел, эти две детали просто вынимаются, обнажая контакты. вот к ним-то мы и припаяемся а дальше все легко — провода сажаешь на провод, уходящий в трубку, и там припаиваешь оригинальные микрофон с динам и ком, также приклеивая их к корпусу. еще неплохо бы соблюдать полярность, то есть какой провод отрезал, с тем же концом он и должен соединиться после прохождения шнура до трубки.
Если у тебя в телефонную трубку уходит все го три жилы, то придется менять провод на четырехжильный. Непременно круглого сечения — черный и страшный, можно в тканевой обол очке. если же хочешь оставить провод пружин кой, то придется потрошить гарнитуру по первому способу — в гарнитуре используются три жилы
КОРМИМ ВКУСНО
В качестве +5 вольт можешь заюзать обычную батарейку или блок никель-металлогидридных аккумуляторов. Купи батарейную кассету на четыре батареи; если туда засунуть четыре аккумулятора по 1.2 вольта каждый, то они как раз дадут почти 5 вольт. Если собираешься юзать обычные батарейки, то возьми кассету на три батареи, та к как у обычной батарейки напряжение выше, чем у пальчикового аккума.
Микроконтроллер потребляет примерно 3 миллиампера, что даст более месяца непрерывной работы в активном режиме, а если применить в контроллере режим энергосбережения, то срок действия продляется на годы. Блок батарей за крепи внутри на клей или двусторонний скотч чтобы не болтался (места внутри телефона навалом) Разумеется, мобилу нужно иногда заряжать. в обычном режиме — раз в несколько дней, в зависимости от модели. Поскольку экранчик скрыт внутри, то уровень за ряда ты не увидишь. Определяйся по интуиции — впрочем, тебе никто не мешает сделать небольшое смотровое окно через которое будет видно мобильный телефон. главное, сделать это незаметно, можно, например, прорезать в дне, чтобы не портить антуражную вещь. также следует предусмотреть подключение извне за рядного устройства. Самый простой вариант — сделать дырку в корпусе, а сам телефон за крепить та к, чтобы можно было без проблем подключить провод. если хочешь сделать все скрытно и красиво, то обрежь штекер от зарядника и втыкай его в телефон. Обрезанный шнур штекера припаивай к любому удобному тебе разъему и выводи наружу к проводу, который идет непосредственно к трансформатору припаивай ответную часть разъема. получается незаметно и аккуратно. На случай, если мобила все же сядет и отрубится, надо вывести куда-нибудь кнопку, параллельную кнопке power, чтобы можно было врубить ее без проблем, не вскрывая корпус. Собственно, можешь считать, что девайс у тебя готов.

ВЗРЫВАЕМ МОЗГ ОКРУЖАЮЩИМ
Дальше начинаем форменный прикол. Вламываемся в гортранс и посреди пути, достав агрегат из сумки и поставив его на колени, начинаем накручивать диск, считывая номерок из винтажной записной книжки с кожаным переплетом. Выглядит просто потрясно — на род тихо фигеет, не понимая, что это было. Репутацию городского сумасшедшего за работаешь сразу. А если транспорт относительно тихий, вроде маршрутки стоящей в пробке, то окружающим будет слышен отголосок разговора твоего собеседника. И тут уже они засомневаются в своей адекватности для пуще го угара, можешь поставить на звонок мелодию из серии «old phone». тогда будет вообще натуралистично.
А потом, вдоволь наигравшись, можешь задарить девай с кому-нибудь в качестве прикольного и оригинального подарка. Либо бабушке в деревню, на всякий пожарный. Это будет проще, чем обучить ее пользоваться сотовым телефоном. Да и тяжело старикам пользоваться современными крошечными мобилками, с их-то зрением и не слушающимися руками.
Скачать прошивку и документацию [attachment=5]
Источник Хакер 10’2008