# Relé Analógico o con transistores para un LCD 16x2



## elsquilmes (Jun 24, 2011)

Hola Amigos!!
Como va?..

Paso a contarles que decidi hacer 2 circuitos muy interesantes... Estos dos circuitos utilizan la misma pantalla LCD de 16x2 , entonces lo que yo queria era hacer un *sistema simple de cambio, para que el LCD muestre los datos de un circuito o del otro*. Asi podria pensarse que con un botón o palanquita, uno cambia de modo para visualizar cada circuito por separado, claro... pero en un mismo LCD...


Como todos saben, el lcd tiene patitas de *db0 a db7* , por lo que serian *8 contactos* de DATOS no?...

luego tiene el *RS RW y el E* , que serian *3 pines mas...*

bueno, como podria hacerse entonces que cambie de un modo a otro? utilizando transistores? algun integrado que actue como relé??

Lo ideal seria que cambien los 8 pines de DATOS (db0 a db7) y los otros 3 No se de que son! pero supongo que tambien deben ser cambiados porque sino habria conflicto!... 
por lo tanto en total serian 11 pines para cambiar... ...

Espero que alguien tenga alguna idea , o alguien sepa como hacerlo...

La idea igual no es usar RELES porque sino no estaria haciendo este post. jeje... bueno
espero que alguien me pueda ayudar...
Gracias!! saludos!! 


pd. dejo una* imagen de uno de los circuitos a los que voy a usar el LCD*, pero los transistores o reles analogicos deben ser para TODOS los datos, porque en *el segundo circuito utilizan del db0 al db7 ... Gracias!!*


----------



## idontcar3 (Jun 24, 2011)

Recuerdo haber leido algo al respecto.. siento no poder ayudarte.. revisare en mis libros que si lo encuentro te lo posteo!.


----------



## Picchip (Jun 24, 2011)

y si usas un pic solamente para controlar la pantalla, luego envias lo que quieras representar con los otros. Por ejemplo cuando pulses un boton en uno de los pic, que este envie informacion a representar al pic que controla la pantalla. Espero que te sirva la idea.

Saludos


----------



## elsquilmes (Jun 24, 2011)

Gracias por responder!!!

Estan buenas las ideas... pero comenze hace poco con los pics! y la verdad que no se como podria hacer que un pic controle el estado de la pantalla LCD... o cambie de un circuito a otro...
lo mas facil me parece que podria ser con transistores, o algun integrado que actue como un RELE...
la idea es poner en todo caso, las patas del LCD a un terminal MEDIO, y ese terminal es conectado al pin 1 o 3, y la 2 seria la del lcd... eso para cada uno de los pines del lcd... asi actuaria un RELE verdad?...
bueno creo que se podria con algun integrado, pero no se cual, o alguna llave digamos....

alguien sabe de eso?...
gracias denuevo!


----------



## cosmefulanito04 (Jun 24, 2011)

Proba conectando el bus de datos de los distintos circuitos como alta impedancia y usando un pull-up (aunque mira bien las hojas de datos del LCD que creo que ya viene con uno incorporado).


----------



## lubeck (Jun 24, 2011)

> Proba conectando el bus de datos de los distintos circuitos como alta impedancia





o si quieres con CI externos...


http://en.wikibooks.org/wiki/Practical_Electronics/IC/4066


----------



## elsquilmes (Jun 24, 2011)

Gracias amigos!



cosmefulanito04 dijo:


> Proba conectando el bus de datos de los distintos circuitos como alta impedancia y usando un pull-up (aunque mira bien las hojas de datos del LCD que creo que ya viene con uno incorporado).




Como seria usando un pull-up  ??? nunca use de esto creo...  , soy aficionado a la electronica, y estoy empezando con los pics...  y como lo conecto como alta impedancia?.



lubeck dijo:


> o si quieres con CI externos...
> 
> 
> http://en.wikibooks.org/wiki/Practical_Electronics/IC/4066



Gracias lubeck por tu aporte! la verdad que me intereso mucho la idea de los CI externos... me parece mas factible, y facil de hacer.... 
el 4066 es un CI que me sirve perfectamente para esto no?... usando 3 de estos creo que alcanza para hacerlo! se puede sin problemas para que transmitan los datos y todo esto no?? los datos del LCD que serian 8 pines (db0 a db7) y los otros 3 pines RS RW y el E ...

Con esto puedo hacerlo cambiar de un circuito a otro y asi elegir la visualizacion del LCD???

como configuro los 4066 ??? no sabia de estos....

gracias!!


----------



## lubeck (Jun 24, 2011)

> Con esto puedo hacerlo cambiar de un circuito a otro y asi elegir la visualizacion del LCD???
> 
> como configuro los 4066 ???



Traduce el link que te puse en el google ....

ahi explica algo o busca info... toma el dato que ahi también mencionan lo de la alta impedancia... para saber mas acerca de tu proyecto deberias mencionar que lenguaje usas...


----------



## elsquilmes (Jun 24, 2011)

Gracias!!... la verdad que primero lo traduci... y mire lo que decia, no hablaba mucho de como funciona el 4066 me parece, pero dice que es mejor que el 4016 ... y bien, mirando bien la imagen, se me ocurre que todas las llaves se ACTIVAN con solo darle una tension positiva y negativa... , y el resto de los pines seria como un RELE normal, no?... por lo que creo que en los de COLOR verde irian los pines del LCD. y en el color azul que corresponda a cada relesito, van los dos circuitos... asi puedo elegir... con solo dar tension o no , y cambian todas las llaves... no???
espero estar en lo correcto...
me intereso mucho el del 4066 muy buenoo... espero que sirva para el caso...
graciass


----------



## lubeck (Jun 24, 2011)

> espero estar en lo correcto...



pues si... el dibujito es bastante intuitivo, casi sin leer se da uno cuenta...

aunque te los puedes ahorrar si pones los puertos en alta impedancia como te suguiere cosme...  o para que mejor entiendas ponlos como si fueran entradas cuando el micro no este comandando el LCD...


----------



## elsquilmes (Jun 24, 2011)

ahhh... ya entiendo lo que me queres decir... lo que pasa es que cada circuito ya esta programado! y es mas,,, nisiquiera puedo modificar el codigo, porque no tengo los .asm ... por lo que ademas debo hacer esto... para asegurarme... y en uno de los circuitos usa el PIC 16f84 que esta lleno, ni lugar hay para nada decia el autor... y en el otro usa un circuito 16f76a ... pero no puedo modificarlo...

por lo que me gustaria usar un metodo como este... porque los PICS ya estan programados, no puedo modificarlos.

saludos!!!


----------



## lubeck (Jun 24, 2011)

> por lo que me gustaria usar un metodo como este... porque los PICS ya estan programados, no puedo modificarlos.



ok... el 4066 me parece la mejor opcion hasta ahora... si alguien tiene algun impedimento... que hable ahora o que calle para siempre!!!... 

Suerte!


----------



## elsquilmes (Jun 24, 2011)

jajaaja  ... si!... me parece la mejor opcion lubeck!!!
de probarlo cuando llegue el momento lo voy a probar!!.. solo espero que funcione tal cual, sino voy a tener que buscar otro metodo. jaja... y tambien ojala que sean baratos estos bichitos, jaja... mas barato que un rele seguro! eso espero...

gracias!! saludos!!!


----------



## lubeck (Jun 24, 2011)

mmm.. quizas tambien se pueda con el 74573... y solo necesitarias uno... mmmm... yo que tu compraba uno (por micro) y lo probaba...


----------



## elsquilmes (Jun 24, 2011)

gracias!. ahora voy a ver si el tal  74573 tambien sirve... justo ahora estaba mirando este 4066 !! en una pagina explicativa... creo que me es mas conveniente el 4066 ya que asegura transmitir las señales digitales...

http://perso.wanadoo.es/luis_ju/icdatos/4066.html

Espero estar en lo correcto! solo que todavia tengo dudas de como conectar los pines.... 
pero seguro seria cuestion de probar con un par de leds, aver como andaria...


----------



## Chico3001 (Jun 24, 2011)

El problema es que los LCDs requieren de una inicializacion, monitoreo y envio de datos... asi que no creo que funcione... forzosamente hay que cambiar la programacion interna de los PICs para que detecten el cambio y reenvien de nuevo la secuencia de inicializacion

Para ponerlo mas claro... cuando un PIC enciende un display lo inicializa y le envia comandos de direccion para mostar el dato, si se realiza el cambio una vez que ya se envio la direccion el segundo PIC no sabe cual fue el estado de la escritura del primero, asi que lo mas probable es que la informacion se mezcle y no se pueda leer nada en el display... eso suponiendo que no hubo errores de interferencia por que un PIC trato de leer datos y el segundo trato de escribirlos..


----------



## lubeck (Jun 24, 2011)

> El problema es que los LCDs requieren de una inicializacion, monitoreo y envio de datos... asi que no creo que funcione... forzosamente hay que cambiar la programacion interna de los PICs para que detecten el cambio y reenvien de nuevo la secuencia de inicializacion



Buen Punto...

aunque... seria interesante que lo probara y nos comentara.... yo tengo mis dudas... digamos un 80 a que funciona y un 20 a que no...


----------



## Chico3001 (Jun 24, 2011)

Entonces la prueba tiene que ser con el 4066 ya que es un switch bidireccional... el 573 es unidireccional y no permite el regreso de los datos... ademas de que en realidad es una latch y almacena el ultimo dato enviado...


----------



## lubeck (Jun 24, 2011)

> el 573 es unidireccional y no permite el regreso de los datos... ademas de que en realidad es una latch y almacena el ultimo dato enviado...



pero casi nunca se ocupa el de lectura se podria poner a masa...

solo el RW y el E y los cuatro del data irian al 573 y al no usarlo se podria poner en alta impedancia... es tristate el 573... esa es por lo que yo digo que quizzzaaasss se podría... depende de como fue programado el micro...


----------



## elsquilmes (Jun 24, 2011)

uy gracias por responder!!...
se ve que entonces es posible que no funcione con el conflicto de los datos??...
yo diria probar primero con el 4066 ... entonces es posible que funcione! ...
porque no olvidemos que los LCD se supone que van a querer leer siempre, no se bien como trabaja igual... pero calculo que si algo se desconecta, se vuelve a conectar, y el dato vuelve... y lo hace nuevo.. supondiendo que no funcione del todo bien, a lo sumo abria que apretar algun boton para que cambie la pantalla... y los datos se reescriban bien en la lectura... calculo...

pero seria cuestion de probar! creo que en la teoria igual deberia funcionar... 

de todas formas tengo mis dudas, deberia funcionar ya que al desconectar todos los datos + el RW y todo eso, es como desconectar la pantalla completa, y volverla a conectar...

*A lo sumo si agrego la alimentacion del LCD al cambio como para que apague y prenda, se resetearian y funcionaria??*

_seria algo como que el circuito ya esta prendido y yo conecto el LCD luego. verdad?...._

espero que salgan algunas ideas... no estoy seguro como haran el trabajo los datos hacia el lcd...

gracias nuevamente!  esperemos resolver esto...


----------



## lubeck (Jun 24, 2011)

Dice el dummy que si no pruebas no aprendes.... y hasta se enoja y todo!!!... 







no es algo que  yo haya visto que se haga para asegurartelo ... en el peor de los casos seria quitar todos los cables excepto los de alimentacion y que veas que pasa... o oooo y los vuelves a conectar...


----------



## elsquilmes (Jun 24, 2011)

Claro amigo...
en principio creo que seria mejor probar quitar todos, luego conectar todos, y ver como reacciona. asi saber que pasaria en otro estado... 
solo es cuestion de probar...
ojala funcione... 

de ultima tendria que apretar alguna tecla, y que la pantalla cambie... es cuestion de ver que pasa...
espero probarlo pronto!!
 y les comentare como fue!!!

saludos y gracias!  


Si alguien sabe algo mas o tiene mejor idea, bienvenido sea!...
saludosssss


----------



## cosmefulanito04 (Jun 24, 2011)

Si no podes o no sabes como modificar el codigo, y lo queres resolver por el lado del hard, yo probaria usando buffers (no inversor) de 3 estados como por ej. 74xx244 que tiene 8 lineas.

Para que te des una idea, seria algo asi:



La habilitacion la podes manejar con un decodificador.


----------



## lubeck (Jun 24, 2011)

> 74xx244 que tiene 8 lineas.



Mmm.. tambien el 74xx245 iria bien no??? incluso la disposion de las patitas estan en linea...


----------



## elsquilmes (Jun 24, 2011)

> Si no podes o no sabes como modificar el codigo, y lo queres resolver por el lado del hard, yo probaria usando buffers (no inversor) de 3 estados como por ej. 74xx244 que tiene 8 lineas.




Haber haber... como seria usar Buffers???.. que se supone que tengo que hacer? .. jeje 
lo que pasa es que los PICS no se pueden modificar... ya que no tengo los codigos .ASM ,porque el autor no nos deja, es para VIPS ja! 

Asi que el tema es que deberia funcionar con hard...

pero como es con buffers?...

porque los 2 PICS ya estan programados.. entonces, envio esos datos a algo? y ese algo interactua con la LCD deacuerdo al circuito que yo elija visualizar?... es asi?
jeje. espero no empeorar las ideas ... 
gracias!!!


----------



## cosmefulanito04 (Jun 24, 2011)

> Mmm.. tambien el 74xx245 iria bien no??? incluso la disposion de las patitas estan en linea...



Bit que molesta ahi es el 7, que es el unico que se convierte en bidireccional cuando indica el BF, osea que si... por lo menos el buffer en ese caso si deberia ser bidireccional, asi que es mejor usar el 74xx245.


----------



## electrocebados (Jun 29, 2011)

que configuración usaste?


----------



## elsquilmes (Jun 29, 2011)

Amigos!!! Como estan?...



Les comento que hace poco compre los 3 CD4066 que pensaba usar para la configuracion!!!

Tambien ya arme el circuito con el LCD...



me di cuenta de 2 cosas:



1ro que la LCD al desconectarla y volverla a conectar de todos sus terminales, vuelve a su estado normal despues de unos segundos ( SEGUNDOS EN EL QUE EL PROGRAMA DEL PIC VUELVE A MANDAR LA MISMA INFORMACIÓN PARA MOSTRAR EN PANTALLA) por lo que no tengo problemas para este circuito en esperar unos segundos a ver "correctamente" sus datos en el LCD... 



2do , investigando los CD4066 me di cuenta que no tienen como yo pensaba una elección de estado como los RELÉS en donde tienen opcion de coneccion estando apagado, o prendido... no?

entonces en el CD4066 me di cuenta lo siguiente:



Segun lo mire... Tiene 2 terminales que se pueden usar de ENTRADA/SALIDA cada uno, luego tiene 1 terminal que es para CONTROL ( conectado al negativo o positivo, no me acuerdo cual, hace que pase o no corriente por los terminales de ENTRADA/SALIDA, osea actua como llave ON OFF de paso de datos o corriente)... 

y luego tiene los otros 2 terminales que son positivo y negativo... que deben estar conectados permanentemente para funcionar con el control...



Bueno esto es correcto segun el funcionamiento que pude determinar?...



Se me ocurrió una idea entonces , para poder hacer el sistema de "reles" para el LCD...

ya que cada uno de los 4066 tiene 4 modulos de ENTRADA / SALIDA, entonces significa que puedo usar 2 modulos para hacer un solo RELE digamos, con opcion de apagado y prendido, y otros 2 para otro mas...

por lo que calcule , entonces , con un 4066 obtengo 2 RELES... como los manejo? con los terminales de CONTROL... y uniendo 2 de los terminales de entrada/salida creo que puedo hacer que funcione , para tener 3 terminales no?. como los reles comunes... 



entonces ahora pregunto... esto es posible?... Si yo uso algun transistor para manejar los CONTROLES de cada modulo, cual deberia usar? BC547 o BC548?... considerando que cuando un terminal de CONTROL este con un 1 , el segundo terminal de control lo quiero con un 0 ... para que en el PAR, o uno este prendido, o el otro este prendido... nunca los dos prendidos ni los dos apagados.. se entiende?... y a todo ello, manejarlos con una patita sola...

asi uniendo todo todo, me queda un LCD controlando todos sus terminales con un solo control... 



Calcule que si son 16 pines del LCD , entonces tengo que usar 8 CD4066 verdad?...



DESPUES VOY A EJEMPLIFICAR CON IMAGENES PARA QUE SE ENTIENDA MÁS!!!



Muchas gracias! saludos!!!


----------



## lubeck (Jun 29, 2011)

Electrocebados....

perdon perdon...

elsquilmes...  (tu me entiendes)...




> por lo que calcule , entonces , con un 4066 obtengo 2 RELES... como los manejo? con los terminales de CONTROL... y uniendo 2 de los terminales de entrada/salida creo que puedo hacer que funcione , para tener 3 terminales no?. como los reles comunes...



Necesitarias un inversor como el 4069 por ejemplo...

este podria ser el reemplazo digital del rele con el 4066....


----------



## jaimepsantos (Jun 29, 2011)

Por que no switchear la alimentacion de cada uno de ellos con dos transistores bueno uno para cada pantalla asi apagamos uno u encendemos otro ahi me dices que sale 


igual conectar los datos en paralelo de ambos LCD's y si el consumo del LCD es algo elevado (mas de 200mA) cambiar los transistores por unos de mayor potencia 

Saludos!


----------



## elsquilmes (Jun 30, 2011)

Hola!! Gracias por las respuestas!!

Lubeck jajaj!  ... ,



> Necesitarias un inversor como el 4069 por ejemplo...
> 
> este podria ser el reemplazo digital del rele con el 4066....



Esta muy buena esa idea del 4069 , pero no se como trabaja y no entiendo muy bien... despues voy a buscar el datashett... o entender de que trata... pero entonces haciendo eso obtengo un rele digital?.. jaja ...
lo que quisiera es eso. pero como es el 4069? me suena igual haberlo visto o usado en algo... pero como hace la inversion?... no me acuerdo nada.. jeje. 
osea que cada vez que doy un pulso este cambia de valor los "reles" ?.. 

Gracias jaimepsantos por tu diagrama! me parece interesante esa idea, podria servir para la alimentacion... si es que no se puede usar junto al mismo sistema de los otros pines... o que tipo de alimenación seria? la del led o la del lcd? , supongo que se tiene que poder alimentar con el mismo metodo de pines de datos que quiero con los 4066 ... 
la idea es cambiar toda la pantalla hacia el otro circuito, pero de manera digital  ... sin usar reles que salen caros y son lentos... 
se que se tiene que poder de una forma u otra...

voy a tratar de probar alguna cosa con el simulador livewire ......

gracias a todos! saludosssssssssss


----------



## lubeck (Jun 30, 2011)

> lo que quisiera es eso. pero como es el 4069?



El 4069 son 6 inversores encapsulados en un solo componente-... tiene 12 pines y dos de Alimentacion (7 es GNd y 14 Alimentacion)

si le pones 5v (1 logico) en el pin 1 entonces en el pin 2 va a poner 0v(0 logico) ...(eso de los 5v y 0v no es exacto es un poco menos y un poco mas pero bue)

si le pones 0v(0 Logico) en el pin 2 entonces en el pin 2 va a poner 5v(1 logico) 

y asi con los demas inversores (3 y 4 - 5 y 6 - 13 y 12 -11 y 10- 9 y 8)

en el esquema que puse solo se esta ocupando 1/6 del circuito 4069... o sea que te sobra para los demas 4066...

espero haber sido claro...

pongo Datashit... 
http://www.eleinmec.com/datasheets/ds_sgsthompson_4069_hex_not.pdf

(ya que lo abri para ver lo de los pines )


----------



## DSP (Jun 30, 2011)

Hola a todos, se me ocurre una idea que puede resolver esto.

¿Porque no programar un pic que sirva de interfaz o multiplexor?
Que tenga 3 puertos, 1 para cada pic y uno para la lcd ademas de un pin de seleccion.

Cuando un pic intente escribir a la lcd, el pic de interfaz emula al lcd, recoge los datos y los guarda en un buffer (array) en el que estará escrito lo que debe verse en la lcd, lo mismo aplica para cuando el otro pic intenta escribir a la lcd, solo que la interfaz mantiene dos buffer separados. Ademas de lo anterior, el pic de interfaz debe actualizar los datos de la lcd dependiendo del estado del pin de seleccion.

Esto requiere cierta velocidad del pic de interfaz, ya que debe atender tres tareas "simulaneamente", que es recibir datos del PIC_1, recibir datos del PIC_2 y actualizar datos de la LCD dependiendo del pin de seleccion

Espero haberme dado a entender.

saludos


----------



## miborbolla (Jun 30, 2011)

Definitivamente la solucion es como la que se menciona usando circutos ttl como el 74ls244 o 74ls245, y el pequeño diagrama a bloques que se dejo anexo es mas que explicativo. ya que con tan solo estos integrados solucionas por completo tu problema.


te dejo anexado un diagrama en pdf y en LIVEWIRE (switch.rar) que he creado para ti con integrados 74ls244 de como deberia quedar la solucion que buscas.

Los conectores corresponden excatamente a los de cualquier diplay siendo:

1 - GND
2- VCC
3- CONTRASTE LCD
4- RS
5 -R/W
6- E
7- D0
8-D1
9-D2
10-D3
11-D4
12-D5
13-D6
14-D7
15-SIN CONEXION.

con SW1, seleccionas que entrada quieres que se despliegue en el LCD.
y con VR1 controlas el contraste de tu LCD.


espero te sirva la solucion que considero es mas apropiada para lo que buscas, ya me comentaras

Saludos y espero comentarios.


----------



## elsquilmes (Jul 1, 2011)

Hola nuevamente!!!
Gracias a todos por sus ideas!!!... muy buenas...

Viendo que Miborbolla me dispuso un diagrama en el que tiene menos integrados y complicaciones para armarlo, creo que es lo primero que voy a probar!
Espero que estos integrados "TTL" no sean tan caros... igual son pocos... 



> Definitivamente la solucion es como la que se menciona usando circutos ttl como el 74ls244 o 74ls245,



Entonces si compro el 74ls244 para armarlo, tiene que funcionar bien? si compro el 74ls245 es lo mismo? que cambia?... por las dudas que no haya el 74ls244 ... son comunes estos?... 

Bueno, viendolo de este punto, compraria los 4 integrados 74ls244 ... como se llaman exactamente? solo 74ls244 ? o tiene algo adelante como el "cd" del 4066 ?... 

Viendo el diagrama en PDF , hay un V1 que dice 5v , ahi simplemente deben ir +5v no??? ... 

Y viendo el SW1 se me ocurre que quedaria mejor si pongo un delay de tiempo con algunos capacitores, no me acuerdo como era, que al apretar un boton se mantenga en una posicion por unos segundos, y despues vuelva al estado anterior... esto quiero hacerlo porque en el circuito con PIC 1 , digamos, tengo un pequeño buzzer, que suena cada vez que se presiona un boton, entonces quiero poner una resistencia de 1 k en la salida de ese pulso del pic , (que es positiva) para que esa sea la señal de activación del delay, y que con transistores o algo se active por unos segundos la posicion del sw1 a un estado, y luego vuelva al otro estado.... se puede esto? como es mas facil?...

de esta forma entonces estoy planeando construir este circuito de Interrupción para que maneje analogicamente la LCD.... que espero que funcione con exito.... 
ustedes que dicen?

gracias otra vez! saludoss!!


----------



## lubeck (Jul 1, 2011)

> Y viendo el SW1 se me ocurre que quedaria mejor si pongo un delay de tiempo con algunos capacitores, no me acuerdo como era, que al apretar un boton se mantenga en una posicion por unos segundos, y despues vuelva al estado anterior... esto quiero hacerlo porque en el circuito con PIC 1 , digamos, tengo un pequeño buzzer, que suena cada vez que se presiona un boton, entonces quiero poner una resistencia de 1 k en la salida de ese pulso del pic , (que es positiva) para que esa sea la señal de activación del delay, y que con transistores o algo se active por unos segundos la posicion del sw1 a un estado, y luego vuelva al otro estado.... se puede esto? como es mas facil?...



Ya todo depende de que tanto te la quieras complicar...

recuerdas que comente el 74573... con ese puedes mantener el dato hasta que se haga el cambio y podria ser comandado por otro pic... para que no notaras el cambio de la pantalla pero se empieza a complicar me explico...

los integrados no son caros y normalmente los pides como 74245, 74573, 74244 etc porque puede haber en HC HCT AT LS etc... pero son lo mismo en funcionamiento varia la estructura interna...


si no encuentras el 244 o el 245 Tambien puedes utilizar el 573 o el 373 que son transparentes... osea que funcionan igual que el 244 y el 245... (claro! cambiarian un poco el esquema que te puso miborbolla)

bueno pues... suerte...


----------



## miborbolla (Jul 5, 2011)

Si sigues bien el diagrama, veras que los 5 volts, te los proporcionaria cualquiiera de los PICS, que ya tienes. asi que no requieres una alimentacion extra. Por el lado de los integrados estos son muy baratos, y el diagrama que te pase es para el 74ls244, asi que busca estos. Claro que puedes usar otros, pero el patillaje de los circuitos no coinciden y tendrias que acudir al datasheet de los mismos. sobre el switch, no requieres poner nada mas asi como est funciona.

Saludos


----------



## elsquilmes (Ene 6, 2012)

lubeck dijo:


> Ya todo depende de que tanto te la quieras complicar...
> 
> recuerdas que comente el 74573... con ese puedes mantener el dato hasta que se haga el cambio y podria ser comandado por otro pic... para que no notaras el cambio de la pantalla pero se empieza a complicar me explico...
> 
> ...




*Gracias amigos y gente del foro por ayudarme!!!... Disculpen la gran demora de esta respuesta, pero es mejor tarde que nunca... *

pude armar hoy bien el Circuito con los 74244 y con el diagrama que me pasaron en el Livewire y esos...* lo arme!!!*

pero desgraciadamente no funciona para nada...

la alimentacion del LCD (no para Iluminar el display) que alimenta a los pixeles, está siempre encendida. osea el contraste... y bueno al poner y probar los 2 CIRCUITOS (uno con pic 16f84 y el otro con 16f876A) ,ninguno logra mostrar directamente en la pantalla pasando por el circuito de cambio intermedio... osea... solo muestra el LCD todos cuadrados, asi cuando como que no tiene dato.. se entiende?.. y no logro visualizar nada!. hice todo correcto con esos integrados 74244 que son 4 , y no se ve nada...

cansado de esto, y queriendo resolverlo, creo que estoy decidido por realizar un control de visualizacion de LCD por medio de algún PIC... osea que , como dije al principio, con algun boton yo aprete, y se vea en el LCD el circutio A , y cuando aprete devuelta el boton, cambie a mostrar el LCD el circuito B. ... de esta manera no tendria que comprar otro LCD obviamente, para tener los dos circuitos visualizados... ademas de que queda muy feo!. el objetivo es este señores... jeje.

espero que me puedan ayudar!...
entonces...

1. Que circuitos conocidos hay o como se podria realizar con un pic la conversion de datos, para ver un circuito o el otro... A y B... porque tengo 2 circuitos con pics diferentes...

2. Es posible esto? alguien alguna vez lo quiso hacer?

gracias otra vez! y espero respuestas... 

si se puede lograr esto la verdad seria maravillosooo!!!!!!!... 


saludos amigos!!!!!  si quieren foto de como lo hice , pidan!


----------



## lubeck (Ene 7, 2012)

> 1. Que circuitos conocidos hay o como se podria realizar con un pic la conversion de datos, para ver un circuito o el otro... A y B... porque tengo 2 circuitos con pics diferentes...



Debe haber muchisimos...

intenta esto...




son dos 74hc245 y dos inversores schmitt triggered como el 74HC14
si no es lo que necesitas es que ya se me olvido que querias y me da weba volver a leer todo...



> 2. Es posible esto? alguien alguna vez lo quiso hacer?


yo no lo he hecho y no lo he querido hacer... 
pero se que es posible...


----------



## Gudino Roberto duberlin (Ene 7, 2012)

Amigo elsquilmes, hay un detalle que se esta pasando por alto, es decir, empecemos aclarando algunas cosas. Todo display inteligente como el que utilizas, necesita una serie de comandos previo al inicio. Bien, luego de esto podemos ingresar los datos a mostrar, pero el problema surge cuando conmutamos de un circuito a otro, NO podemos hacerlo "asincronamente" vale decir, necesitamos "esperar" que finalice la comunicacion de uno de ellos y luego conmutar al otro, si lo hacemos con tiempos aleatorios, seguramente interrumpimos la comunicacion y obviamente el display interpretara cualquier cosa.
La solucion es: conseguir el codigo ASM para modificar el soft o bien utilizar 2 display.


----------



## lubeck (Ene 7, 2012)

> NO podemos hacerlo "asincronamente" vale decir, necesitamos "esperar" que finalice la comunicacion de uno de ellos y luego conmutar al otro, si lo hacemos con tiempos aleatorios, seguramente interrumpimos la comunicacion y obviamente el display interpretara cualquier cosa.
> La solucion es: conseguir el codigo ASM para modific



AAAAAAAhhh.. si es cierto lo que dice guidino....(ya me acorde del detalle del codigo )

el esquema que puse es para hacerlo como el dice, si ambos envian informacion incluso se pueden dañar los 74245...

Pero.... 

se podria poner un switch "manual" en el OE para seleccionar el pic que va a ser el que envie....

igual creo que lo mejor es conseguir el codigo en ASM o hacerlo en alguno como BASIC y quizas  en muy poco tiempo lo tienes funcionando....


----------



## elsquilmes (Ene 7, 2012)

PERFECTO AMIGOS!!.... buenas soluciones!.  Tengo los 2 codigos ASM! de los 2 pics... por lo tanto los tengo adjuntos aca mismo, para que los bajen y los analizen...

yo no entiendo mucho de ASM!! :S no me se todos los comandos ni nada.. solo se hacer algunas modificaciones y cosas, pero nunca me meti tanto en el ASM, asi que espero que me puedan ayudar.... 

ya tenemos los 2 codigos asm... 

1. asm del pic 16f84 que controla el circuito A digamos. (control de accesos por contraseña)

2. asm del pic 16f876A que controla el circuito B , Que es un Termometro reloj version 2009 ...

bien. entonces... que modificaciones se podrian hacer a alguno de los dos para que funcione esto que quiero realizar?. 

por favor sean claros, no entiendo de esto, o directamente pasenme los archivos modificados, para poder ver que se modifico y probarlos!... 

*Siguiente parte...*

despues de las modificaciones en caso de hacerlas, como conecto los dos circuitos A y B y la pantalla LCD 16x2 que tengo?... 

*voy a necesitar realizar un nuevo circuito*, al que se le conectará el circuito A y B , + la pantalla LCD ... obivamente... y bien... espero que se pueda hacer esto, *tal cual ese video!!! ... *que aprentando un boton me muestre el circuito A , y de alguna otra forma el circuito B . en una misma pantalla....

*Muchas gracias compañeros!!!  estamos cercaa!!!...*

*PD: les estoy dejando el codigo ASM Originales de los dos circuitos A y B que tengo... + el diagrama. saludos!*
http://www.owenservicepc.com.ar/electronica/circuitosayb.rar





> se podria poner un switch "manual" en el OE para seleccionar el pic que va a ser el que envie....


*Eso no lo entiendo muy bien amigo...*

Pero bueno queria agregar algo mas!  . tentiendo en cuenta que el pic A , (16f84) está casi justo con el codigo, osea, no se le puede meter nada mas, quediaria solo el codigo del 16f876a como para modificar... 
y pensando en esto, si ven los DIAGRAMAS de cada PIC . verán que estan ocupados en todas sus patas, (creo, o almenos para el 16f84) ya que usa un teclado de matris... y bien

pensando un poco igualmente estoy deacuerdo en usar otro PIC 3ro para controlar el LCD, y que los otros dos pics del circuito A y B le manden la información... creo que además seria una forma facil.. solo que no se como hacerlo ni nada de asm!!! :S  ..... jeje.

pero igualmente quiero realizar esto y que funcione, de la mejor manera posible...  usando o no otro pic. pero si es mejor usar otro pic, quisiera saber como... 
de cualquiér otra forma, espero a sus respuestas, para ver si se pueden realizar modificaciones en el ASM de alguno de los dos *(dudo mucho en el 16f84)* y en implementar algun circuito con integrados como del vido.... o bien, si debemos seguir el plan de un Tercer PIC para controlar el LCD...

*gracias nuevamente!! *


----------



## elsquilmes (Ene 12, 2012)

*¿¿¿Alguna ideaa???... *

........................................

Estuve viendo en un link que hay un BUS I2C , que existe para controlar con un PIC la LCD por medio de 4 pines nada más.... esto podria ser de gran ayuda o puede servir para controlar así 2 PICS y mostrar uno o el otro en la LCD??

este es el link: http://www.neoteo.com/microcontroladores-construye-un-lcd-para-i2c-16092

Espero alguna respuesta, aver si alguien lo puede chekear ,,, esta bueno esto porque tambíen ahorra pines del PIC. lo que no se bien es la modificación que se le haria al codigo del pic. pero es un BUS tipo universal, para visualizar cualquier pic. ya que esta controlada la LCD por un pic para eso, o algun integrado segun... 
hay varios modelos creo para controlar la visualizacion de LCD por 2 o 4 pines... nada mas...

bueno espero saber alguna novedad y pronta respuesta!

saludos!! ..


----------



## lubeck (Ene 12, 2012)

A ver si me explico....

El problema de este tema, no es la conexión, ni el hardware, ni nada... de nada el problema esta aqui....



> lo que no se bien es la modificación que se le haria al codigo del pic



*tienes que aprender a programar*.... no creo que nadie te lo vaya a hacer (incluyendome) si te lo hacen pues que bueno... pero te recomiendo que busques temas de programacion de pics y comiences desde cero....

Suerte!


----------



## Gudino Roberto duberlin (Ene 12, 2012)

Hola Lubeck, tal cual como tu dices, la unica alternativa que queda es, obviamente conociendo el programa puede agregarse un par de lineas, de tal manera que en un puerto del PIC que esta enviando info al LCD se mantenga en alto mientras dure la sesion y luego retorne al nivel bajo cuando finalice la comunicacion. Debe implementarse esta modificacion de soft en ambos PIC. De esta forma podemos conmutar de un PIC a otro cuando ambos puertos esten en 0.


----------



## elsquilmes (Ene 12, 2012)

Gracias Lubeck por la recomendacion... es cierto. pero es complicado programar, o ver tantos codigos, si bien tengo conocimientos basicos de programación, no sé totalmente todo como para programar todo un codigo. pero podria ver si consigo hacer alguna modificación para lo que dicen...



> Hola Lubeck, tal cual como tu dices, la unica alternativa que queda es, obviamente conociendo el programa puede agregarse un par de lineas, de tal manera que en un puerto del PIC que esta enviando info al LCD se mantenga en alto mientras dure la sesion y luego retorne al nivel bajo cuando finalice la comunicacion. Debe implementarse esta modificacion de soft en ambos PIC. De esta forma podemos conmutar de un PIC a otro cuando ambos puertos esten en 0.



Gracias Gudino!!. es verdad lo que dices... pero el problema en este caso, es que no se con qué hardware los tengo que unir... osea, yo tengo listos los 2 pics... y los 2 picrcuitos funcionando bien... pero con que hardware los puedo unir??... 

ya plantie esto mas arriba, y es sobre como unir los 2 circuitos y la LCD... porque lo que quiero es poder mostrar uno u el otro... el problema es que además del hardware, los 2 circuitos tienenden a mostrar en el LCD continuamente, almenos en el del termometro reloj, por lo tanto la modificacion es complicada, pienso yo... ...
porque primero antes de moficiar, igual tengo que ver bien que hardware me conviene más, para armarlo y conectar asi los 2 circuitos con la LCD.. de tal forma que pueda cambiár mediante algun pulsador, de un PIC a otro, para mostrarlo en el LCD........ esto es lo que deseo simplemente lograr..

gracias por las respuestas! 

... por donde me conviene empezar entonces? que hardware de conexion es mejor en este caso? ...


----------



## elsquilmes (Ene 22, 2012)

alguien sabe si haciendo este bus con pic para controlar el LCD independientemente de cualquier cuircuito puedo usarlo para ver uno o el otro en este caso??? 
este es el link del BUS de control para lcd independiente: 
http://www.neoteo.com/microcontroladores-construye-un-lcd-para-i2c-16092
graciass


----------



## lubeck (Ene 22, 2012)

> alguien sabe si haciendo este bus con pic para controlar el LCD independientemente de cualquier cuircuito puedo usarlo para ver uno o el otro en este caso???



Bueno.. yo no voy a leer todo el Link pero si es posible usando basic y el protocolo I2C  ver un LCD independiente de Otro.... 

Como ejemplo: el I2C es como un puerto USB de una computadora, y se preguntara si es posible que por el puerto usb de un PC se pudieran conectar varias camaras la respuesta obvia es SI....


----------



## Gudino Roberto duberlin (Ene 22, 2012)

