T

Tronnico

Usuario (Colombia)

Primer post: 12 mar 2011Último post: 22 may 2012
3
Posts
369
Puntos totales
45
Comentarios
Receptor de Señal Infrarroja - Control Remoto
Receptor de Señal Infrarroja - Control Remoto
Ciencia EducacionporAnónimo4/13/2011

Hola a Todos. Hoy les comparto el diseño de un circuito bastante util, el Receptor de Señales de Control Remoto o Mando a Distancia. La verdad este es un trabajo un poco extenso, debido a que primero es necesario decodificar las señales de cada una de las teclas. Por suerte existe una página en donde es posible encontrar las señales de Controles Remotos conocidos. Primero voy a mostrarles el proceso de obtención de las señales de un Control o Mando, para luego analizar el protocolo. Más adelante podrán ver el enlace con los códigos de los controles más populares. Primero, para capturar las señales provenientes del control o mando en el PC se requiere de un Receptor Infrarrojo. Existen algunos que vienen con las Tarjetas de Televisión para PC, que más o menos se encuentran en este estilo: Estos receptores constan de un Fotoreceptor o Fotodiodo y se conectan en la entrada de Micrófono de la Tarjeta de Sonido del PC, y son capaces de detectar los pequeños niveles de voltaje producidos por el fotodiodo. Si no tienes un receptor de este tipo, no hay problema, puedes fabricar tu propio receptor con un fotodiodo barato y corriente, y un cable adaptador de micrófono como el de la imagen anterior: El proceso de conexon es bastante sencillo. Simplemente se conecta el fotodiodo en vez del micrófono. Si tienes un micrófono que no te sirva puedes hacer la siguiente conexión: Donde la resistencia puede tomar el valor de 1 KΩ. A mi me funciona sin Resistencia, aunque es recomendable colocarla debido a un posible nivel de voltaje elevado. Ahora si, una vez que disponemos de nuestro Receptor Infrarrojo, podemos empezar a visualizar las señales del Control capturadas con el receptor infrarojo mediante un Software Editor de Audio. En mi caso los códigos de las teclas los he visualizado con el programa GoldWave, que descargué de este enlace: Los pasos iniciales para la grabación de los comandos son: 1. Al abrir el programa seleccionar el Dispositivo de Grabación que corresponde al Micrófono de la Tarjeta de Sonido (Option -> Control Properties -> Device), ya que en algunos casos está seleccionado por defecto otro dispositivo (como en mi caso que estaba seleccionado el Micrófono de mi WebCam USB). 2. Para iniciar una nueva grabación dar clic en New ó File -> New. Alli aparecerá un cuadro para seleccionar el número de canales, la velocidad de muestreo y la calidad de la grabación. Por lo general selecciono 2 Channel (Stereo) y Presets seleccionar una buena calidad, por lo general escojo DVD Quality, con un Sampling Rate de 96000. 3. Iniciar la grabación con el botón Rec (Círculo Rojo). En este caso he utilizado un Control Remoto de un Televisor Sony Bravia. La señal a continuación corresponde a la tecla Volumen -. Haciendo un Zoom se aprecia mejor la señal obtenida: Aqui viene la parte interesante de este asunto. Si se observa detenidamente, esta señal obtenida corresponde al siguiente tren de pulsos, que en efecto, según el Protocolo Sony SIRC corresponde a la tecla Volumen -: La imagen muestra un tren de pulsos, que representan señales binarias de 1 y 0. La señal consiste en un pulso ancho al inicio de duracion 2.4 ms y un espacio de 0.6 ms que corresponde al Start, una serie de 7 bits que corresponden al Comando de la Tecla, y los ultimos 5 bits la Dirección, o el tipo de Control (TV, VCR, DVD, etc). Los símbolos 1 se representan con un pulso de 1.2 ms y un espacio de 0.6 ms, y los O con un pulso de 0.6 ms y un espacio de 0.6 ms, tal y como se aprecia a continuación: Como se alcanza a ver en la anterior imagen, los pulsos contienen una portadora de mayor frecuencia. Esta portadora para los controles Sony es de 40 kHz, y se modula con PWM (Pulse Width Modulation, Modulación por Ancho de Pulso), con un valor de Ciclo Útil (Duty Cycle) de 1/4 o 1/3. En este enlace se encuentra la información correspondiente al protocolo Sony y otros protocolos de Control Remoto: Listo, este tipo de señales son las que se deben procesar en el Microcontrolador, primero obteniendola y luiego, de acuerdo a la tecla presionada, ejecutar una función. Para obtener esta señal y enviarsela al Microcontrolador se requiere de otro Fotodiodo, debido a que como se vió anteriormente, los pulsos contienen una portadora de 40 kHz, el Fotoreceptor debe ser capaz de detectar esta frecuencia, y producir una salida de un filtro el pulso conformado. En el mercado se encuentran múltiples receptores baratos, como los del tipo TSOP17XX, donde las "XX" representan el valor de la frecuencia de corte. En este caso nos servirá un TSOP1740: Aqui hay que aclarar algo: a la salida del TSOP17XX se obtiene la señal del control remoto invertida, por lo que es necesario para mejor manipulación de la señal en el Microcontrolador invertir la señal a la salida del TSOP17xx y obtener la señal original. La conexión para invertir la señal es muy elemental (La imagen del inverson que usé ha sido borrada del host, recomiendo usar un inversor simple basado en un transistor NPN o PNP, si mal no recuerdo el que habia usado estaba basado en un transistor 2N3906). En este caso la señal de salida se dirige hacia uno de los puerto del Microcontrolador, pero eso es decisión de cada uno por cual puerto se desea recibir la señal, dependiendo de las caracteristicas y limitaciones del Microcontrolador. Finalmente, voy a explicar brevemente la forma de como manipular la señal de salida correspondiente al tren de pulsos en el Microrontrolador. Para ello es necesario entender en funcionamiento de las Interrupciones Externas y los Timers o Temporizadores. El objetivo es detectar los bits correspondientes al Comando, ya que si se trabaja con un mismo Control o Mando, la parte de Dirección no nos interesa demasiado. Primero, se activan las Interrupciones Externas por Flanco Ascendente a traves del Puerto B0, y una vez que se ha detectado el primer Flanco Ascendente del Start, calcular la duración para asegurarse que es el Start, y después de allí empezar a almacenar los demás bits en una variable. Los demás bits también se pueden detectar con las misma interrupción con Flanco Ascendente, y se hace un Ciclo: si la duración entre Flancos Ascendentes está alrededor de 1800 ms es un 1, y si está alrededor de 1200 ms es un 0. Es necesario tener un rango alrededor del valor nominal, debido a la posible falta de precision de las medidas. Una vez almacenados los bits del Comando en una variable, se comparan con un Registro almacenado en el Microcontrolador con los códigos de todas las teclas, para compararlos y determinar internamente la tecla presionada. Conociendo la tecla que se ha presionado se puede ejecutar la accion que se desee, ya sea encender un LED, mover un Motor, desplegarla en un Display LCD, u otro tipo de función que el usuario desee. Saludos. Fuentes: Exitos.

359
90
Alimenta un Circuito con PIC con Bateria de Celular
Alimenta un Circuito con PIC con Bateria de Celular
Hazlo Tu MismoporAnónimo5/22/2012

Un saludo a todo el que lee este post. En esta ocasión presento una forma de alimentar los circuitos realizados con microcontroladores, en particular un PIC16F84A de Microchip, mediante una batería estándar de Litio, obtenida de un celular que tengo en desuso: el Sony Ericcson T106: He escogido este celular principalmente porque lo tengo sin ninguna utilidad, en la época en que lo usaba la batería le duraba bastante, y además tiene el cargador, aunque no es el original, pero me resulta útil. Las pruebas que voy a hacer aquí las hago con el 16F84A, pues es el único PIC que tengo en el momento. Por otra parte, el consumo que requiero no es elevado, así que este tipo de solución se aplica a proyectos básicos que no necesiten gran consumo de corriente. He desarrollado un código sencillo en C, el “Hola Mundo” de los microcontroladores, que consiste de hacer parpadear un LED (no voy a entrar en detalles es esto, alli les dejo la imagen). Lo más importante de este asunto es que es mi primer código realizado en SDCC (Small Device C Compiler), un compilador Open Source para programar diferentes tipos de microcontroladores. Aparte de SDCC, he utilizado Piklab para hacer las labres de programación y configuración de los proyectos, todo esto bajo Ubuntu 10.04 Lucid Lynx, ya que fue allí donde encontré estos programas en repositorios. EL micorocontrolador lo programé mediante un programador Serial, o JDM Programmer, seleccionando en Piklab el programador en Modo Directo. Los demás parámetros de configuración se observan en la imagen. Ahora sí, empecemos con el asunto de la alimentación del circuito. Para ello vamos a hacer uso de un Voltímetro o un Tester, debido a que es necesario identificar los pines de la batería que corresponden a VDD (+) y VSS (-). En mi caso es posible observar que los pines útiles del celular arrojaban valores de 4.06 V. Este es un valor suficiente para hacer funcionar al PIC. Una vez detectados los pines útiles de la batería, es necesario soldar dos cables para extraer la alimentación que se conectará al PIC. El Sony Ericsson T106, en su parte inferior tiene los puertos para conexión de energía y datos, y dos agujeros para introducir el conector. Por allí he extraido los dos cables de VDD (+) y VSS (-). Algunos se preguntarán: Por qué no he soldado los cables directamente a la batería, sino al chasís del celular? La cuestión es la siguiente: en algún momento la batería se descargará, por lo cual será necesario volver a cargarla. Lo dejo así, conectado al celular para que el proceso de control lo realice la circuitería del celular, y haya un ajuste de la carga, aparte de que en el display del celular es posible visualizar el nivel de la carga de la batería. Cabe aclarar que el celular no lo enciendo, para reducir el consumo de la batería, y además procuro tenerlo destapado, sin los tornillos puestos, para que la batería no alimente al celular para que este no quede en modo stand by, con el fin de que toda la carga sea entregada al PIC (quién no lo desee así, puede diseñar y construir un circuito de carga de baterías, eso es a la conveniencia del diseñador). Ahora sí, volviendo al asunto de la alimentación, vemos que la batería logra hacer parpadear nuestro LED en intervalos de 1 segundo, justo como lo habíamos programado. Un video demostrativo: Finalmente, con un proyecto viejo, paso a demostrar que la misma batería es capaz de alimentar al PIC junto con un display LCD, con lo cual podemos decir que una batería de un celular en desuso es verdaderamente útil para la creación de proyectos básicos basados en microcontroladores PIC. Otro video demostrativo: Espero os haya gustado. Alli les dejo para que lo apliquen en casa. Exitos.

10
0
I
Instalación Impresora Lexmark 1200 Series (Ubuntu - Debian)
LinuxporAnónimo3/12/2011

Buenos días amigos Taringueros. Anoche he podido solucionar el problema de la instalación de mi Impresora Lexmarx 1200 Series en Ubuntu 10.04, específicamente es una Lexmark X1240. Esta forma de instalarla sirve también para los modelos X1250 y X1270. No estoy completamente seguro, pero parece que funciona para todas que sean 1200 Series. Ah, y tal parece que funciona para Debian, lo cual lo convierte en una solución bastante óptima. La solución la encontré en este enlace, por si alguien quiere revisarlo. De todas formas dejo aquí las instrucciones para que lo implementen. Todos los paquetes son de extensión .deb, esto quiere decir que se puede ejecutar con doble clic. Lo primero que se debe realizar es descargar el paquete libstdc++5, ya que este no está en los repositorios de Ubuntu. "Este paquete contiene una biblioteca de tiempo de ejecución adicional para programas en C++ construidos con el compilador de GNU". Dependiendo de la arquitectura de la board, puedes descargarlo de la parte inferior de la siguiente página: http://packages.debian.org/lenny/libstdc++5 Yo utilicé la arquitectura i386, ya que mi board es Intel. Dando clic en i386 aparece un listado de sitios para obtener el paquete. Seleccionan el de su preferencia. A mi me funcionó el primero de Norteamérica. Una vez descargado este paquete se instala antes de proceder con los demás paquetes. El siguiente paquete es z600cups_1.0-2_i386.deb. Se puede descargar en: http://www.indexdata.com.br/Linux/Drivers/Impressoras/LexMark/z600cups_1.0-2_i386.deb Y el último paquete es z600llpddk_2.0-2_i386.deb. Se descarga desde: http://www.indexdata.com.br/Linux/Drivers/Impressoras/LexMark/z600llpddk_2.0-2_i386.deb Estos últimos se instalan de la misma forma que el primer paquete. Listo, una vez instalados los paquetes es hora de instalar la impresora. Primero se conecta la impresora al PC. Luego vamos a dirigirnos a Sistema -> Administración -> Impresoras. Allí podemos dar clic en Añadir, o si se desea Servidor -> Nueva -> Impresora. En Dispositivos la impresora tiene que haber sido reconocida y se muestra como Lexmark 1200. La seleccionamos y damos clic en Adelante, para que el sistema busque los Controladores Disponibles. De la base de datos seleccionamos el Driver de Lexmark. A continuación seleccionamos la impresora Z600 que se encuentra al final del listado de impresoras. Este driver es el que se instala con los paquetes descargados al principio del proceso. Luego nos aparece la descripción de la impresora. En el campo Location ingresamos el nombre de usuario en Ubuntu, si es que no aparece. Dando clic en Aplicar se finaliza el proceso. Finalmente, la impresora aparece instalada y lista para usarse: Para probar la impresora finalmente el sistema solicita enviar en página de prueba. Aquí es donde hago una aclaración. En Windows al imprimir cualquier página la impresora se enciende automáticamente. En Ubuntu cada vez que envío una impresión, así sea una página de prueba, es necesario encender manualmente la impresora, presionando su botón de Power. Finalmente obtuve mi página de prueba correctamente, y realicé una impresión desde OpenOffice, y obtuve los resultados esperados. Otro asunto, con el Scaner no he tenido nungún problema. Antes de haber instalado la impresora este ya funcionaba. Lo utilizo desde Aplicaciones -> Gráficos -> Simple Scan. Agradezco enormemente a fefolos por su solución dada, ya que me funcionó correctamente. Fuente: http://www.ubuntu-es.org/node/138414 Exitos.

0
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.