Curso de programación de PIC en PICBasic Pro

Hola lubeck, justo pensaba en poder hacerlo así en VB6 que es el que mas conozco para programar, para la parte del envió de datos al pic pues pensaba en la transmisión que se usa SEROUT es mas fácil desde mi punto de vista, el dilema esta en que desconozco en como poder crear el servidor/cliente, seria bueno uno tener un sistema el cual tengas acceso desde cualquier parte a través del Internet.

Si tienes la dirección del amigo meta por favor publicarla para chequear, me gustaría poder realizar este proyecto y aparte contribuir con ideas acá en el foro. Gracias lubeck.
 
Si mal no recuerdo meta se dedico ha hacer su trabajo por el lado de visualbasic Net... y se puede como comento acceder desde cualquier punto en la red, como proteccion se podria implementar algun metodo de autenticacion de usuario y listo... (cuando lo hizo lo estuvo publicando en todos los temas asi que no se te hara dificil encontrarlo:D)

yo hice solo un ejemplo de como se hace en vb6.0 y con winsock.. es mas seguro pero tienes el inconveniente que tienes que portar el programa del cliente al equipo que pretendes utilizar...
 
hola de nuevo,

recientemente ando con mis prácticas y ya he llegado a los sistemas LCD y he de decir que ha sido bastante facil. La cosa se complica con el siguiente problema.

He diseñado un circuito en un pic 16f887 con dos pulsadores en el puerto C ( 0 y 1) y un LCD 20 x 4 en el puerto D.

La cosa esta en que definiendo una variable Byte (entre 0 y 255) con nombre Dato cuyo valor es 100 con los dos pulsadores puedo incrementar y decrementar dicho valor y reflejarlo en la pantalla.

EN principio todo bien, el LCD muestra todo correctamente y los Pulsadores estén bien conectados al puerto C y demás pero al pulsarlos no funciona!

Aqui os dejo el código. No se si habré vuelto a dejar escapar algún detalle de los puertos pero para evitar equivocaciones con las salidas analógicas he usado el puerto C.

Código:
DEFINE LCD_DREG PORTD
DEFINE LCD_BITS 4
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE OSC 10

TRISD = 0
TRISC = 1

DATO VAR BYTE
DATO = 100

pause 500
 
LCDOUT $fe,1

INICIO

LCDOUT $fe,2

LCDOUT "LCDVOLUME MONITORING"

LCDOUT $FE, $C0, "LEFT - RIGHT + "

LCDOUT $FE, $94, "VOLUME"

LCDOUT $FE, $D4,"VOL:", #DATO, "    " 

IF PORTC.0 = 1 AND DATO < 255 THEN SUMA

IF PORTC.1 = 1 and DATO > 0 THEN RESTA

GOTO INICIO

SUMA:
DATO = DATO + 1
PAUSE 350

RETURN

RESTA:
DATO = DATO - 1
PAUSE 350

RETURN

END

alguna idea?

Como siempre y desde ya, gracias a todos por vuestra colaboración

UN saludo

Deca



ya me contesto yo.... faltaba el CALL en suma y resta

gracias a todos de todas formas!
 
Última edición:
proyecto 3

Código:
;proyecto display 

;programa que presenta la palabra HOLA en 4 displays pic 16f84A con 
;despalzamiento de derecha a izquierda.

                                
@ device xt_osc  ; oscilador externo XT
define osc 4     ; especifica que se va a utilizar uno de 4 Mhz

trisb=0                      ;puerto b como salidas
trisa=0                      ;puerto a como salidas
x var byte                   ;variable con capacidad de 255

texto:
for x=1 to 20                 ; repeticiones de estye segmento
porta=14:portb=8             ;formacion de la letra A en el dispaly
GOSUB TIEMPO                 ; ir a rutina tiempo
porta=13:portb=71            ;forma la letra L
gosub tiempo                 ; ir a rutina tiempo
porta=11:portb=64            ;forma la letra O
gosub tiempo                  ; ir a rutina tiempo
porta=7:portb=9               ;forma la letra H
gosub tiempo                   ; ir a rutina tiempo
next                          ; siguiente repeticion

for x=1 to 20
porta=14:portb=127            ;apaga el display
GOSUB TIEMPO                   ; ir a rutina tiempo
porta=13:portb=8              ;forma la letra A
gosub tiempo                  ; ir a rutina tiempo
porta=11:portb=71             ;forma la letra L
gosub tiempo                  ; ir a rutina tiempo
porta=7:portb=64               ;forma la letra O
gosub tiempo                  ; ir a rutina tiempo
next

for x=1 to 20
porta=14:portb=9               ;forma la letra H
GOSUB TIEMPO                   ; ir a rutina tiempo
porta=13:portb=127             ;apaga el display
gosub tiempo
porta=11:portb=8                ;forma la letra A
gosub tiempo
porta=7:portb=71                ;forma la letra L
gosub tiempo
next

for x=1 to 20
porta=14:portb=64            ;forma la letra O
GOSUB TIEMPO
porta=13:portb=9              ;forma la letra H
gosub tiempo
porta=11:portb=127             ;apaga el display
gosub tiempo
porta=7:portb=8                 ;forma la letra A
gosub tiempo
next

for x=1 to 20                   ;forma la letra L
porta=14:portb=71
GOSUB TIEMPO
porta=13:portb=64                ;forma la letra O
gosub tiempo
porta=11:portb=9                ;forma la letra H
gosub tiempo
porta=7:portb=127               ;apaga el display
gosub tiempo
next
goto texto                      ;IR A TEXTO

TIEMPO:
PAUSE 5                        ;espera5mls
RETURN                         ;returna al gosub que la llamo 
end                             ;fin deel programa

con este programa de aprende a utilizar el multiplexado para manejar varios displays

amigo me gustaría que me mostrara las letras en un solo display
 
amigo me gustaría que me mostrara las letras en un solo display
Intenta hacerlo tu mismo, mostrar las letras en un solo display es mas fácil.
El código seria algo como esto...


trisb=0

MainLoop:
portb=%XXXXXXXX ' Bits que formaran la letra o número
pause 1000 ' Esperar un segundo
portb=%XXXXXXXX ' Se repite para la otra letra etc.
pause 1000 ' Esperar un segundo

goto MainLoop ' Repetir el ciclo
end

Repites el código en verde las veces que letras quieras mostrar.

Con este programa se te hará mas fácil obtener los bits para el display de 7 segmentos.

Generador de código para displays de 7 segmentos

Suerte.
 
bueno ya te contestaste... :D

No pude encontrar el block que me mencionaste, mis dudas son como puedo subir el programa hecho en VB6 en un servidor en internet? Estaba buscando informacion porque mi intencion es que el PIC funcione conectado directamente al Internet sin necesidad de la PC y vi por ahi al SitePlayer.

http://www.superrobotica.com/S310255.htm

No se si hay otra manera de conectar el PIC directo sin necesidad del SitePlayer.
 
yo no mencione ningun block, si dices el blog de meta reviza su firma...:unsure: si no lo encuetras ahi es que ya lo quito, o no lo buscaste bien... yo lo baje pero no se donde quedo...
o usa el buscador y pon las palabras interfaz viual basic....
ojo que el programo el pic en ASM o C no recuerdo....

mis dudas son como puedo subir el programa hecho en VB6 en un servidor en internet?
que yo sepa no se puede o no esta muy facil... por eso te digo que uses visual basic net... ahi si se puede pero yo no lo he hecho.... no se que tan claro te quede esto....

Estaba buscando informacion porque mi intencion es que el PIC funcione conectado directamente al Internet sin necesidad de la PC y vi por ahi al SitePlayer.
ese es otro metodo que yo desconocia hasta que lo pusiste....

los modulos que yo te mencionaba son estos...
http://es.aliexpress.com/product-fm...ce-module-SPI-network-module-wholesalers.html
en cuanto a su funcionamiento lo desconozco... pero se que no necesitas un PC...

consejo....

haz el proyecto que se te haga mas facil... o que puedas entender y realizar, si piensas en sacar el mejor proyecto con respecto a eso, olvidalo ya existen proyectos con pantallas tactiles, conexion a internet via smartphone y no se cuantas cosas mas (en cuanto a domotizacion)...:D
 
Última edición:
a que se refiere con 16 capas???

que en el interior de la PCB tiene mas capas???
si batallo con una, dos muy difícil, treesss imposible, 16 inimaginable...:D

porque no usas el Ares de proteus... esta bueno... y si simulas en el ya no batallas en andar pasando de aqui para alla... digo como sugerencia... y no yo no he usado el freePCB

hola lubeck, si en los pcb de alta tecnologia puedes encontrar hasta 16 capas de circuito impreso por eso sí te fijas el pcb de un celular por ejemplo nunca es traslucido siempre es completamente opaco, yo he hecho algunos pcb hasta de 4 capas artesanalmente pero quiero hacer mis pcb de manera profesional por eso quisiera saber como funciona el FREEPCB, gracias por haberme respondido
 
Última edición:
hola :D:D:D alguien sabe como puedo regular velocidad de motor universal con pic;



:LOL:intente con un moc3041 que activa a su vez un dimmer o variac electro. esto se podria aplicar a un lavarropas con este tipo de motor en los cuales llevan una placa con un tda no se cuanto que es un integrado especial para regular la corriente del motor pero se podra con un pic de alguna forma?:unsure::LOL::enfadado::LOL:
 
Última edición:
a que te refieres con motor universal???

quizas a un motor de corriente directa??? si la respuesta es si... con PWM.. ya sea por software o hardware segun sea el requerimiento..
 
ya vi que es un motor universal :LOL:

un motor monofasico de alterna :D

con un dimmer con pic (asi buscalo)...

UniversalMotorContorl-TRIAC.gif


puede no llevar el sensor de velocidad y de corriente...
 
:eek::LOL: ok bien pero como mando en basic al gate del triac porque probe con un moc 3041 y un triac bt y lo que hace no es muy bueno:eek:hno: arranca de golpe muy fuerte sus revoluciones , esto debe empezar despacio para lavado y luego pasar a centrifugado no se si viste un lavarropas a que velocidad gira
 
bien lubeck en pocas palabras manos a la obra, voy a tener que hacer variar los tiempos de la gate o pero siempre con con un opto me da cosa ponerlo asi nomas a linea despues comento como mefue graias
 
Oki... tu decides, con opto tiene que ser uno sin cruce por cero como el moc3011 y un triac unipolar o bipolar, sin opto tiene que ser un triac unipolar y gate sensible y si funciona , en ese experimento a mi se me quemo el micro quizas por tratar de utilizar un bipolar....


me da cosa ponerlo asi nomas a linea
no se pone asi nomas, se le pone una resistencia limitadora de 5M, o mas yo creo, digo en tu caso que usas 220v, le tienen que llegar algo asi como 35uA al puerto..

y la deteccion de cruce por cero la tienes que hacer si o si con el pic en ambos casos con opto o sin opto...

suerte..
 
Última edición:
Atrás
Arriba