Controlar PC desde otro PC

He estado pensando en hacer algo parecido en el LCD 16x2. También si es posible cambio al 20x2 o 20x4 si hace falta.

tabla78.jpg


Los asteríscos * significa R-1 en ON y nada significa OFF. Se puede hacer mejor, de momento lo he hecho así por ahora si surgen nuevas ideas entre tod@s.
 
Última edición:
Hola de nuevo:

LCD_02.jpg

Nos ha tocado un poco de programación que nos hemos pegados horas y horas para hacerlo todo bien, en el cual presentamos el código fuente. Puedes mejorarlo y hacerlo saber.

Por ahora cada dos por tres se guarda los datos en la EEPROM interna, que con el tiempo se daña ya que su actualización de datos es muy constante. Se hará un circuito que al perder la alimentación del PIC, detecte en un pin que lo ha perdido pero un condensador con tiempo suficiente para que le de tiempo a guardar los datos en la EEPROM.

En resumen.

Se utilizará lo datos en la memoria RAM a parte que es más rápida trabajando. Sólo se guardará los datos del puerto B en la EEPROM interna del PIC cuando pierda la alimentación apoyado con un condensador. Así durará más el PIC.

Si por cualquier motivo se va la luz eléctrica, se queda con los últimos RELÉS activado que has seleccionado.

Saludo.
 

Adjuntos

  • FirmWare_v0.18.rar
    27.3 KB · Visitas: 80
Última edición:
Hola:

Acaba de instalar Visual C# 2010 Express Beta 2 y me gusta la nueva interfaz. Más me gustó la famosa gráfica igual que el Excel. Quiero hacer otra vez una remodelación pequeña sobre el manual de controlar el puerto serie y que te muestre gráficas de lo que estás haciendo o has hecho con pulsar cada botón.

grafica3mayo.gif


0.jpg


Miren el Visual C# 2010 Express Beta 2.

graf2.gif


graf3.gif


No se si se podrá usar el PIC por puerto serie directamente controlado con Excel 2007 o el Calc del OpenOffice 3.1.1. Aún así también investigaré ese campo.

Un cordial saludo.
 
Última edición:
Hola Javi:

En el código fuente al pulsar la letra "i" en el Terminal del Proteus me sale doble palabra y se desplaza, no se el motivo.

terminal.jpg


lcdani.gif


El código es este:
Código:
Mensaje_Info
    DT "FirmWare v1.00  "
    DT ENTER, CAMBIO_LINEA
    call    LCD_Linea2
    DT " PIC16F84A       "
    DT ENTER, CAMBIO_LINEA
    call    Retardo_2s
    call    LCD_Linea1
    DT "metaconta      "
    DT ENTER, CAMBIO_LINEA
    call    LCD_Linea2
    DT "@gmail.com", 0x00
    call    Retardo_2s
    call    LCD_Linea1
La única manera chapuza para resolverlo en meter un espacio, aún así se dezplaza y copia el espacio pero disimula más.

Código:
Mensaje_Info
    DT "FirmWare v1.00  "
    DT ENTER, CAMBIO_LINEA
    call    LCD_Linea2
    DT " PIC16F84A       "
    DT ENTER, CAMBIO_LINEA
    call    Retardo_2s
    call    LCD_Linea1
    DT " metaconta      "
    DT ENTER, CAMBIO_LINEA
    call    LCD_Linea2
    DT " @gmail.com", 0x00
    call    Retardo_2s
    call    LCD_Linea1


Otra cosa:
En el momento que se pulse la letra 'i', se queda como esclavo, es decir, que cuando pulse un relé en ON por ejemplo, no lo hace hasta que acabe los mensajes de información.

Por lo que estoy leyendo en la página 256 del libro www.16f84a.org no habla de interrupción contra retardos al menos con el 16F84A. No se si el 16F88 tendrá o otro PIC se podrá interrumpir el proceso con interrupción. Otra solución por lo que veo es usar el Timer que si se puede hacer, por ahora no se nada programarlo.

Saludo.
 

Adjuntos

  • PicRS232.zip
    49.9 KB · Visitas: 65
Última edición:
muy interesante tu proyecto, Meta

yo al lado de ustedes soy un picapiedra!!!

apenas estoy con los vúmetros :LOL:, y tengo algunas dificultades.

jajajajajajajajajajaja

a mí tambien me gusta mezclar el lenguaje programativo (o como sea que se diga :LOL:) y la electronica. Es obvio que estudiaste MUCHO para hacer lo que estás haciendo, cómo se llama la carrera??

y que edad tienes??, de grande quiero saber tanto como tú y más aún.

sale.. mucho éxito, que alcances todas tus METAs

jejejeje... por cierto,voy a probar uno de tus primeros archivos (cliente y servidor). Hay te digo como me fue....

no me había dad cuenta, ya llevas dos años en este foro :LOL:


Estas sooooooon las mañaniiiiiiiiiiiiiiitas que cantaaaaaaaaaba el rey Daviiiiiid :LOL:XD:LOL::LOL::LOL:XD


disculpame, pero creo que ya dí mucho por hoy ^^...
 
Última edición:
Hola:

Estoy aprendiendo siendo autodidacta con el libro www.16f84a.org , otro mini libro de C# y sobre todo, buscar información por internet, algún que otro foro y en especial este mismo que estás leyendo.

Para que lo sepa, no se gran cosa como crees, soy aprendiz como usted.

Esperando respuesta de tus opiniones o sugerencias de los ejemplos del programa para mejorarlo.

Saludo.
 
Última edición:
Hola:

Bueno, ya hemos probado el cliente servidor enviando textos, y funciona. Lo pueden probar entre ustedes. Port 8888. Ahora toca averiguar como envío datos al puerto serie desde el PC1-Cliente.

Falta mejor diseño en los programas. Por ahora voy a intentar si soy capaz de enviar al servidor comandos para manjar el puerto serie y saber si funciona.

Cada vez avanzamos algo.

Vamos a ver como queda la cosa.

NOTA:
No se recomienda poner la IP publicamente aquí.


Cómo le hago para probarlo??

tengo dos computadoras, y quisiera mantener una comunicación constante enviando mensajes de una a otra con tu programa

tengo me descargué el PC-Cliente 1.0 y el PC-Cliente v0.3 con sus respectivos servidores
 
aejjejeej, me olvidé de ponerlo, sorry, es aquí.

Descargar

Aún así estoy por si me da hacerlo con más pines como el 16F887, 8 entradas digitales, 8 salidas digitales, 8 entradas analógicas para sensor de temperatura, etc...

Saludo.
 
jijijiji... velo por el lado bueno... echando a perder se aprende...

y creeme.... te fuiste barato.... en la escuela un cuate quemo como 10 sistemas minimos con todo y pantalla lcd... cada uno costaba alrededor de 70 usd, y todos el mismo dia...
 
Es cierto, pero no quiero aprender perdiendo dinero, ajjajaja.

Ahora estoy para hacer una insoladora con un escaner que también presentaré como proyecto incluido su temporizador.

Al mismo tiempo estoy haciendo el grabador bomba para el revelado de las PCB.

Saludo.
 
Hola:

Siguiendo el método ahora con el PIC16F887 (sustituto del 16F877A). Hay algo que no me funciona.


- Poner en el HyperTerminal ya que por ahora este si funciona, la palabra IN fijamente sin alterar nunca a pesar de cambiar los estados de los relés.

in.png

Les dejo un ejemplo completo a descargar.

Saludo.

PD: Mejor usar un PIC que detecte 8 entradas digitales, 8 salidas digitales mediante puerto serie y por Internet, después unas 6 entradas digitales con pulsadores.
 

Adjuntos

  • PicRS232 16F887.zip
    75.7 KB · Visitas: 56
Última edición:
Hola:

Necesito colaboración en este sentido ya que no encuentro el fallo para resolver este error. Debe ser solucionado para poder hacer lo del LCD.

Error[128] I:\PIC16F84A\PICRS232 16F886\PICRS232V2.ASM 682 : Missing argument(s)
Error[128] I:\PIC16F84A\PICRS232 16F886\PICRS232V2.ASM 689 : Missing argument(s)
Error[128] I:\PIC16F84A\PICRS232 16F886\PICRS232V2.ASM 696 : Missing argument(s)
Error[128] I:\PIC16F84A\PICRS232 16F886\PICRS232V2.ASM 703 : Missing argument(s)
Error[128] I:\PIC16F84A\PICRS232 16F886\PICRS232V2.ASM 710 : Missing argument(s)
Error[128] I:\PIC16F84A\PICRS232 16F886\PICRS232V2.ASM 717 : Missing argument(s)
Error[128] I:\PIC16F84A\PICRS232 16F886\PICRS232V2.ASM 724 : Missing argument(s)
Error[128] I:\PIC16F84A\PICRS232 16F886\PICRS232V2.ASM 731 : Missing argument(s)
El circuito en Proteus está más actualizado y el .asm.


El LCD será de 4x20.

Código:
 1 2 3 4 5 6 7 8 RL
 0 0 0 0 0 0 0 0 IN
 0 0 0 0 0 0 0 0 OUT
 *** ALARMA    ***
Línea 1: Siempre es fija y indica los 8 relés. RL significa Relé.
Línea 2: Significa las entradas digitales activadas. Cuando una entrada digital está activo, se pone en 1. IN significa entrada.
Línea 3: Salidas digitales o de los relés, 0 desacrivado y 1 activado. OUT significa salida.
Línea 4: Mensajes de aviso, alerta o alarma. Puede ser fijo, parpadeo o desplazamiento.

Mi problema son dos. No logro poner el IN fijamente en todo momento en la línea 2.

El segundo problema es que no puedo lograr primero, colocar pulsadores como entrada al PORTC y que funcione en el PIC. Más adelante memeteré en el problema de que aparezca en la línea 3 del LCD y el HyperTerminal de Windows.

Desde que logre todo el proyecto en simuladores, lo haré realidad con su manual incluido. Quiero hacerlo bien de entrada para poder comprar todos los componentes y montarlo en PCB, luego se les pasará fotos con sus avances.

Avanses por el momento.
sinttulo1kvk.png


pcserver.png


Edito:

Teniendo el puerto C como entrada digitales. Quiero controlar las salidas digitales que son los 8 relés del puerto D.

Saviendo que por el puerto serie también controla el puerto D. ¿Cómo logro para hacer funcionar el puerto D con los pulsadores o interruptores del puerto C?

Saludo.
 

Adjuntos

  • PicRS232 16F887 v0.2.zip
    83.2 KB · Visitas: 51
Última edición:
Para que se entienda, la idea es controlar el puerto C como entradas digitales y el HyperTerminal el mismo puerto D como salida que son los relés. Este es el objetivo que debo hacer ahora.

dibujoimi.jpg


Por aquí se intenta resolver. Se está optando por usar dos PIC para conseguir el objetivo.

sinttulo1yry.png


Saludo.
 
Última edición:
Hola:

Aún con problemas. Tenía esperanzas en solucionar el problema sobre el desbordamiento del PIC16F887. Como tiene 8 niveles decidí optar por el PIC18F4550 con 32 niveles de pila o stack.

Tanta adaptación de un PIC a otro que me da el mismo problema de desbordamiento, sobre pasa los 32 niveles.

Al compilar:
----------------------------------------------------------------------
Debug build of project `I:\PIC16F84A\PicRS232 16F4550\18F4550.mcp' started.
Language tool versions: MPASMWIN.exe v5.35, mplink.exe v4.35
Preprocessor symbol `__DEBUG' is defined.
Sun May 30 07:54:28 2010
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "I:\PIC16F84A\PicRS232 16F4550\PicRS232v2.o".
Clean: Deleted file "I:\PIC16F84A\PicRS232 16F4550\PicRS232v2.err".
Clean: Deleted file "I:\PIC16F84A\PicRS232 16F4550\PicRS232v2.hex".
Clean: Deleted file "I:\PIC16F84A\PicRS232 16F4550\PicRS232v2.lst".
Clean: Deleted file "I:\PIC16F84A\PicRS232 16F4550\PicRS232v2.cof".
Clean: Done.
Executing: "C:\Archivos de programa\Microchip\MPASM Suite\MPASMWIN.exe" /q /p18F4550 "PicRS232v2.asm" /l"PicRS232v2.lst" /e"PicRS232v2.err" /d__DEBUG=1
Warning[202] I:\PIC16F84A\PICRS232 16F4550\PICRS232V2.ASM 533 : Argument out of range. Least significant bits used.
Warning[202] I:\PIC16F84A\PICRS232 16F4550\PICRS232V2.ASM 676 : Argument out of range. Least significant bits used.
Warning[202] I:\PIC16F84A\PICRS232 16F4550\PICRS232V2.ASM 705 : Argument out of range. Least significant bits used.
Warning[202] I:\PIC16F84A\PICRS232 16F4550\PICRS232V2.ASM 740 : Argument out of range. Least significant bits used.
Executing: "C:\Archivos de programa\Microchip\MPASM Suite\mplink.exe" /p18F4550 "PicRS232v2.o" /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /o"PicRS232v2.cof" /M"PicRS232v2.map" /W /x
MPLINK 4.35, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Errors : 0


Loaded I:\PIC16F84A\PicRS232 16F4550\PicRS232v2.cof.
----------------------------------------------------------------------
Debug build of project `I:\PIC16F84A\PicRS232 16F4550\18F4550.mcp' succeeded.
Language tool versions: MPASMWIN.exe v5.35, mplink.exe v4.35
Preprocessor symbol `__DEBUG' is defined.
Sun May 30 07:54:58 2010
----------------------------------------------------------------------
BUILD SUCCEEDED

hgfhdgfhfghgjghfgjehe.png


Parece provocado por una subrutina. Más me creo que sobrepasa el límite de la tabla.

Un cordial saludo.
 

Adjuntos

  • 18F4550.zip
    89.1 KB · Visitas: 54
Atrás
Arriba