elsquilmes dijo:


> alguien sabe si haciendo este bus con pic para controlar el LCD independientemente de cualquier cuircuito puedo usarlo para ver uno o el otro en este caso???
> este es el link del BUS de control para lcd independiente:
> http://www.neoteo.com/microcontroladores-construye-un-lcd-para-i2c-16092
> graciass



Hola Amigo, has logrado modificar el programa en ambos PICs?. Partiendo de ahi podemos hablar de hardware.


----------



## elsquilmes (Ene 22, 2012)

> es posible usando basic y el protocolo I2C ver un LCD independiente de Otro....


y como lograria esto Lubeck?? porque primeramente, me interesó mucho tu video de 2 pic y 1 lcd!! pero no puedo ver bien el diagrama para probarlo... podrias pasarmelo en livewire o algo porfavor??  gracias!!!...



> Hola Amigo, has logrado modificar el programa en ambos PICs?. Partiendo de ahi podemos hablar de hardware.


Hola Gudino!!.. la verdad es que no he podido modificarlo, porque no tengo mucha idea de ASM y estuve buscando tutoriales, pero tendria que estar como 3 meses estudiandolo para sacar algo! jaja.. y lamentablemente no tengo tanto tiempo... asi que trato de resolver esto como pueda... , partiendo de hardware me seria mas fácil, ya que la idea igual es dejar los 2 PICS con su software como estan... pero poder visualizarlos en un LCD ... gracias!!


----------



## Gudino Roberto duberlin (Ene 22, 2012)

Lamentablemente no resultara, segun planeas. Es necesario modificar el soft, para que la transmision de datos sea controlada y poder cambiar de PIC a monitorear antes de que comience la sig. transmision de datos al LCD, para ello es necesario modificar ambos soft, o bien comenzar de cero. En cuanto al Hardware es sencillo solo son necesarios llaves de 3er. estado.


----------



## elsquilmes (Ene 22, 2012)

Gracias Gudino!... pero entonces no es posible? cuanta modificación hace falta en realidad?
porque según yo pienso, en el PIC 16f876A se puede modificar sin problemas...
pero en el PIC 16f84 no se puede, porque está muy lleno, está justo con su programación, y ya habia intentado alguna vez modificar alguna cosa y no funciona... por mas minima que sea. entonces no creo que sea posible modificar en el 16f84 ,.,., i
Otra opción que pense, es en JUNTAR los dos softwares en un mismo PIC. ya sea cual sea. pero que hagan las 2 funciones de cada pic en uno solo... pero esto también seria complicado , más por software que por hardware...

que tal el diagrama de video de lubeck? podria probarlo sin modificar ningun soft y que funcione??...


----------



## Gudino Roberto duberlin (Ene 22, 2012)

La alternativa de utilizar un solo microcontrolador puede parecer mas sencilla, pero necesitaras armar un solo soft, para todas las funciones que necesitas obviamente.


----------



## lubeck (Ene 22, 2012)

> y como lograria esto Lubeck?? porque primeramente, me interesó mucho tu video de 2 pic y 1 lcd!! pero no puedo ver bien el diagrama para probarlo... podrias pasarmelo en livewire o algo porfavor??  gracias!!!...



El codigo esta en Picbasicpro y simulado en Proteus (no recuerdo la versiones pero son de las ultimas)...
y  no me pidas que lo modifique para que haga esto o aquello, lo hice porque me interesaba saber si se podia hacer y creo que si se puede, era todo mi interes en el tema


----------



## elsquilmes (Ene 22, 2012)

> La alternativa de utilizar un solo microcontrolador puede parecer mas sencilla, pero necesitaras armar un solo soft, para todas las funciones que necesitas obviamente.



Es verdad esto, pero sería mucho más complicado si no se bién como hacer todo el soft... asi que sin ayuda imposible...



> El codigo esta en Picbasicpro y simulado en Proteus (no recuerdo la versiones pero son de las ultimas)...
> y no me pidas que lo modifique para que haga esto o aquello, lo hice porque me interesaba saber si se podia hacer y creo que si se puede, era todo mi interes en el tema
> Archivos Adjuntos DOS 16F628A LCD.rar (33,9 KB (Kilobytes), 0 visitas)


jajaj..  graciass Lubeck!!  ... espero probarlo pronto, asi veo que pasa... posiblemente almenos probandolo con un solo PIC. deberia mostrar sin problemas el dato en el lcd... despues enchufar el otro pic y ver que pasa jajaj... 
 
gracias!..
espero ver que mas novedades me pueden comentar para resolver esto. jeje..
saludos!! !


----------



## harrito89 (Jun 12, 2012)

hola

soy novato en la utilización del VB6 y poseo algunos conocimientos en Picbasic, pero ahora veo a los dos programas como una herramienta necesaria para el proyecto q estoy haciendo, el proyecto consite en contabilizar el tiempo perdido en el paro de una determinada makina y el numero de veces q se resetea el cronometro, esa parte ya la tengo funcionando pero el maestro me dijo q le agregara el numero de paros q hace la makina, un reloj q indique la hora en q se detuvo la makina y la hora en q arranco nuevamente y toda esa informacion mostrarla en el display y transmitirla a un programa en VB6 en su defecto a una hoja de excel.

 anexo codigo en Pic basic y simulacion en proteus

https://www.forosdeelectronica.com/f26/aporte-interfaz-rs232-pic-pc-proyecto-completo-vb6-70992/

 Saludos desde Colombia!!!


----------

