Taula de continguts:

Interfície d'un marcatge de telèfon rotatiu a un Arduino: 6 passos (amb imatges)
Interfície d'un marcatge de telèfon rotatiu a un Arduino: 6 passos (amb imatges)

Vídeo: Interfície d'un marcatge de telèfon rotatiu a un Arduino: 6 passos (amb imatges)

Vídeo: Interfície d'un marcatge de telèfon rotatiu a un Arduino: 6 passos (amb imatges)
Vídeo: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Juliol
Anonim
Interfície d'un marcatge de telèfon rotatiu a un Arduino
Interfície d'un marcatge de telèfon rotatiu a un Arduino
Interfície d'un marcatge de telèfon rotatiu a un Arduino
Interfície d'un marcatge de telèfon rotatiu a un Arduino

Un telèfon rotatiu antic es pot utilitzar per a diversos propòsits en els vostres projectes Arduino: utilitzeu-lo com a nou dispositiu d’entrada o utilitzeu l’Arduino per connectar un telèfon rotatiu a l’ordinador. Aquesta és una guia molt bàsica que descriu com connectar el dial a un Arduino i obtenir el número marcat que es transmet a un ordinador a través de l'enllaç serial de l'Arduino.

Pas 1: traieu el marcatge del telèfon

Traieu el marcatge del telèfon
Traieu el marcatge del telèfon
Traieu el marcatge del telèfon
Traieu el marcatge del telèfon
Traieu el marcatge del telèfon
Traieu el marcatge del telèfon

El primer pas és treure la unitat de marcatge del telèfon. Estic fent servir un telèfon GPO d’alguna mena de la dècada dels 70. En aquest telèfon, el dial apareixia directament, només calia tirar-lo. Si no ho fa, és possible que hagueu d’obrir el telèfon i esbrinar com treure’l. Hi havia cinc cables connectats a la part posterior de la unitat de marcatge. Al meu telèfon, es tractava de connexions de pala regulars, de manera que vaig afluixar els cargols i els vaig treure. Si voleu tornar a muntar el telèfon, recordeu de gravar quin cable de color va a quina connexió.

Pas 2: identifiqueu el commutador

Identifiqueu el commutador
Identifiqueu el commutador

Un cop esgotat el dial, hauria de ser relativament fàcil veure com el dial converteix el moviment rotatiu en polsos. Proveu de girar el dial a mà i observeu el moviment a la part posterior. Hauríeu de veure un commutador que fa i trenca un circuit ràpidament; per tant, si marqueu "9", el commutador hauria d'engegar-se nou vegades. aneu al número i deixeu-lo enrere. He documentat el funcionament del meu telèfon a les notes de la foto següent. També hi ha un vídeo borrós del mecanisme que funciona.

Pas 3: Feu el circuit

Feu el circuit
Feu el circuit
Feu el circuit
Feu el circuit

Un cop hàgiu trobat el commutador que es fa i es trenca, hauríeu de poder identificar les connexions seguint els cables cap als terminals de connexió. En el meu cas, els dos costats de l’interruptor estan connectats als dos terminals que hi ha més a l’esquerra. L'interruptor del meu dial sempre està activat i es trenca per cada pols quan marco, de manera que he utilitzat el circuit molt senzill que hi ha a continuació. El pin 2 anirà ALTA per a cada pols a mesura que giri el dial. Quan no es marca el telèfon, l'interruptor de la unitat de marcatge es tanca (un interruptor anomenat NORMALMENT TANCAT, per motius obvis), de manera que el circuit connecta el pin 2 a terra (que a l'Arduino és BAIX). Això és degut a que la resistència de 470 ohms té molta menys resistència que la resistència de 10 K. Quan es marca el telèfon, l’interruptor s’obre i es tanca ràpidament (per un 9, s’obrirà i es tancarà de nou nou vegades, recordeu). Quan l'interruptor està obert, el pin 2 no està connectat a terra, sinó que es connecta a l'alimentació de 5V mitjançant una resistència de 10470 ohms. Això és interpretat per Arduino com un HIGH. Si el vostre dial té un commutador NORMALMENT OPEN, canvieu les posicions de la resistència 10K i el dial hauria de fer el truc.

Pas 4: desenvolupeu el codi

Desenvolupeu el codi
Desenvolupeu el codi

Ara necessitem algun codi perquè l’Arduino compti els impulsos i enviï el número total per número marcat a través del port sèrie. El meu codi és a continuació. Com que aquí estem tractant de mecànics, els vostres poden variar. Proveu de jugar amb la constant de rebounce i el "quant de temps esperem abans de suposar que el dial ha acabat de girar" constant. He intentat comentar-ho tan bé com puc. Tant de bo sigui bastant simple.int needToPrint = 0; int count; int in = 2; int lastState = LOW; int trueState = LOW; long lastStateChangeTime = 0; int cleared = 0; // constantsint dialHasFinishedRotatingAfterMs = 100; configuració nul·la () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int reading = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// no s’està marcant el marcatge o s’acaba de marcar. if (needToPrint) {// si només s'acaba de marcar, hem d'enviar el número a la línia // de sèrie i restablir el recompte. Modifiquem el recompte per 10 perquè '0' enviarà 10 impulsos. Serial.print (compte% 10, DEC); needToPrint = 0; compte = 0; netejat = 0; }} if (reading! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - això passa un cop s'estableix if (reading! = trueState) {// això significa que el commutador ha acabat de tancar-> obert o viceversa. trueState = lectura; if (trueState == HIGH) {// incrementa el recompte de pulsacions si ha augmentat. comptar ++; needToPrint = 1; // haurem d'imprimir aquest número (un cop s'hagi acabat de girar)}}} lastState = reading;}

Pas 5: comproveu que funciona

Comproveu que funcioni obrint una finestra de sèrie (faig servir la pantalla en una màquina Unix, potser voldreu fer servir Hyperterm o similar al Windows) i proveu de marcar alguns números. > adaptador de sèrie al vostre Arduino (consulteu el menú Eines-> Port sèrie del programari Arduino si oblideu què és) i una velocitat en bauds de 9600 bps. Haureu de veure el número correcte a mesura que es marca.

Pas 6: enganxeu-lo a alguna cosa útil

Enganxa-ho a alguna cosa útil
Enganxa-ho a alguna cosa útil

Vaig trobar un fitxer Quartz Composer al meu Mac per agafar l'entrada i mostrar-la molt bé a la pantalla. Un cop estigueu a la màquina com a dades de sèrie, podeu fer-hi qualsevol cosa. Esperant escoltar les vostres idees. Us presentaré un vídeo "en acció" i imprimiré els números a la pantalla tan aviat com pugui aconseguir algú per agafar-me la càmera, voldria tenir tres mans.

Recomanat: