Открыть список
Как стать автором
Обновить

Модернизация телефона старого образца(телефон рулетка).

Программирование микроконтроллеров

Суть(цель?) проекта


— На тот момент это был проект для областных соревнований по радиоэлектронике и радиоконструированию.

Далее по списку:
— Выбрать идею — модернизация телефона.
— Создать устройство на базе микроконтроллера семейства PIC16.
— Более лучшее изучение языка ASM а так же Си.
— Создать юзабельный аппарат через который можно будет звонить.
— что нибуть еще =)

Точнее, суть модернизации телефона заключается в следующем — привести в человеческий вид старый телефон с барабаном — наборником, заменить всю лицевую панель. И на нее воткнуть клавиатуру 4х4 и дисплей 20x4. Подключить и собрать так что бы работало.

Что нам нужно?



Во первых надо знать что мы можем. из этого и исходить, на тот момент я владел контроллерами PIC12/16 и остановил свой выбор на PIC16F877A.

Программатор отладчик ICD2 болгарского производства ~2.5к рублей. Прошу заметить что работает и в MPLAB нативной программы для виндовз а так же в Piklab на Linux через USB



Даташит на контроллер, который будет использован в устройстве можно найти тут microchip

Обычный пластиковый DIP40 корпус(на керамику денег жалко)
Задаем вопрос почему DIP40?
— Во первых нам нужно обеспечить проверку кнопок, а у нас клавиатура 4х4 — в нашем случае, один порт контроллера уже занят.
— Во вторых, нам нужно подключить дисплей 20х4 а там 16 контактов для управления.
— В третьих так же нужно чем то будет набирать номер, взонить, мигать, системные светодиоды внутри корпуса.
— Ну и «Запас карман не тянет».

Можно было бы конечно посадить дисплей и клавиатуру на один порт но на тот момент у меня проект «горел», так что это был идеальный выбор.

Немного о дисплее, использовался дисплей 4 строки на 20 символов в каждой, даташит на дисплей можно посмотреть тут 20х4 LCD
Скажу что это легкий в освоении дисплей.(не то что точечный с которым недавно возился)

Еще нам понадобится немного рассыпухи помимо дисплея и контроллера =) а, ну да, еще немного мозга и свободного времени.

Поехали! (с)



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

из него было удалено все лишнее, и смотрелось это примерно так:



Затем была разработана схема и изготовлена плата.
Плата изготовлена способом типа «карандаш» :) т.е. идете в магазин, там покупаете маркер со спец лаком, и рисуете дорожки от руки, ну а потом травите как обычно.
Разворот платы (т.е. дорожки) можно тоже понаблюдать



Вобщем после того как мы все напаяли, и подготовили это должно выглядеть так или лучше :)



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



Проверяем сборку нашего устройства, и закрываем/включаем и смотрим что у нас получилось, у меня вот что



Общий вид собраного устройства



Назначения кнопок


— 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 — как обычно
— * — это подсветка
— самая правая верхняя — «mute»

Распиновка контактов для клавиатуры



Клавиатура стандартная, фронтальный вид.

1................2................3................()
4................5................6................()
7................8................9................()
*................0................#................()

.........RC0..RC1..RC2..RC3..RC4..RC5..RC6..RC7.......


А еще я не поленился восстановить принципиальную схему по плате и прошивке.
Делал как можно юзабельнее, поэтому выполнил ее в sPlan 6.0
— Скачать не установленный splan
— Скачать установленый splan там я правил либы некоторые + схема там же splan
— У кого уже есть эта программа может скачать просто схему
— Кому лень/нету программы может посмотреть изображение схемы :)



Теперь я расскажу всякие штучки, какие у него есть

— Аппарат работает от сети телефонной + питание (да это плохо)
— Имеет режим «без звука»
— Имеет режим «отключить/включить подсветку»
— имеет режим городского набора
— имеет режим междугороднего набора
— у него классный дисплей =) а если еще туда воткнуть синюю подсветку будет вообще шик!
— юзабельная клавиатура для набора номера, не то что рулетка эта…
— пикает при нажатии =)
— в версии асма некое подобие мелодии, в Си просто пикает при входящем звонке =)

Теперь пару слов о прошивках

ASM


В асмовской прошивке аццки много кода, да. зато есть то чего нет в Сишной к примеру
— при входящем звонке там анимация небольшая на дисплее крутится,
— там корректно работает счетчик разговора(входящего)
— помойму там остался счетчик пропушенных звонков =)

Си


Когда писал сишную прошивку то разделил все на части, там много файлов, что бы легче было править
Для чего на Си ее писал так и не пойму, но помойму хотел сделать лучше но не допилил =)
но, тут есть такие фичи как
— Отключение/включение подсветки
— Режим «без звука»
— улучшеная работа с междугородними номерами
— неудачная попытка сделать redial =)

прошивки можно скачать тут же:

Асм прошивка
Си прошивка от блин, хабр съедает буквы — для скачки сишной название файла — Telefon( C ).tar.bz2 (без пробелов в скобках)

Шина на дисплей на схеме пронумерована, подключать соответственно.

Не исключено что в востановленной мною схеме есть ошибки, но вроде правильно делал, но чуть не помер(сложно рисовать схемы «наоборот»)

Что касается дисплея, значит, это BC2004GPLCH фирмы Bolymin QC OC 060711
МЭЛТ мне не нравятся тем, что у них «застекольный слой» слишком зеленый. Даташит на дисплей выше в статье.

По просьбе трудящихся сделаем блог программирования МК как только кармы хватит :)

п.с. если не увидите картинок — значит сервер таки лег :)
Теги:телефонмоддингпрограммированиеasmСидевайсы
Хабы: Программирование микроконтроллеров
Всего голосов 98: ↑93 и ↓5 +88
Просмотры10K

Комментарии 52

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

Похожие публикации

Лучшие публикации за сутки