Оглавление:

Интерфейс дискового переключателя телефона с Arduino: 6 шагов (с изображениями)
Интерфейс дискового переключателя телефона с Arduino: 6 шагов (с изображениями)

Видео: Интерфейс дискового переключателя телефона с Arduino: 6 шагов (с изображениями)

Видео: Интерфейс дискового переключателя телефона с Arduino: 6 шагов (с изображениями)
Видео: ТЕХНИКА БЕЗОПАСНОСТИ. Вид Грубейшего Нарушения ТРЕБОВАНИЙ ТБ при работе на СТАНКАХ. 2024, Июль
Anonim
Подключение поворотного телефонного диска к Arduino
Подключение поворотного телефонного диска к Arduino
Подключение поворотного телефонного диска к Arduino
Подключение поворотного телефонного диска к Arduino

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

Шаг 1. Снимите циферблат с телефона

Убрать циферблат с телефона
Убрать циферблат с телефона
Убрать циферблат с телефона
Убрать циферблат с телефона
Убрать циферблат с телефона
Убрать циферблат с телефона

Первый шаг - снять блок набора с телефона. Я использую какой-то телефон GPO 1970-х годов. На этом телефоне циферблат выскочил наружу - мне просто нужно было его потянуть. В противном случае вам, возможно, придется открыть телефон и решить, как его снять. К задней части блока набора номера было подключено пять кабелей. В моем телефоне это были обычные лопаточные соединения, поэтому я ослабил винты и вытащил их. Если вы хотите собрать телефон заново, не забудьте записать провод какого цвета к какому разъему идет.

Шаг 2. Определите коммутатор

Определите переключатель
Определите переключатель

Как только циферблат выключен, должно быть относительно легко увидеть, как циферблат преобразует вращательное движение в импульсы. Попробуйте покрутить циферблат вручную и понаблюдать за движением на спине. Вы должны увидеть, как переключатель быстро замыкает и размыкает цепь - поэтому, если вы наберете «9», переключатель должен сработать девять раз. Для тех из вас, кто, возможно, никогда раньше не пользовался поворотным переключателем, помните, что набор номера происходит только тогда, когда вы позволяете наберите номер и дайте ему вернуться обратно. Я задокументировал, как это работает для моего телефона, в примечаниях к фотографии ниже. Также есть размытое видео работы механизма.

Шаг 3: Сделайте схему

Сделайте схему
Сделайте схему
Сделайте схему
Сделайте схему

Как только вы найдете выключатель, который был собран и сломан, вы сможете определить соединения, проследив за проводами до соединительных клемм. В моем случае две стороны переключателя подключены к двум крайним левым клеммам. Подключите эти клеммы к некоторым перемычкам и получите прототип! Переключатель на моем циферблате всегда включен и ломается при каждом импульсе при наборе номера, поэтому я использовал очень простую схему, представленную ниже. Контакт 2 будет ВЫСОКИМ для каждого импульса при вращении шкалы. Когда телефон не набирается, переключатель в блоке набора замкнут (так называемый переключатель НОРМАЛЬНО ЗАКРЫТ по понятным причинам), поэтому схема соединяет контакт 2 с землей (который для Arduino имеет низкий уровень). Это связано с тем, что сопротивление резистора 470 Ом намного меньше, чем сопротивление резистора 10 кОм. Когда телефон набирает номер, переключатель быстро размыкается и замыкается (для 9 он будет размыкаться и замыкаться снова девять раз, помните). Когда переключатель разомкнут, контакт 2 не подключен к земле - вместо этого он подключен к источнику питания 5 В через сопротивление 10470 Ом. Это интерпретируется Arduino как ВЫСОКОЕ. Если на вашем циферблате есть переключатель НОРМАЛЬНО ОТКРЫТ, то поменяйте местами резистор 10 кОм и циферблат.

Шаг 4: Разработайте код

Разработать Кодекс
Разработать Кодекс

Теперь нам нужен код для Arduino для подсчета импульсов и отправки общего числа на набранный номер через последовательный порт. Мой код ниже. Поскольку здесь мы имеем дело с механикой, ваша может отличаться. Попробуйте поиграть с константой debounce и константой «сколько нам ждать, прежде чем предположить, что циферблат закончил вращаться». Я попытался прокомментировать это как можно аккуратнее. Надеюсь, это довольно просто. Int needToPrint = 0; int count; int in = 2; int lastState = LOW; int trueState = LOW; long lastStateChangeTime = 0; int cleared = 0; // constantsint dialHasFinishedRotatingAfterMs = 100; int debounceDelay = 10; void setup () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int чтение = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// набор номера не набирается или только что закончился набор. if (needToPrint) {// если набор только что закончился, нам нужно отправить номер по последовательной // строке и сбросить счетчик. Мы модифицируем счетчик на 10, потому что «0» отправит 10 импульсов. Serial.print (count% 10, DEC); needToPrint = 0; count = 0; очищено = 0; }} если (чтение! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - это происходит после стабилизации if (reading! = trueState) {// это означает, что переключатель только что перешел с закрытого-> открытого состояния или наоборот. trueState = чтение; if (trueState == HIGH) {// увеличиваем счетчик импульсов, если он стал высоким. count ++; needToPrint = 1; // нам нужно будет распечатать это число (когда циферблат закончит вращаться)}}} lastState = reading;}

Шаг 5: Убедитесь, что это работает

Убедитесь, что он работает, открыв окно последовательного порта (я использую screen на машине unix, возможно, вы захотите использовать Hyperterm или что-то подобное в Windows) и попробуйте набрать несколько номеров. Убедитесь, что программа последовательного порта настроена на чтение с USB- > последовательный адаптер в вашем Arduino (проверьте меню Tools-> Serial Port в программном обеспечении Arduino, если вы забыли, что это такое) и скорость передачи 9600 бит / с. Вы должны увидеть, как правильный номер появляется при его наборе.

Шаг 6: Подключите его к чему-нибудь полезному

Подключите это к чему-нибудь полезному!
Подключите это к чему-нибудь полезному!

Я придумал файл Quartz Composer на моем Mac, чтобы принимать входные данные и красиво отображать их на экране. Как только он появится в машине в виде последовательных данных, вы можете делать с ним все, что угодно. Жду ваших идей! Я придумываю видео об этом в действии и распечатываю числа на экране, как только смогу кого-нибудь найти. Держать камеру за меня - жаль, что у меня не было трех рук.

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