Taula de continguts:

Interfície PIC del marcador rotatiu: 7 passos
Interfície PIC del marcador rotatiu: 7 passos

Vídeo: Interfície PIC del marcador rotatiu: 7 passos

Vídeo: Interfície PIC del marcador rotatiu: 7 passos
Vídeo: Загадка Титаника : Как они могли не заметить айсберг?! Самая подробная история! 2024, Desembre
Anonim
Interfície PIC del marcador rotatiu
Interfície PIC del marcador 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 vegi menys, he començat a desmuntar-los i a tornar a utilitzar les peces per a altres propòsits.

Per alguna raó, vaig tenir al cervell que la interfície del control rotatiu amb un xip PIC seria una bona idea. En aquest moment només se m’acudeixen uns quants usos vagos i cap d’ells no és particularment útil, però espero fer alguna cosa divertida amb això en el futur.

Pas 1: aneu a buscar coses

Aneu a buscar coses
Aneu a buscar coses

Necessitareu: 1 - Telèfon rotatiu 3 - Resistències de 220 ohmis 2 - Condensadors 0,1uF 2 - Resistència de 20 K (pot substituir qualsevol cosa entre 10 K i 47 K) 2 - LEDs1 - Tauler de desenvolupament PIC (he utilitzat l'entorn de desenvolupament Micro Basic) 1 - Resonador de 20 MHz o crystal1 - Taula de pa1 - Font d'alimentació 5V1 - Un peu més o menys de filferro de connexió1 - Tornavís1 - Decapant

Pas 2: disseccioneu el telèfon

Disseccionar el telèfon
Disseccionar el telèfon
Disseccionar el telèfon
Disseccionar el telèfon
Disseccionar el telèfon
Disseccionar el telèfon

Obriu el telèfon rotatiu. A l'interior notareu les poques parts bàsiques; el dial rotatiu, el timbre de trucada, dues preses, l'interruptor de ganxo i els circuits bàsics que solen incloure's en una caixa de connexions metàl·liques.

Hi haurà quatre cables que aniran des del marcador rotatiu fins a aquesta caixa de connexions. Els cables s’han de mantenir al seu lloc amb poc més de cargols tensats. Afluixeu els cargols i desconnecteu els cables. Després, desconnecteu el marcador rotatiu del propi telèfon.

Pas 3: determinar què fan els cables

Determineu què fan els cables
Determineu què fan els cables
Determineu què fan els cables
Determineu què fan els cables

Connecteu dos LEDs tal com es mostra al diagrama següent.

Els dos cables blancs haurien de ser el parell que tanca l’interruptor que us permetrà saber quan es gira el dial. El cable blau i verd hauria de ser el parell que us permeti saber quin número s’ha marcat. Com a tal, quan gireu el dial, el LED connectat als cables blancs s’hauria d’encendre i, quan deixeu anar el dial, el LED connectat als cables verds i blaus hauria d’encendre i apagar-se tantes vegades com el número que marcat (veure vídeo). Per exemple, si marqueu 8, el LED connectat al cable verd i blau s’apagarà i s’encendrà 8 vegades. Això passa perquè una manera de marcar un número de telèfon és trencar ràpidament la connexió el nombre de vegades del dígit que intenteu marcar. Així, de nou, per marcar un 8 hauríeu de trencar ràpidament la connexió 8 vegades.

Pas 4: connecteu el marcador al xip PIC

Connecteu el marcador al xip PIC
Connecteu el marcador al xip PIC
Connecteu el marcador al xip PIC
Connecteu el marcador al xip PIC

Connecteu el marcador rotatiu al xip PIC tal com es veu al diagrama. Tingueu en compte que estic llegint en l'estat del marcador rotatiu mitjançant el temps de RC. En altres paraules, el xip PIC compta el nombre de vegades que es necessita que es descarregui un condensador (que canvia quan s’afegeix resistència).

Aquí és on entra la resistència de 20K. Si afegiu això a l'entrada, es pot diferenciar clarament el senyal d'una connexió de commutador rotatiu tancat i obert.

Pas 5: munteu el codi

Muntar el codi
Muntar el codi

Per programar el xip, he utilitzat l'entorn de desenvolupament MBasic disponible a Basic Micro. MBasic, senzillament, és una variació de Basic dissenyada per utilitzar-se amb xips PIC. És fàcilment convertible en un llenguatge (universal) més universal. El codi determina essencialment quan algú ha girat el dial i després fa la detecció de vores al senyal (determinant les transicions de baixa a alta) fins que el dial retrocedeix al seu estat inicial. Després de comptar el nombre de vegades que mesura una transició de senyal, llavors parpelleja el LED en conseqüència. Per exemple, si marqueu 3, el PIC comptarà tres transicions de baix a alt i després parpellejarà un LED 3 vegades. El LED, com és possible que hagueu deduït, no és necessari perquè funcioni i només està allà per donar-vos informació visible. Podeu substituir qualsevol dispositiu de sortida que considereu necessari. ********************* Aquí teniu un codi: ********************* CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0sets / resets valueshigh B2rctime B2, 1, startcountincountclicks = 0if startcountin> 10 then go pass countup passa a la subrutina si té un 'compte principal' ================: alt B1rctime B1, 1, clacker'sets compara valuegoto countmeuploop '=========== ===== countmeuploop: high B1rctime B1, 1, clicker'checks counting valuelargefig = clacker + 100 estableix un valor per al llindar que serà més gran que 0, però inferior als possibles valors pin-highif largefig <clicker thencountclicks = countclicks + 1endif'afegeix 1 valor cada vegada que es registra una transició de menor a més alta B2rctime B2, 1, startcountinif startcountin <10 thenif countclicks> 0 thengoto blinkelsegoto mainendifendif'verifica si el dial ha retrocedit al seu i estat nitial: si té un número marcat, es dirigeix a la rutina LED; en cas contrari, si no s'ha marcat cap número, passa a mainclacker = clicker restableix el valor de comparació al valor actual del pin. ! '================ parpelleig: repvar = repvar + 1' compta cada repetició d'aquesta rutina alta B3pausa 1000baixa B3pausa 1000 'parpelleja el LEDif repvar = countclicks thenrepvar = 0goto mainendif'if les repeticions són iguals al nombre de vegades que el LED ha de parpellejar; llavors torna al parpelleig de rutina principal

Pas 6: proves

Proves
Proves

Si ho feu tot igual que jo, hauria de funcionar (veure vídeo).

Si no funciona, assegureu-vos que heu connectat tot correctament i que el codi es copia correctament. A més, assegureu-vos que el vostre ressonador (o cristall) sigui de 20 MHz. Si heu escrit el vostre propi codi, assegureu-vos que no hi hagi pauses a la rutina que comprovi si hi ha transicions de baix a alt.

Pas 7: aneu més enllà

Anar més enllà
Anar més enllà

Esbrineu algun altre tipus d’ús per al dial rotatiu que no sigui el parpelleig d’un LED.

Recomanat: