Curso de programación de PIC en PICBasic Pro

tienes alguna simulacion ya preparada....

yo creo que si lo quieres divir a cuatro digitos seria mas o menos asi..

RD var word
B Var byte
Random Rd
b.0=RD.0
b.1=RD.1


jajaja es una jalada pero a ver si funciona... ejejje
 
Gracias buena esa dame unos minutos ya la estoy haciendo, crei haberla hecho pero como que se borro, apenas la termine la subo (y)
 
Si funciono :D , lo simule asi para un numero de 1 a 4...

Código:
p1 VAR word 
p2 var word

Inicio:

random p1
P2=0
p2.0=p1.0
p2.1=p1.1
p2=p2+1
lcdout $fe,1,#p2
pause 1000
GOTO inicio
 
(y)Dale yo ya casi termino la parte de la simulación y el código completo, con niveles, etc...



Ya la acabo de terminar aun no he colocado la parte de tu código la hice con el primer ejemplo.
Como funciona: El primero te enciende un led de un color y luego tu tienes que precionar el boton correspondiente a ese color si es correcto te muestra el siguiente color, si no suena una alarma 3 veces, de momento voy solo por el primer nivel:D
Revisalo y me avisas

:DOk ya logre avanzar aunque el código es un desastre funciona genial es solo la base del juego claro esta, aunque tiene para unos 127 niveles mas o menos según la capacidad de la eeprom, aquí el nuevo código, la simulación no la habia colocado :rolleyes: disculpa no me di de cuenta pero ya la coloque, espero ahora si puedas ver como funciona...(y)

Esta todo en el archivo SIMON SAY 16F628A2.RAR

Actualice de nuevo el código ahora tiene un sistema antirebote una mejora para poder jugar sin echarle la culpa al pulsador, al presionar el espera hasta que se suelte el botón para mostrar el nuevo color o para continuar con el siguiente pulsador.(y)

Y como simpre un video demostrativo:


y otro de un juego interesante que pudiera hacer mas adelante :devilish: :

 

Adjuntos

  • SIMON SAY 16F628A2.rar
    33.8 KB · Visitas: 144
Última edición:
Les dejo un ejemplo de como leer una sonda lambda (0.1mV-1.1mV)para saber si la mezcla de combustible en nuestros vehiculos es rica o pobre...
En paralelo al voltimetro creado, implemente un software de Lubeck para jgar con un pequeño grafico alojado en la CGRAM del lcd...
Este mismo ejemplo, se puede aprovechar para medir la intensidad de señal recibida en nuestros prpoyectos de RF. Por ejemplo el modulo RLP434A, tiene una patilla denominada RSSI. Este pin, es una salida analogica que nos da una tension proporcional a la intensidad de la señal recibida... Por lo que lei, no todos los modulos receptores tienen esta funcion, y ademas, no todos funcionana de la misma manera...


Código:
[B];**************
 EJEM_VOLT:
   LCDOUT $FE, 1 
   lcdout " EJEMPLO BASICO "
   LCDOUT $fe,$C0,"VOLTIMETRO LAMBDA"
   pause 1500
 LCDOut $fe, $48, $00, $00, $00, $00, $00, $00, $1F, $1F   'Figura 1.
 LCDOut $fe, $50, $00, $00, $00, $00, $1F, $1F, $1F, $1F    'Figura 2.
 LCDOut $fe, $58, $00, $00, $1F, $1F, $1F, $1F, $1F, $1F     'Figura 3.
 LCDOut $fe, $60, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F      'Figura 4.
 EJEM_VOLT1:
   if botonMODO = 0 then PUBLI
   ADCIN 1, Res1
 Volts3 = Res1 * Conv1 
 Volts4 = Res1 * Conv2 
 Volts4 = Volts4 / 100
 Volts3 = Volts3 + Volts4 
 if volts3 > 800 then nivel5E
 if volts3 > 600 then nivel4E
 if volts3 > 400 then nivel3E
 if volts3 > 200 then nivel2E
 if volts3 < 200 then nivel1E
 goto EJEM_VOLT1
 
 nivel1E:
 pause 100
 LCDOUT $FE, 1
 LCDOUT $fe, $C0,"VE= ",DEC4 Volts3 , "mV"
 LCDOut $fe,2,"Mezcla muy POBRE" 
 LCDOut $fe,$CB, 1
 goto EJEM_VOLT1
 
 nivel2E:
 pause 100
 LCDOUT $FE, 1
 LCDOUT $fe, $C0,"VE= ",DEC4 Volts3 , "mV"
 LCDOut $fe,2,"Mezcla POBRE"
 LCDOut $fe,$CB, 1 
 LCDOut $fe,$CC, 2
 goto EJEM_VOLT1
 
 nivel3E:
 pause 100
 LCDOUT $FE, 1
 LCDOUT $fe, $C0,"VE= ",DEC4 Volts3 , "mV"
 LCDOut $fe,2,"Mezcla BUENA"
 LCDOut $fe,$CB, 1 
 LCDOut $fe,$CC, 2
 LCDOut $fe,$CD, 3
 goto EJEM_VOLT1
 
 nivel4E:
 pause 100
 LCDOUT $FE, 1
 LCDOUT $fe, $C0,"VE= ",DEC4 Volts3 , "mV"
 LCDOut $fe,2,"Mezcla RICA"
 LCDOut $fe,$CB, 1 
 LCDOut $fe,$CC, 2
 LCDOut $fe,$CD, 3
 LCDOut $fe,$CE, 4
 goto EJEM_VOLT1
 
 nivel5E:
 pause 100
 LCDOUT $FE, 1
 LCDOUT $fe, $C0,"VE= ",DEC4 Volts3 , "mV"
 LCDOut $fe,2,"Mezcla muy RICA"
 LCDOut $fe,$CB, 1 
 LCDOut $fe,$CC, 2
 LCDOut $fe,$CD, 3
 LCDOut $fe,$CE, 4
 LCDOut $fe,$CF, 4
 goto EJEM_VOLT1
 ;*****************[/B]

577265_328050633933176_100001847260916_781126_658946010_n.jpg

Media desprolija mi entrenadora :oops: , pero es lo que hay por el momento :LOL:
 
hola torres, como va todo? se ve muy bueno tu proyecto, creo que en estos dias me van a traer una de esas sondas para agregarle a un tacometro que me encargaron ¿algun videito por ahi? saludosss
 
D@rio

Tiempo sin leerte, espero que estes bien y no te haya ganado el Gyroscopo de la Consola.

Justo ayer webeando otras cosas en nuestro país me salio una página con un Gyro Analógico LPR550AL de ST que aunque discontinuado de fabricación me parece que tiene un buen precio $106 (u$s23.83).

Te iba a mandar la info por MP pero viendo que ingresaste al foro lo hago por aquí.



Saludos, JuanKa.-
 
hola torres, como va todo? se ve muy bueno tu proyecto, creo que en estos dias me van a traer una de esas sondas para agregarle a un tacometro que me encargaron ¿algun videito por ahi? saludosss
Dale, te armo algo y subo... Hay dos tipos de sensores lambda y la señal de ambas son totalmente distintas... Para el caso, con la velocidad de muestreo en display y refrezco de datos en la lectura del adc, vas a poder leer cualquiera de las dos sondas... En mi opinion, si queres colocarle un hall meters en un tacometro, yo me inclinaria por el diseño con el CI especifico que convierte frecuencia en tension (no me acuerdo si era el LM3914 o el LM3907)... hay uno de marca comercial, que viene justamente con este CI, y es diminuto el circuito...
Ahora, si te interesaria meterle dentro del tacomentro, el emulador de sonda lambda que subi hace un tiempo atras en el foro, se pone mas interesante :unsure:
basicamente lo que hice, fue leer el valor real de la sonda lambda y verificarlo en el display... en paralelo, lo que hice, fue crear una salida analogica con un pwm (un filtro con un capacitor y una resistencia), y este valor espejo con el valor de entrada, podia ser modificado incrementando o decrementando el valor en %.... Con esto lo que logramos es engordar un poco mas la mezcla a gusto nuestro (creo que vistes las fotos en mi facebook...¿no?). Quiero aclarar un punto que mucos desconocen... No es cuestion de solo darle mas y mas combustible para tener un poco mas de potencia... tambien hay que darle aire ;)
Tenia otra version beta donde jugaba con otros sensores mas a la vez (map y NTC) y con eso si lograba tener una mayor performance en cuanto rendimiento se trataba... con el MAP y la NTC, jugaba un poco con el avance del motor y con el corrector de Sonda Lambda, lo engordaba de combustible un poco mas.... lamentablemente, se me ponia lento los valores espejos en las salidas y no lograba tener algo estable (seguro que era muy mala la programacion) y eso no me dejo seguir con la idea de mi proyecto (sumarle un cuerpo motorizado para darle mas aire a la admision)...
En fin, 1uizas se pueda tratar en este topico si a alguien le interesa y con eso sacar adelante una manera mas de tunear nuestro auto, sin tener que modificar parametros en la ECU como ya lo hice en mi suzuki fun...
Por ejemplo, si se pudiera crear el control porcentual de los valores obtenidos por los sensores MAP, lambda y NTC; se podria llegar a crear mapas fijos para distintos tipos de dias (es terrible lo que influye el factor climatico en sistemas de inyeccion electronica con chip tunning)...
Que te interesaria que te filme? como va conectado? como funciona? chiflame

edito: aca te dejo algunas imagenes de la version 1.0 (corrector de sonda lambda)
Ver el archivo adjunto 57778


este es otro proyecto antiguo (tacometro, limitador RPM, controlador de largada y shift light con un micro picaxe que despues lo hice con PBP)

tacometro-digital-para-automovil


Ver el archivo adjunto 43044
 
Última edición:
Que te interesaria que te filme? como va conectado? como funciona?
jeje... ya que lo decis, me gustaria ver como funciona todo eso conectado. estaria bueno verlo funcionando, alomejor alguno se entuciasma y encara el proyecto aqui en el foro. saludosss
 
necesito ayuda para hacer un contador
estoy viendo como usar este como base

Código:
cont VAR WORD
i    VAR BYTE
unid VAR BYTE
dece VAR BYTE
cent VAR BYTE
mile VAR BYTE

TRISB = 0
TRISA = 0
cont=0

Inicio:

    For i=0 TO 49
       
        unid = cont DIG 0   
        PORTB = unid 
        PORTA=8
        Pause 5
        dece = cont DIG 1
        PORTB = dece 
        PORTA=4
        Pause 5
        cent = cont DIG 2
        PORTB = cent 
        PORTA=2
        Pause 5
        mile = cont DIG 3
        PORTB = mile 
        PORTA=1
        Pause 5
        
    Next i 
      
    cont = cont + 1 
    
    IF cont > 9999 Then cont=0
    
GoTo Inicio
end

si alguien que me pueda explicar como funciona o como hacerlo......
por favor
 
Última edición por un moderador:
necesito ayuda para hacer un contador
si alguien que me pueda explicar como funciona o como hacerlo......
porfas
Saludos tlaloc.
Hace un tiempo tratamos en este foro sobre un contador de dos dígitos.
En la Pagina 94, post 1877 empezó el show. Lo inicio el amigo alejandrozama.
Basándome en ese, diseñe este otro para 4 dígitos. 0-9999
Aquel no lo probé físicamente, ni este tampoco. :LOL:
Pero realice el código y la simulación, y todo parece indicar que realmente funciona.
En la simulación se ve como los dígitos se desplazan, pero en la realidad no lo creo.
Así que si te animas a probarlo, pues nos cuentas como te fue con la idea.

Adjunto el código PBP para un 16F628A, la simulación y el esquemático con 4 displays CC.

Suerte y hasta luego.
 

Adjuntos

  • 16F628A Contador 0-9999.rar
    68.4 KB · Visitas: 201
Última edición:
Que padre prollecto Torres.Electronico,aqui donde trabajo usamos bio-diessel, no todas las veces biene bien, y ocaciona problemas en el arranque de las calderas. Voy a invertir en este prollecto, para aprender y ponerlo en practica.
 
Que padre prollecto Torres.Electronico,aqui donde trabajo usamos bio-diessel, no todas las veces biene bien, y ocaciona problemas en el arranque de las calderas. Voy a invertir en este prollecto, para aprender y ponerlo en practica.

No tengo mucha idea sobre comon rail, pero tengo info que me podria llegar a servir...voy a leer un poco sobre motores diesel, ya que como ya te dije, no tengo mucha idea sobre el proceso de motores diesel...Creo que en un motor diesel, las fases son distintas... tendria que fijarme bien, pero me parece que no es viable en motores diesel
 
DARKBYTES.............
graxias por tu disenio pero necesito uno donde use un anodo comun y donde el conteo sea antomatico......

los puch de ascenso y descenso deben ser ..
ascensos ...cuante desde 0 asta 9999 automaticamente
descenso cuente desde 9999 asta 0 auto.........
es lo que quiero hacer,,,,,,,,
pero taratre de usar el programa q me proporcionastes , como base y tratare ,pero neceictaare muxa ayuda..
 
el proyecto que sigue a continuacion es que por medio del LDC de muestren carateres en esta ocacion un mensaje utilizando las dos lineas del mismo.

por ultimo sirve como guia de simulacion el esquematico con el que se ha venido trabajando los proyectos de LCD anteriores.

Código:
; proyecto 4

; visualizacion de caracteres en el LDC mensaje CON PIC 16F84a 


; CONFIGURACION PARA LA PROGRAMACION DEL PIC   
@ device xt_osc ; oscilador externo XT 
define osc 4 ; especifica que se va a utilizar uno de 4 Mhz 

' Define registros y bits del LCD

Define	LCD_DREG	PORTB
Define	LCD_DBIT	0
Define	LCD_RSREG	PORTB
Define	LCD_RSBIT	4
Define	LCD_EREG	PORTB
Define	LCD_EBIT	5

PAUSE 200          ; RETARDO PARA QUE INICIALIZE EL LCD
LCDOUT $FE, 1 ;LIMPIA LCD
LCDOUT $FE,$86, "CURSO"  ;muestra mensaje en la primera linea,septima casilla
LCDOUT $FE,$c2, "PIC BASIC PRO" ;mensaje en la segunda linea,tercera casilla

END

Este programa no existira para el PIC16F877? es que lo necesito para que en el LCD aparezca un mensaje como Hola o mi nombre, es que soy nuevo en esto de programar pic y no se mucho. Disculpen la molestia

Saludos
 
Este programa no existira para el PIC16F877? es que lo necesito para que en el LCD aparezca un mensaje como Hola o mi nombre, es que soy nuevo en esto de programar pic y no se mucho. Disculpen la molestia

Saludos
Saludos.
Ese ejemplo es genérico, lo puedes utilizar en cualquier PIC16.
Solo selecciona el tipo de PIC que utilizaras, y compilas el ejemplo.

Suerte.
 
Saludos.
Ese ejemplo es genérico, lo puedes utilizar en cualquier PIC16.
Solo selecciona el tipo de PIC que utilizaras, y compilas el ejemplo.

Suerte.

Ok muchas gracias por sacarme de esta pequeña duda :) otra cosita al momento de compilarlo que programas me recomiendas? ademas cuando me dices seleccionar el tipo de pic seria al momento de compilarlo o editar el archivo y colocar el pic que utilizare.

Tal vez parezcan preguntas estupidas pero no se mucho sobre esto
 
Atrás
Arriba