Taula de continguts:
- Pas 1: traieu el marcatge del telèfon
- Pas 2: identifiqueu el commutador
- Pas 3: Feu el circuit
- Pas 4: desenvolupeu el codi
- Pas 5: comproveu que funciona
- Pas 6: enganxeu-lo a alguna cosa útil
Vídeo: Interfície d'un marcatge de telèfon rotatiu a un Arduino: 6 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:18
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
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
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
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
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
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:
Telèfon mòbil de marcatge rotatiu d'estil retro: 4 passos (amb imatges)
Telèfon mòbil de marcatge rotatiu d'estil retro: aquest projecte va ser impulsat per la necessitat pràctica i el desig de fer alguna cosa divertida. Com a la majoria de famílies modernes, vam deixar de tenir una "llar" real telèfon (amb cable) fa molts anys. En canvi, tenim una targeta SIM addicional associada a la nostra "vella" número de casa
Converteix un telèfon rotatiu en una ràdio i viatja a través del temps: 5 passos (amb imatges)
Converteix un telèfon rotatiu en una ràdio i viatja a través del temps: he piratejat un telèfon rotatiu en una ràdio. Agafeu el telèfon, trieu un país i una dècada i escolteu música fantàstica. Com funciona Aquest telèfon rotatiu té un microordinador integrat (un Raspberry Pi), que es comunica a radiooooo.com, una ràdio web. El
Control de volum de PC de marcatge telefònic vintage: 7 passos (amb imatges)
Control de volum de PC de marcatge telefònic vintage: si sou com jo, us trobareu canviant el volum de l'ordinador amb força freqüència. Alguns vídeos són més forts que d’altres, de vegades voleu que el volum estigui silenciat a l’ordinador mentre escolteu podcasts o música i és possible que hàgiu de
Interfície de qualsevol Arduino amb un telèfon mòbil: 6 passos (amb imatges)
Interfície de qualsevol Arduino amb un telèfon mòbil: quan utilitzeu un Arduino, pot resultar força molest no poder-lo fer servir només perquè no teniu un ordinador disponible. Potser el Windows o el Mac OS no són compatibles, no teniu cap equip o voleu més llibertat per a int
Interfície PIC del marcador rotatiu: 7 passos
Interfície rotativa de marcatge rotatiu: m'he trobat amb una gran quantitat de telèfons rotatius. De fet, són a tot arreu on miro. Amb l’esperança que algun dia en pugui veure menys, els he començat a desmuntar i a tornar a utilitzar les peces per a altres propòsits. Per alguna raó, el vaig posar al brai