Tabla de contenido:

Interfaz PIC del marcador rotatorio: 7 pasos
Interfaz PIC del marcador rotatorio: 7 pasos

Video: Interfaz PIC del marcador rotatorio: 7 pasos

Video: Interfaz PIC del marcador rotatorio: 7 pasos
Video: 12.- CURSO MICROCONTROLADORES PIC - MANEJO DE PANTALLA LCD 16X2 2024, Mes de julio
Anonim
Interfaz PIC del marcador rotatorio
Interfaz PIC del marcador rotatorio

Me he encontrado con una gran cantidad de teléfonos de disco. De hecho, están en todas partes donde miro. Con la esperanza de que algún día pueda ver menos de ellos, comencé a desarmarlos y reutilizar las partes para otros fines.

Por alguna razón, se me ocurrió que la interconexión del control giratorio con un chip PIC sería una buena idea. Solo puedo pensar en un par de usos vagos para él en este momento y ninguno es particularmente útil, pero espero hacer algo bueno con esto en el futuro.

Paso 1: Ve a buscar cosas

Ve a buscar cosas
Ve a buscar cosas

Necesitará: 1 - Teléfono giratorio 3 - Resistencias de 220 ohmios 2 - Condensadores de 0,1 uF 2 - Resistencia de 20 K (puede sustituir cualquier cosa entre 10 K y 47 K) 2 - LED 1 - Placa de desarrollo PIC (utilicé el entorno de desarrollo Micro básico) 1 - Resonador de 20 MHZ o cristal1 - Placa de pruebas1 - Fuente de alimentación de 5 V1 - Un pie o más de cable de conexión1 - Destornillador1 - Pelacables

Paso 2: disecciona el teléfono

Diseccionar el teléfono
Diseccionar el teléfono
Diseccionar el teléfono
Diseccionar el teléfono
Diseccionar el teléfono
Diseccionar el teléfono

Abre tu teléfono de disco. En el interior notarás las pocas partes básicas; el dial giratorio, el timbre, dos enchufes, el interruptor de gancho y el circuito básico que generalmente está encerrado en una caja de conexiones de metal.

Habrá cuatro cables que van desde el marcador giratorio a esta cosa parecida a una caja de conexiones. Los cables deben mantenerse en su lugar con poco más de tornillos apretados. Afloje los tornillos y desconecte los cables. Después de eso, desconecte el marcador rotatorio del teléfono.

Paso 3: Determine qué hacen los cables

Determine lo que hacen los cables
Determine lo que hacen los cables
Determine lo que hacen los cables
Determine lo que hacen los cables

Conecte dos LED como se muestra en el diagrama a continuación.

Los dos cables blancos deben ser el par que cierra el interruptor que le permite saber cuándo se gira el dial. El cable azul y verde debe ser el par que le permita saber qué número se marcó. Como tal, cuando gira el dial, el LED conectado a los cables blancos debe encenderse, y cuando suelta el dial, el LED conectado a los cables azul y verde debe parpadear tantas veces como el número que usted marcado (ver video). Por ejemplo, si marca 8, el LED conectado al cable verde y azul se apagará y encenderá 8 veces. Esto sucede porque una forma de marcar un número de teléfono es interrumpir rápidamente la conexión la cantidad de veces para el dígito que está intentando marcar. Entonces, nuevamente, para marcar un 8, tendría que romper rápidamente la conexión 8 veces.

Paso 4: conecte el marcador al chip PIC

Conecte el marcador al chip PIC
Conecte el marcador al chip PIC
Conecte el marcador al chip PIC
Conecte el marcador al chip PIC

Conecte el marcador giratorio al chip PIC como se muestra en el diagrama. Observe que estoy leyendo en el estado del marcador rotatorio mediante el uso de temporización RC. En otras palabras, el chip PIC está contando la cantidad de veces que tarda un capacitor en descargarse (que cambia cuando se agrega resistencia).

Ahí es donde entra la resistencia de 20K. Agregar esto a la entrada permite una clara diferenciación entre la señal de una conexión de interruptor giratorio cerrada y abierta.

Paso 5: Reúna el código

Reúna el código
Reúna el código

Para programar el chip, utilicé el entorno de desarrollo MBasic disponible en Basic Micro. MBasic, simplemente, es una variación de Basic diseñada para usarse con chips PIC. Es fácilmente convertible a un lenguaje más universal (útil). Básicamente, el código determina cuándo alguien ha girado el dial y luego detecta los bordes de la señal (determinando las transiciones bajo-alto) hasta que el dial retrocede a su estado inicial. Después de contar el número de veces que mide una transición de señal, el LED parpadea en consecuencia. Por ejemplo, si marca 3, el PIC contará tres transiciones bajo-alto y luego parpadeará un LED 3 veces. El LED, como puede haber inferido, es innecesario para que esto funcione y solo está ahí para brindarle retroalimentación visible. Puede sustituir cualquier dispositivo de salida que considere necesario. ********************* Aquí hay un código: ******************** CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0'sets / reset valueshigh B2rctime B2, 1, startcountincountclicks = 0 si startcountin> 10 entonces goto countmeup 'comprueba y verifica si el dial se ha girado para ver si va a la subrutina si tiene goto main '================ countmeup: high B1rctime B1, 1, clacker'sets compare valuegoto countmeuploop' =========== ===== countmeuploop: high B1rctime B1, 1, clicker'checks count valuelargefig = clacker + 100'establece un valor para el umbral que será mayor 'que 0 pero menor que los posibles valores de pin-high si largefig <clicker luegocountclicks = countclicks + 1endif 'agrega 1 valor cada vez que se registra una transición de baja a alta. High B2rctime B2, 1, startcountinif startcountin <10 thenif countclicks> 0 thengoto blinkelsegoto mainendifendif'checks para ver si el dial ha retrocedido a su i estado inicial 'si lo tiene y se marcó un número, va a la rutina de LED' de lo contrario, si no se marcó ningún número, va a mainclacker = clicker 'restablece el valor de comparación al valor del pin actual goto countmeuploop'no se detiene EN TODO en esta rutina ! '================ blinker: repvar = repvar + 1' cuenta cada repetición de esta rutina high B3pause 1000low B3pause 1000 'parpadea el LED si repvar = countclicks thenrepvar = 0goto mainendif'if the las repeticiones equivalen al número de veces que el LED debería parpadear y luego vuelve a la rutina principal.

Paso 6: Prueba

Pruebas
Pruebas

Si hiciste todo lo mismo que yo, debería funcionar (ver video).

Si no funciona, asegúrese de haber cableado todo correctamente y de que el código se haya copiado correctamente. Además, asegúrese de que su resonador (o cristal) sea de 20 MHZ. Si escribió su propio código, asegúrese de que no haya pausas en la rutina que comprueba las transiciones de bajo a alto.

Paso 7: Ve más allá

Ir más allá
Ir más allá

Averigüe algún otro uso para el dial giratorio que no sea parpadear un LED.

Recomendado: