# como enviar un 000 001 010 011 por puerto serial



## robotic (Ago 20, 2010)

Hola amigos del foro, como están?
me preguntaba como podía enviar datos en paralelo a través del puerto serial y cual serian los códigos para hacer esto 000 001 010 011 100 101 110 111 al usar un hscrollbar  en visual basic 6.0.


----------



## Dr. Zoidberg (Ago 20, 2010)

robotic dijo:


> *me preguntaba como podía enviar datos enparalelo [/SIZE]a través del puerto serial*[/size][/SIZE]


  
Estás fumando cosas raras?????


----------



## robotic (Ago 20, 2010)

ezavalla dijo:


> Estás fumando cosas raras?????



jajajaja que chistoso quieres una fumada jajajajaja.
me explico quiero diseñar un circuito que tenga un pic que me recoja los datos seriales y los transforme en paralelo http://sfprime.net/pic16f84/index.htm









alguna idea estoy en lo correcto o no?


----------



## ByAxel (Ago 20, 2010)

Hola:
Esta es una idea...
Conversor Serie - Paralelo con PICmicro


----------



## lubeck (Ago 20, 2010)

> jajajaja que chistoso quieres una fumada jajajajaja.
> me explico quiero diseñar un circuito que tenga un pic que me recoja los datos seriales y los transforme en paralelo



mientras sigas fumando semiconductores va a estar dificil.... jajajaaj...
como es que  quieres transformarlo o mas bien para que...
por ejemplo quieres que un pic le mande a otro pic serial y este ultimo no se al puerto paralelo????

si es asi pues haces la captura yy mandas en binario por los puertos algo asi como la instrucion DCD de pbp...


----------



## robotic (Ago 20, 2010)

lubeck dijo:


> mientras sigas fumando semiconductores va a estar dificil.... jajajaaj...
> como es que  quieres transformarlo o mas bien para que...
> por ejemplo quieres que un pic le mande a otro pic serial y este ultimo no se al puerto paralelo????
> 
> si es asi pues haces la captura yy mandas en binario por los puertos algo asi como la instrucion DCD de pbp...


 esto es lo que quiero hacer


----------



## lubeck (Ago 20, 2010)

mmmm.  que lenguaje usas en el pic????



> EDITO


por lo que me doy cuenta esta incursionando en el mundo de los microcontroladores verdad???
mira esto te puede interesar...
https://www.forosdeelectronica.com/f24/inicio-mundo-pic-41598/


----------



## Dr. Zoidberg (Ago 20, 2010)

Lo que querés hacer es muuuuyyyy fácil!. Solo tenés que recibir los datos por el puerto serie del PIC, lo guardas en algún registro tipo BYTE y luego lo envías al puerto que hayas elegido como salida. No hay ciencia en ese esquema: tres cables de entrada (TX/RX/GND) para el puerto serie y ocho bits (ocho cables) de salida en algún puerto, dependiendo del PIC que uses.
El esquema que has hecho *parece *correcto, pero vas a tener que jugar con los bits por que el puerto serie está en el puerto B del PIC y eso te limita el uso de algunas líneas y vas a necesitar usar las del puerto A para suplirlas. Por otra parte, yo usaría un MAX232 para la interfaz serie a la PC...por seguridad y compatibilidad, vió? Digo, por que si no tenés experiencia con PICs, no vas a saber como lidiar con los problemas derivados de niveles de tensión incompatibles en el puerto serie...


----------



## robotic (Ago 20, 2010)

ezavalla dijo:


> yo usaría un MAX232 para la interfaz serie a la PC...por seguridad y compatibilidad, vió? Digo, por que si no tenés experiencia con PICs, no vas a saber como lidiar con los problemas derivados de niveles de tensión incompatibles en el puerto serie...


entonces necesitaría hacer esto? 
	

	
	
		
		

		
		
	


	



y despues del pic colocar el multiplexor para que le lleguen los datos 001 010 011....?


----------



## Dr. Zoidberg (Ago 20, 2010)

Si, eso es lo que tenés que hacer.


----------



## Chico3001 (Ago 20, 2010)

Un multiplexor no te sirve por que solo activa una salida a la vez y no todas como necesitas, lo que tienes que hacer es usar varios puertos del mismo PIC para colocar tu dato en paralelo, si no tienes suficientes pines entonces puedes usar Latches tipo D (74HC373 o 74HC573) o tambien usar el mismo PIC para enviar la informacion serialmente y usar deserializadores (74LS164)


----------



## Elizabeth Bathory (Ago 20, 2010)

ezavalla dijo:


> Estás fumando cosas raras?????



ajajja sii son pasados!.. como le dicen al muchacho de esa forma vil y tan cruel en la cara... 
solo es confunsion de conceptos


----------



## robotic (Ago 20, 2010)

he llegado hasta este punto, espero que este bien para empezar a trabajar sobre el circuito


----------



## lubeck (Ago 20, 2010)

> y despues del pic colocar el multiplexor para que le lleguen los datos 001 010 011....?



hay otro esquema muy escaso por la red en el que se usa el DTS y TSR (a lo megor me equivoco con las siglas en escencia es lo mismo pero usa la peticion de envio y recepcion de datos, a mi me gusto mas... en fiin todo esto por el uso del Buffer en puerto serial...
ademas del tX y RX claro...


----------



## robotic (Ago 20, 2010)

el circuito del multiplexor cd4051 ya lo tengo armado con los sensores y todo en el protoboard, los 1 y 0 en el ABC se los estoy dando con pulsadores y funciona, es de ahí hacia atrás donde necesito trabajar. para hacerlo desde el pc.


----------



## lubeck (Ago 20, 2010)

oh.. si te refieres a mi comentario.. si si.. yo me referia al circuito del max232 pero para hacer referencia a que me referia a tu comentario puse solo una parte de tu texto... yo estoy trabajando tambien en un proyecto similar y me tope conque se quedan atascados o se pierden los datos en el buffer y se soluciona con el dtr y tsr (o no se que) que se usa con el ocx de vb puede ser que tu no lo necesites...

si no es a mi haz caso omiso de mi comentario...


----------



## Dr. Zoidberg (Ago 20, 2010)

Elizabeth Bathory dijo:


> ajajja sii son pasados!.. *como le dicen al muchacho de esa forma vil y tan cruel en la cara*...
> solo es confunsion de conceptos



Disculpame, pero no es *NI VIL*, *NI CRUEL*; y si no se lo digo en la cara no va a poder corregir el error que ha cometido para que le entendamos cual es el problema. De hecho, tampoco es confusión de conceptos, sino que escribió cualquier cosa que luego corrigió en el proximo mensaje.

PD: Los hombres no hablan (escriben en este caso) como las mujeres, que probablemente hubieran ocupado cuatro páginas del tema para decirle que no se entendía lo que había escrito.


----------



## robotic (Ago 20, 2010)

hola de nuevo compañeros me quede con la duda sirve o no este circuito?


----------



## Dr. Zoidberg (Ago 20, 2010)

robotic dijo:


> hola de nuevo compañeros me quede con la duda sirve o no este circuito?


  
Para hacer qué querés saber si sirve?
Vos has preguntado como enviar datos en serie vía RS232 de la PC y ponerlos en paralelo a un multiplexor: pues ese esquema que has hecho *aparentemente *si sirve para eso, pero habría que ver que programa le ponés al pic para que lo haga...y saber que supone que debe hacer el circuito terminado.


----------



## robotic (Ago 20, 2010)

ezavalla dijo:


> Para hacer qué querés saber si sirve?
> Vos has preguntado como enviar datos en serie vía RS232 de la PC y ponerlos en paralelo a un multiplexor: pues ese esquema que has hecho *aparentemente *si sirve para eso, pero habría que ver que programa le ponés al pic para que lo haga...y saber que supone que debe hacer el circuito terminado.



hola ezavalla gracias por contestar, encontré esto que podría ser algo parecido a lo que quiero hacer (laboratorio 3) http://proteus.110mb.com/Simulaciones_compim_Visual_Basic_p1.html
que opinas?


----------



## lubeck (Ago 20, 2010)

Ya no anda EZ por aqui pero creo que opinaria lo mismo....


que lenguaje usas en el pic????

la pagina que pusiste creo que no tiene los codigos del pic... no recuerdo hace mucho la visite....

aparentemente si sirve ese circuito para lo que quieres hacer...

el max 232 solo sirve para las tennsiones entre el puerto paralelo y el pic

el puerto paralelo maneja 12v(o 15v no recuerdo) y el pic 5v


----------



## Dr. Zoidberg (Ago 20, 2010)

Si lo que vos querés hacer es seleccionar un sensor entre 8 posibles y entregar ese dato, entonces está bien. Si querés hacer lo que hace el ejemplo 3 de ese sitio que me diste, entonces está mal...pero me parece que es lo primero.
Leyendo el dibujo que subiste, solo vas a usar tres bits de un puerto, así que el programa del PIC es extremadamente simple: leés un byte por el puerto serie y lo escribís al puerto donde tengas conectado el multiplexor, teniendo en cuenta de usar los tres LSB del puerto en las entradas de selección para que te coincida con la secuencia de bits que recibís en cada byte, sin tener que rotar ni desplazar nada.
En lenguaje C o BASIC del PIC serían...4 líneas de código?


----------



## robotic (Ago 20, 2010)

ezavalla dijo:


> Si querés hacer lo que hace el ejemplo 3 de ese sitio que me diste, entonces está mal...
> Leyendo el dibujo que subiste, solo vas a usar tres bits de un puerto, así que el programa del PIC es extremadamente simple: leés un byte por el puerto serie y lo escribís al puerto donde tengas conectado el multiplexor,
> En lenguaje C o BASIC del PIC serían...4 líneas de código?



ok gracias, voy a hacer el circuito en proteus no se programar pic asi que espero me puedan dar esas lineas que necesita el pic para enviar los 000 001 010 011...
PD: El ejemplo 3 era para que trataramos de hacer el codigo del pic y del visual basic y hecharlo a andar en el proteus como lo mostraba ese ejemplo que activaba los 8 pines pero para este proyecto son solo 3.


----------



## lubeck (Ago 20, 2010)

> asi que espero me puedan dar esas lineas que necesita el pic para enviar los 000 001 010 011...


esa parte va a ser la mas dificil... es sencillo pero no tanto, debes empezar con proyectos mas fáciles como prender un led con un pic etc... si aprendes a hacerlo probablemente puedas diseñar tu mismo el codigo...


----------



## robotic (Ago 20, 2010)

lubeck dijo:


> esa parte va a ser la mas dificil... es sencillo pero no tanto, debes empezar con proyectos mas fáciles como prender un led con un pic etc... si aprendes a hacerlo probablemete puedas diseñar tu el codigo...



se que no sera fácil pero habrá que intentarlo
encontre un video para explicarlo mejor lo que voy a hacer.


----------



## lubeck (Ago 20, 2010)

> se que no sera fácil pero habrá que intentarlo



Claro que si... pero no esperes que alguien te de el codigo... yo te puse un link donde hay un ejemplo ya echo de eso pero parece que no lo buscaste... eso es lo dificil que alguien te haga las cosa... por lo demas adelante se que si te empeñas lo puedes lograr se ve que te mueves...


----------



## Twistx77 (Ago 20, 2010)

Buenas,

Para empezar tiene que ser en Visual Basic el programa? no puede ser en Java por ejemplo?

Otra cosa porque conectar los sensores al multiplexor no sería más facil conectarlos al PIC directamente o es que son muchos?


Saludos!


----------



## robotic (Ago 20, 2010)

Bueno una imagen vale mas que mil palabras acá esta una parte de mi proyecto


----------



## lubeck (Ago 20, 2010)

mmm... ya entiendo 

se que esta medio descabellado pero si utilizas un potenciometro como este...

http://es.farnell.com/analog-devices/ad5252bruz10/potenciometro-digital-8-bits-i2c/dp/1078385
potenciometro digital I2C
casi batallarias lo mismo y en esencia para eso quieres el micro no???
y la frecuencia (pWM) del motor la podrias hacer con el mismo micro... por lo que no necesitarias el 555 por consiguiente tampoco el i2c y como resultado el puro micro, transistor o mosfet y el motor irian bien...


----------



## robotic (Ago 20, 2010)

lubeck dijo:


> mmm... ya entiendo
> 
> se que esta medio descabellado pero si utilizas un potenciometro como este...
> 
> ...


hola gracias por sus respuestas pero solo concentrence en el pic y en enviar los pulsos 000 001 010 011..... lo demás para abajo esta hecho y esta funcionando y el potenciometro digital lo busque en las 6 casas electrónicas de mi ciudad y no lo tenían así que me vi forzado a improvisar.


----------



## lubeck (Ago 20, 2010)

> concentrence



yo nada mas sugiero se me hace mucho brinco estando el suelo tan parejo....
pides honestidad no???
no creas que lo que ya hiciste no sirvio de nada aprendiste no???
ya cumplio... ahora hazlo solo con un micro... con respecto al codigo se te facilita mucho mas... con una linea... en cuanto al motor...


----------



## robotic (Ago 20, 2010)

lubeck dijo:


> yo nada mas sugiero se me hace mucho brinco estando el suelo tan parejo....
> pides honestidad no???
> no creas que lo que ya hiciste no sirvio de nada aprendiste no???
> ya cumplio... ahora hazlo solo con un micro... con respecto al codigo se te facilita mucho mas... con una linea... en cuanto al motor...



si he aprendido mucho gracias a todas las personas que me han ayudado y no quiero parecer que he dicho algo pesado porque al parecer lo tomaste asi, siempre he sido humilde en mi forma de vivir pero parece que las palabras se tergiversan.  anda dale sigamos con el proyecto por favor.


----------



## lubeck (Ago 20, 2010)

> anda dale sigamos con el proyecto por favor.


yo tambien he sido amable excepto por la broma pero pense que sirviria para romper el hielo...
tambien trate de ser honesto...

pero Vale... yo te puedo ayudar en lo que se de picbasicpro, te sirve???


----------



## robotic (Ago 20, 2010)

lubeck dijo:


> yo tambien he sido amable excepto por la broma pero pense que sirviria para romper el hielo...
> 
> pero Vale... yo te puedo ayudar en lo que se de picbasicpro, te sirve???



por supuesto y gracias por la ayuda 
he hecho esto en proteus donde deberia conectar el pin de los 5 volt que llegan al pic y que deberia salir del DB9?




si puedes lo podrías modificar en el PAINT y yo lo arreglo en el proteus, te parece?


----------



## lubeck (Ago 20, 2010)

> he hecho esto en proteus donde deberia conectar el pin de los 5 volt que llegan al pic y que deberia salir del DB9?


el compimp solo sirve para simular el puerto serie no seria la conexcion definitiva necesitas el max232...
para simularlo conectalo asi...

ya tienes el virtual port...
http://www.eterlogic.com/Products.VSPE.html


----------



## robotic (Ago 20, 2010)

lubeck dijo:


> el compimp solo sirve para simular el puerto serie no seria la conexcion definitiva necesitas el max232...
> para simularlo conectalo asi...
> 
> ya tienes el virtual port...
> http://www.eterlogic.com/Products.VSPE.html



gracias lubeck lo modifico y lo subo y tratare de descargar el virtual port


----------



## lubeck (Ago 20, 2010)

que tanto sabes de basic tienes vb6.0 y el pic basic pro...
R.Si.- ok.... que version???
R.No.- Consiguelos si no no se puede...


----------



## shadown (Ago 20, 2010)

Me van a aventar madres pero no me quedo con la duda, que es eso de "problemas con la incompatibilidad de niveles de tension en el puerto serial????" nunca entendi el porque.


----------



## robotic (Ago 20, 2010)

lubeck dijo:


> que tanto sabes de basic tienes vb6.0 y el pic basic pro...
> R.Si.- ok.... que version???
> R.No.- Consiguelos si no no se puede...



Aca subi el circuito para modificarlo nuevamente




y si tengo el visual basic 6.0



shadown dijo:


> Me van a aventar madres pero no me quedo con la duda, que es eso de "problemas con la incompatibilidad de niveles de tension en el puerto serial????" nunca entendi el porque.



donde leiste eso?


----------



## shadown (Ago 20, 2010)

ezavalla dijo:


> Por otra parte, yo usaría un MAX232 para la interfaz serie a la PC...por seguridad y compatibilidad, vió? Digo, por que si no tenés experiencia con PICs, no vas a saber como *lidiar con los problemas derivados de niveles de tensión incompatibles en el puerto serie*...



Me confundio la explicacion.


----------



## robotic (Ago 20, 2010)

shadown dijo:


> Me confundio la explicacion.



por todo lo que he leido recuerdo que el puerto serial te envia 12 volt positivo y negativo, y el max solo regula ese voltaje a 5 volt y ahi se va hacia el pic.


----------



## lubeck (Ago 20, 2010)

> Me confundio la explicacion


esta clara la idea no??? en esencia...


----------



## robotic (Ago 20, 2010)

*---- Edit por Chico 3001: ----*


> *2.9*  Los usuarios no pueden publicar, solicitar ni difundir información que  promueva el plagio, la piratería, la divulgación de números de serie,  crack o similares, o copias no autorizadas de material protegido por  derechos de autor.


http://www.taringa.net/posts/downloads/5572557/Programas-para-puertos-seriales-virtuales.html


----------



## shadown (Ago 20, 2010)

Ah ok, ya entendi......yo creia que el serial te entregaba 5V, no preguntes donde lo lei, pero asi lo tenia yo entendido, ya sali de la duda.


----------



## lubeck (Ago 20, 2010)

lo puse aqui es gratuito... no pongas enlaces de taringa o sofware pirata normas del foro...
_ https://www.forosdeelectronica.com/posts/348053/ _
atento con los mensajes...

necesitas el picbasicpro consigue el microstudio es mas facil...

son dos el microstudio y uno que se llama pbp246


----------



## Twistx77 (Ago 21, 2010)

Buenas, 

yo te puedo ayudar con el código en el PC y con el código en el PIC. 

En cuanto al código en el PC podrías usar Java o C++ en vez del antiguo basic. Tengo las librerías para trabajar con el puerto con en ambos lenguaje y un ejemplo en cada uno para enviar y recibir. Es bastante sencillo y hay compiladores gratuitos para ambos.

En cuanto a la parte del PIC puedes usar ASM o el C de Hi-tech en versión Lite que vienen con el MPLAB y son gratuitos. Por otra parte podrías usar CCS también aunqque para lo que tu quieres bastará con el de Hi-Tech  que aún en su versión gratuita está bastante bien.

Si te conectas a GTalk podemos hablar. Saludos!


----------

