En lo que a mi respecta, sólo te podré ayudar con la comunicación serial, lo demás ya corre por tu cuenta.buenas noches amigos por favor les pido podrían ayudarme con este proyecto. se trata de una red de suministro de agua automatizada.
la misma posee :
sensores de flujo (sensor hall, salida cuadrada, 0 y 1, 0v y 5v)
sensor de nivel (sensor ultrasónico hc-sr04)
pic16f877a
comunicación serial inhalambrica entre pic y pic, (transceiver kyl-210)
comunicación serial entre pc (visual basic) y pic
electroválvulas 12vdc
entre otros..
en principio pensaba utilizar 3 pic16f877a;
uno para el control y monitoreo de sensores válvulas... recibir y enviar información inalámbricamente por su puerto serial portc.6 y portc.7..con el transceiver kyl-210.
otro para recibir y enviar información por el puerto serial portc.6 y portc.7 inalámbricamente igual con otro kyl-210... este a su vez activaría alguno pines entre 1 y 0 los cuales se conectaban a un tercer pic.
este tercer pic, según el estado de los pines enviaba o recibia información a o desde la pc igualmente por su puerto serial portc.6 y portc.7 en un programa en visual basic donde se visualizara todo el proceso..
otro para recibir esa información...
este simulando, me funcionaba , si se puede decir bien. los tres pic y visual basic se comunicaba bien..
pero me entere que se puede enviar y recibir datos por cualquier pin del pic. entonce decidi reducir la cantidad de pic a 2.
aquí fue donde comezo todo el problema!
no he podido comunicar los 2 pic inhalambricamente. ya que uno de ellos se comunicara al pc por su puerto serial portc.6 y portc.7, y también se comunicara con el otro pic mediante el transceiver kyl-210 pero a otros pin cualquiera del pic (ya he probado varios y nada). y el otro pic solo se conecta al kly-210 ademas de los sensores y válvulas.
puedo observar por que los kyl-210 tiene luces para tx y rx. y si están enviando y recibiendo (pero al parecer no en el mismo idioma) y lo pruebo conectando el otro kyl-210 a la pc por rs-232 y con un programa que es para probar los mismos, y me envía caracteres muy diferentes a lo que quiero que envie o reciban..
por favor me podrian decir que estoy haciendo mal???
el serin y serout desde otro pin del pic funciona igual?
o cuales tengo que utilizar?? serin2, serout2, hserin, hserout, debug, debugin??? y si me pueden decir como seria???
y otra consulta como desactivo el conversor a/d del pic16f877a??? necesito esos pines como entradas y salidas, pa los sensores de nivel (hc-sr04), que aun no incluyo en programación.
por favor ayúdenme no ignoren este mensaje ni lo borren.. por favor... solo necesito una ayudadita de ustedes los expertos..
Existen algunos problemas al tratar de establecer comunicación serial a 9600 bps,
con tan solo 4MHz como frecuencia de reloj para el PIC, "Ésto ya se a tratado en otros temas".
Al ser PICBasic Pro un lenguaje de alto nivel, utiliza recursos y no los registros para lograr un propósito.
Así que para trabajar en PBP a 9600 bps, es recomendable aumentar la frecuencia de reloj.
También es importante tener en cuenta las temporizaciones del programa para que no exista desincronización.
Se debe también tener en cuenta que pasará tras el regreso de una sub rutina y su continuación.
He modificado solamente el primer programa, qué es dónde realizas doble recepción y transmisión de datos.
Pruébalo con la interfaz que adjunto creando dos instancias.
"Crear dos instancias, es ejecutar dos programas idénticos a la vez."
Una instancia la configuras para trabajar virtualmente por el puerto 3, y la otra para trabajar por el puerto 5
Cada vez que se crea una nueva instancia, el programa pregunta si se desea crear otra nueva.
Cada instancia del programa tendrá un identificador de ventana "Handle Window" ó HWND
También se le puede identificar por el número de conexión al puerto en la parte baja del programa.
Debido a tus pocos conocimientos en el tema de PBP y RS-232, sé que te costará algo de trabajo entender.
Pero aquí tienes un tema que te puede ayudar bastante en tu proyecto.
Interfaz RS232 PIC PC (Proyecto Completo VB6)
Adjunto el programa con los cambios realizados, dónde ya se puede establecer comunicación bilateral.
Suerte.
Adjuntos
Última edición: