Cuprins:

Interfața unui apel telefonic rotativ cu un Arduino: 6 pași (cu imagini)
Interfața unui apel telefonic rotativ cu un Arduino: 6 pași (cu imagini)

Video: Interfața unui apel telefonic rotativ cu un Arduino: 6 pași (cu imagini)

Video: Interfața unui apel telefonic rotativ cu un Arduino: 6 pași (cu imagini)
Video: High Density 2022 2024, Iulie
Anonim
Interfață un apel telefonic rotativ cu un Arduino
Interfață un apel telefonic rotativ cu un Arduino
Interfață un apel telefonic rotativ cu un Arduino
Interfață un apel telefonic rotativ cu un Arduino

Un telefon rotativ vechi poate fi utilizat în mai multe scopuri în proiectele dvs. Arduino - utilizați-l ca un dispozitiv de intrare nou sau utilizați Arduino pentru a interfața un telefon rotativ cu computerul dvs. Acesta este un ghid foarte de bază care descrie modul de interfață a discului către un Arduino și obțineți numărul apelat trecut într-un computer prin link-ul serial al Arduino.

Pasul 1: Eliminați cadranul de pe telefon

Eliminați apelul de pe telefon
Eliminați apelul de pe telefon
Eliminați apelul de pe telefon
Eliminați apelul de pe telefon
Eliminați apelul de pe telefon
Eliminați apelul de pe telefon

Primul pas este să scoateți unitatea de apelare din telefon. Folosesc un fel de telefon GPO din anii 1970. Pe acest telefon, cadranul a ieșit direct - trebuia doar să-l trag. Dacă nu, este posibil să trebuiască să deschideți telefonul și să aflați cum să îl scoateți. Există cinci cabluri conectate la partea din spate a unității de apelare. Pe telefonul meu, acestea erau conexiuni regulate, așa că am slăbit șuruburile și le-am scos. Dacă doriți să vă reasamblați telefonul, nu uitați să înregistrați ce fir de culoare merge la ce conexiune.

Pasul 2: Identificați comutatorul

Identificați comutatorul
Identificați comutatorul

Odată ce cadranul este afară, ar trebui să fie relativ ușor să vedeți cum cadranul convertește mișcarea rotativă în impulsuri. Încercați să rotiți cadranul manual și să urmăriți mișcarea din spate. Ar trebui să vedeți un comutator care face și întrerupe rapid un circuit - deci, dacă formați „9”, comutatorul ar trebui să se acționeze de nouă ori. Mergeți numărul și lăsați-l să răsucească. Am documentat cum funcționează pentru telefonul meu în Notele fotografiei de mai jos. Există, de asemenea, un videoclip neclar cu mecanismul care funcționează.

Pasul 3: Faceți circuitul

Faceți circuitul
Faceți circuitul
Faceți circuitul
Faceți circuitul

Odată ce ați găsit comutatorul care este făcut și rupt, ar trebui să puteți identifica conexiunile urmărind cablurile înapoi la bornele conexiunii. În cazul meu, cele două părți ale comutatorului sunt conectate la cele două terminale din stânga. Conectați aceste terminale la niște fire jumper și obțineți prototipuri! Comutatorul din cadranul meu este întotdeauna pornit și este rupt pentru fiecare impuls la apelare, așa că am folosit circuitul foarte simplu de mai jos. Pinul 2 va merge HIGH pentru fiecare impuls pe măsură ce discul se rotește. Când telefonul nu este apelat, comutatorul din unitatea de apelare este închis (așa-numitul comutator ÎNCHIS NORMAL, din motive evidente), astfel încât circuitul conectează pinul 2 la masă (care la Arduino este LOW). Acest lucru se datorează faptului că rezistența este mult mai mică prin rezistența de 470 ohmi decât rezistența de 10 K. Când telefonul este format, comutatorul se deschide și se închide rapid (pentru un 9, se va deschide și se va închide din nou de nouă ori, amintiți-vă). Când comutatorul este deschis, pinul 2 nu este conectat la masă - în schimb este conectat la sursa de 5V printr-o rezistență de 10470 ohmi. Acest lucru este interpretat de Arduino ca fiind HIGH. Dacă cadranul dvs. are un comutator DESCHIS NORMAL, atunci schimbarea pozițiilor rezistorului 10K și cadranul ar trebui să facă truc.

Pasul 4: Elaborați codul

Elaborați codul
Elaborați codul

Acum avem nevoie de un cod pentru ca Arduino să numere impulsurile și să trimită numărul total pe număr apelat prin portul serial. Codul meu este mai jos. Deoarece avem de-a face cu mecanici aici, ai dvs. pot diferi. Încercați să jucați cu constanta de debounce și cu "cât timp așteptăm înainte să presupunem că cadranul a terminat de rotit" constantă. Am încercat să-l comentez cât de bine pot. Sperăm că este destul de simplu.int needToPrint = 0; int count; int in = 2; int lastState = LOW; int trueState = LOW; long lastStateChangeTime = 0; int cleared = 0; void setup () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int reading = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// apelantul nu este format sau tocmai a terminat de formatat. if (needToPrint) {// dacă tocmai s-a terminat de apelat, trebuie să trimitem numărul pe // linia de serie și să resetăm numărul. Modificăm numărul cu 10, deoarece „0” va trimite 10 impulsuri. Serial.print (numărare% 10, DEC); needToPrint = 0; număr = 0; compensat = 0; }} if (reading! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - acest lucru se întâmplă odată ce este stabilit dacă (reading! = trueState) {// asta înseamnă că comutatorul fie a trecut de la închis-> deschis, fie invers. trueState = citire; if (trueState == HIGH) {// crește numărul de impulsuri dacă a crescut. conta ++; needToPrint = 1; // va trebui să imprimăm acest număr (odată ce rotirea a fost terminată)}}} lastState = reading;}

Pasul 5: Verifică funcționează

Verificați dacă funcționează deschizând o fereastră serială (folosesc ecranul pe o mașină unix, poate doriți să utilizați Hyperterm sau similar pe Windows) și încercați să formați unele numere. Asigurați-vă că programul serial este setat să citească de pe USB- > adaptor serial în Arduino (verificați meniul Instrumente-> Port serial în software-ul Arduino dacă uitați ce este) și o rată de transmisie de 9600 bps. Ar trebui să vedeți numărul corect care apare atunci când este format.

Pasul 6: Cuplați-l în ceva util

Cuplați-l în ceva util!
Cuplați-l în ceva util!

Am venit cu un fișier Quartz Composer pe Mac-ul meu pentru a prelua intrarea și a o reda frumos pe ecran. Odată ce sunt în mașină ca date seriale, puteți face orice cu ea. Așteptând să vă aud ideile! Am să vin cu un videoclip cu „în acțiune” și să tipăresc numerele pe ecran imediat ce pot obține pe cineva să țin camera pentru mine - mi-aș dori să am trei mâini.

Recomandat: