Sommario:

Interfaccia una manopola telefonica con un Arduino: 6 passaggi (con immagini)
Interfaccia una manopola telefonica con un Arduino: 6 passaggi (con immagini)

Video: Interfaccia una manopola telefonica con un Arduino: 6 passaggi (con immagini)

Video: Interfaccia una manopola telefonica con un Arduino: 6 passaggi (con immagini)
Video: Control ANY Grow Light With AC Infinity Controller 69! 3 Ways! 2024, Novembre
Anonim
Interfaccia una manopola telefonica con un Arduino
Interfaccia una manopola telefonica con un Arduino
Interfaccia una manopola telefonica con un Arduino
Interfaccia una manopola telefonica con un Arduino

Un vecchio telefono rotante può essere utilizzato per una serie di scopi nei tuoi progetti Arduino: usalo come un nuovo dispositivo di input o usa Arduino per interfacciare un telefono rotante al tuo computer. Questa è una guida molto semplice che descrive come interfacciare il quadrante ad un Arduino e ottenere il numero composto passato in un computer tramite il collegamento seriale di Arduino.

Passaggio 1: rimuovere il quadrante dal telefono

Rimuovere il quadrante dal telefono
Rimuovere il quadrante dal telefono
Rimuovere il quadrante dal telefono
Rimuovere il quadrante dal telefono
Rimuovere il quadrante dal telefono
Rimuovere il quadrante dal telefono

Il primo passo è rimuovere l'unità di composizione dal telefono. Sto usando un telefono GPO di qualche tipo degli anni '70. Su questo telefono, il quadrante è uscito direttamente - avevo solo bisogno di dargli uno strattone. In caso contrario, potrebbe essere necessario aprire il telefono e capire come toglierlo. C'erano cinque cavi collegati al retro dell'unità di composizione. Sul mio telefono, questi erano normali collegamenti a forcella, quindi ho allentato le viti e le ho tirate fuori. Se vuoi riassemblare il tuo telefono, ricordati di registrare quale filo di colore va a quale connessione.

Passaggio 2: identificare l'interruttore

Identificare l'interruttore
Identificare l'interruttore

Una volta che il quadrante è fuori, dovrebbe essere relativamente facile vedere come il quadrante converte il movimento rotatorio in impulsi. Prova a girare il quadrante a mano e osservando il movimento sul retro. Dovresti vedere un interruttore che crea e interrompe rapidamente un circuito, quindi se componi "9", l'interruttore dovrebbe attivarsi nove volte. Per quelli di voi che potrebbero non aver mai usato un quadrante rotante prima - ricordate che la composizione avviene solo quando lasciate vai al numero e lascialo scorrere indietro. Ho documentato come funziona per il mio telefono nelle note della foto qui sotto. C'è anche un video sfocato del meccanismo in funzione.

Passaggio 3: crea il circuito

Fai il circuito
Fai il circuito
Fai il circuito
Fai il circuito

Una volta trovato l'interruttore che è stato creato e rotto, dovresti essere in grado di identificare le connessioni seguendo i fili fino ai terminali di connessione. Nel mio caso, i due lati dell'interruttore sono collegati ai due terminali più a sinistra. Collega questi terminali ad alcuni ponticelli e inizia la prototipazione! L'interruttore nel mio quadrante è sempre acceso ed è rotto per ogni impulso durante la composizione, quindi ho usato il circuito molto semplice di seguito. Il pin 2 andrà ALTO per ogni impulso mentre il quadrante ruota. Quando il telefono non viene composto, l'interruttore nell'unità di composizione è chiuso (un cosiddetto interruttore NORMALMENTE CHIUSO, per ovvi motivi) quindi il circuito collega il pin 2 a massa (che per Arduino è BASSO). Questo perché c'è molta meno resistenza attraverso il resistore da 470 ohm rispetto al resistore da 10K. Quando il telefono viene composto, l'interruttore si apre e si chiude rapidamente (per un 9, si aprirà e si chiuderà di nuovo nove volte, ricorda). Quando l'interruttore è aperto, il pin 2 non è collegato a massa, ma è collegato all'alimentazione a 5 V tramite una resistenza di 10470 ohm. Questo viene interpretato da Arduino come ALTO. Se il tuo quadrante ha un interruttore NORMALMENTE APERTO, scambiare le posizioni del resistore da 10K e il quadrante dovrebbe fare il trucco.

Passaggio 4: sviluppare il codice

Sviluppa il codice
Sviluppa il codice

Ora abbiamo bisogno di un codice per l'Arduino per contare gli impulsi e inviare il numero totale per numero composto attraverso la porta seriale. Il mio codice è sotto. Dato che qui abbiamo a che fare con la meccanica, la tua potrebbe differire. Prova a giocare con la costante antirimbalzo e la costante "quanto tempo aspettiamo prima di presumere che il quadrante abbia finito di ruotare". Ho cercato di commentarla nel modo più ordinato possibile. Si spera che sia abbastanza semplice.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 reading = digitalRead(in); if ((millis() - lastStateChangeTime) > dialHasFinishedRotatingAfterMs) { // il quadrante non viene composto o ha appena terminato di essere composto. if (needToPrint) { // se ha appena finito di essere composto, dobbiamo inviare il numero lungo la // linea seriale e azzerare il conteggio. Modifichiamo il conteggio di 10 perché '0' invierà 10 impulsi. Serial.print(count % 10, DEC); bisognoToPrint = 0; conteggio = 0; cancellato = 0; } } if (lettura != lastState) { lastStateChangeTime = millis(); } if ((millis() - lastStateChangeTime) > debounceDelay) { // debounce - questo accade una volta stabilizzato if (reading != trueState) { // questo significa che l'interruttore è appena passato da closed->open o viceversa. trueState = lettura; if (trueState == HIGH) { // incrementa il conteggio degli impulsi se è aumentato. contare++; bisognoToPrint = 1; // dovremo stampare questo numero (una volta che il quadrante ha finito di ruotare) } } } lastState = reading;}

Passaggio 5: verifica che funzioni

Verifica che funzioni aprendo una finestra seriale (uso lo schermo su una macchina unix, potresti voler usare Hyperterm o simili su Windows) e prova a comporre alcuni numeri. Assicurati che il programma seriale sia impostato per leggere dall'USB- > adattatore seriale nel tuo Arduino (controlla il menu Strumenti-> Porta seriale nel software Arduino se dimentichi di cosa si tratta) e una velocità di trasmissione di 9600 bps. Dovresti vedere apparire il numero corretto mentre viene composto.

Passaggio 6: aggancialo a qualcosa di utile

Collegalo a qualcosa di utile!
Collegalo a qualcosa di utile!

Ho creato un file Quartz Composer sul mio Mac per prendere l'input e renderlo piacevolmente sullo schermo. Una volta che è nella macchina come dati seriali, puoi farci qualsiasi cosa. In attesa di sentire le tue idee! Farò un video "in azione" e stamperò i numeri sullo schermo non appena riesco a trovare qualcuno tenere la fotocamera per me - vorrei avere tre mani.

Consigliato: