Оглавление:

Интерфейс PIC Rotary Dialer: 7 шагов
Интерфейс PIC Rotary Dialer: 7 шагов

Видео: Интерфейс PIC Rotary Dialer: 7 шагов

Видео: Интерфейс PIC Rotary Dialer: 7 шагов
Видео: Фишки Google Pixel. А вы знали?! 2024, Июль
Anonim
Интерфейс PIC Rotary Dialer
Интерфейс PIC Rotary Dialer

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

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

Шаг 1: Приобретите материал

Иди и принеси вещи
Иди и принеси вещи

Вам понадобятся: 1 - поворотный телефон 3 - резисторы 220 Ом 2 - конденсаторы 0,1 мкФ 2 - резистор 20 кОм (можно заменить что угодно от 10 кОм до 47 кОм) 2 - светодиоды 1 - плата разработки PIC (я использовал среду разработки Basic Micro) 1 - 20 МГц резонатор или кристалл1 - Макетная плата1 - Источник питания 5В1 - Около фута соединительного провода1 - Отвертка1 - Инструмент для зачистки проводов

Шаг 2: рассеките телефон

Рассеките телефон
Рассеките телефон
Рассеките телефон
Рассеките телефон
Рассеките телефон
Рассеките телефон

Откройте свой поворотный телефон. Внутри вы заметите несколько основных частей; поворотный переключатель, звонок, два разъема, рычажный переключатель и основные схемы, которые обычно заключены в металлическую распределительную коробку.

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

Шаг 3: Определите, что делают провода

Определите, что делают провода
Определите, что делают провода
Определите, что делают провода
Определите, что делают провода

Подключите два светодиода, как показано на схеме ниже.

Два белых провода должны быть парой, которая замыкает переключатель, который сообщает вам, когда диск повернут. Синий и зеленый провод должны быть парой, позволяющей узнать, какой номер был набран. Таким образом, когда вы поворачиваете циферблат, светодиод, подключенный к белым проводам, должен включаться, а когда вы отпускаете циферблат, светодиод, подключенный к синему и зеленому проводам, должен мигать столько раз, сколько вы набрал (см. видео). Например, если вы наберете 8, светодиод, подключенный к зеленому и синему проводу, погаснет и загорится 8 раз. Это происходит потому, что один из способов набора номера телефона - это быстро разорвать соединение столько раз, сколько раз набрать цифру, которую вы пытаетесь набрать. Итак, опять же, чтобы набрать 8, вам придется 8 раз быстро разорвать соединение.

Шаг 4: Подключите номеронабиратель к микросхеме PIC

Подключите номеронабиратель к микросхеме PIC
Подключите номеронабиратель к микросхеме PIC
Подключите номеронабиратель к микросхеме PIC
Подключите номеронабиратель к микросхеме PIC

Подключите дисковый номеронабиратель к микросхеме PIC, как показано на схеме. Обратите внимание, что я читаю в состоянии дискового набора номера с помощью RC-тайминга. Другими словами, микросхема PIC подсчитывает количество раз, которое требуется для разрядки конденсатора (которое изменяется при добавлении сопротивления).

Вот тут и пригодится резистор 20 кОм. Добавление его ко входу позволяет четко различать сигнал от замкнутого и разомкнутого соединения поворотного переключателя.

Шаг 5: Соберите код

Соберите код
Соберите код

Для программирования чипа я использовал среду разработки MBasic, доступную от Basic Micro. Проще говоря, MBasic - это вариант Basic, предназначенный для использования с микросхемами PIC. Его легко преобразовать в более универсальный (полезный) язык. Код, по сути, определяет, когда кто-то повернул циферблат, а затем определяет край сигнала (определяя переходы от низкого к высокому), пока циферблат не вернется в исходное состояние. После подсчета количества раз, когда он измеряет переход сигнала, он затем соответствующим образом мигает светодиодом. Например, если вы наберете 3, PIC посчитает три перехода от низкого к высокому, а затем мигнет светодиодом 3 раза. Светодиод, как вы, возможно, догадались, не нужен для его работы и нужен только для того, чтобы дать вам видимую обратную связь. Вы можете заменить любое устройство вывода, которое сочтете необходимым. ********************* Вот код: ********************* CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0 'устанавливает / сбрасывает значенияhigh B2rctime B2, 1, startcountincountclicks = 0, если startcountin> 10' проверяется, если проверяется число переходит в подпрограмму, если у нее есть goto main '================ countmeup: high B1rctime B1, 1, clacker'sets compare valuegoto countmeuploop' =========== ===== countmeuploop: high B1rctime B1, 1, clicker'checks counting valuelargefig = clacker + 100 'устанавливает значение для порога, которое будет больше 0, но меньше возможных значений pin-high if largefig <clicker thencountclicks = countclicks + 1 endif 'добавляет 1 значение каждый раз, когда записывается переход от низкого к высокому уровню B2 rctime B2, 1, startcountin, если startcountin <10 then if countclicks> 0 thengoto blinkelsegoto mainendifendif' проверяет, отскочил ли циферблат обратно в исходное положение. начальное состояние 'если он есть и был набран номер, он переходит в процедуру LED', в противном случае, если номер не был набран, он переходит в mainclacker = кликер устанавливает значение сравнения на текущее значение пина goto countmeuploop 'нет ВСЕГО пауз в этой процедуре ! '========== количество повторений равно количеству миганий светодиода, затем он возвращается к основной процедуре перейти к миганию

Шаг 6: Тестирование

Тестирование
Тестирование

Если вы сделали все так же, как я, должно работать (см. Видео).

Если это не сработает, убедитесь, что вы все правильно подключили и что код скопирован правильно. Также убедитесь, что ваш резонатор (или кристалл) составляет 20 МГц. Если вы написали свой собственный код, убедитесь, что в подпрограмме, проверяющей переходы от низкого к высокому, нет пауз.

Шаг 7: выходите за рамки

Иди за грань
Иди за грань

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

Рекомендуемые: