TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: alexcarrero en 10 de Mayo de 2008, 13:21:48

Título: PROBLEMA con LCD para indicar RPM
Publicado por: alexcarrero en 10 de Mayo de 2008, 13:21:48
SALUDOS
 estoy tratando de hacer con una lcd de 16x2 y un16f84 un tacometro para mi corsa
y no puedo hacer que me salgal las RPM como yo quiero .

estoy utilizando el comando COUNT para contar los pulsos, les voy a poster el codigo para que medigan que etoy haciendo mal

Define   LOADER_USED   1
include "modedefs.bas"

 
 define osc 4
 DEFINE LCD_DREG PORTA   ' Setea el port de datos LCD
 DEFINE LCD_DBIT 0       ' Setea el bit de comienzo de datos (0 o 4) si el bus es de 4-bit
 DEFINE LCD_RSREG PORTB  ' Setea el port LCD Register Select
 DEFINE LCD_RSBIT 4      ' Setea el bit LCD Register Select
 DEFINE LCD_EREG PORTB   ' Setea el port LCD Enable
 DEFINE LCD_EBIT 5       ' Setea el bit LCD Enable
 DEFINE LCD_BITS 4       ' Setea el tamaño del bus LCD (4 o 8 bits)
 DEFINE LCD_LINES 2      ' Setea el numero de lineas en el LCD
 TRISB =  %00000000
 contar var word
 RPM var word
 temperatura var word
 contar = 0
 
 LCDOUT $FE,$0
 PAUSE 500
 lcdout $FE,1, "HOLA"
 LCDOUT $FE,$0
 pause 1000
 LCDOUT $FE,1, "RPM CORSA"
 LCDOUT $FE,$C0
 loop:
 count 4, 1000, contar
 rpm = (contar * 60)
 lcdout $FE, $C0, DEC (RPM),  "RPM"
 goto loop
  end
 
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: firepic en 10 de Mayo de 2008, 13:50:13
Saludos, bienvenido al foro!  :-)

y no puedo hacer que me salgal las RPM como yo quiero .

Puedes especificar qué aparece en el display?
Lo has simulado en proteus? O lo estás montando directamente en físico?

Ok nos leemos!  :mrgreen:


Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: alexcarrero en 10 de Mayo de 2008, 16:41:26
ok lo estoy simulando en proteus y me sale 255 asi varie las pulsaiones
de entrada sinpre me salen 255
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: firepic en 10 de Mayo de 2008, 22:13:57
Saludos!  :-)

Bueno lo probé en proteus modificándole unos detallitos y funciona de lo lindo!
Estoy simulando los pulsos con la fuente "dpulse"... cambias la frecuencia y cambian las RPM en el display...  :-/
Ahí te dejo el archivo de proteus, el .bas y el .hex...

Ok nos leemos!  :mrgreen:
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: alexcarrero en 11 de Mayo de 2008, 00:35:43
saludos

muchas gracias mi pana funciona muy bien solo tiene un detallito que a vezes le sale otra M por Ej. RPMM, pero tranquilo yo veo como lo resuelvo, lo que si tevoy a gradeser es quel postes el codigo por aqui para poder ver las fallas que tenia tu sabes mi meta es aprender.

muchas gracias por todo amigo nos vemos  :lol:
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: RALF2 en 11 de Mayo de 2008, 13:41:54
Hola amigos!
Paque no te salga la M demas coloca

 lcdout $FE, $C0, DEC4 (RPM),  "RPM"

Y con eso resuelves

Saludos
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: alexcarrero en 11 de Mayo de 2008, 22:11:29
SALUDOS

hola amigo, estoy montando en fisico el indicador de RPM pero no sale nada,
como es mi primer proyecto con LCD,
no se si yo devo colocarle o bajarle un DRIVE al PIC para la LCD de 16x2.

espero tu pronta respuesta
y muchas gracias por todo pana :)
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: Chrisbaf en 11 de Mayo de 2008, 22:33:12
yo tuve una expericia con un lcd talves sea tu caso , cuando le ponia el divisor de voltaje no me salia nada hasta que lo deje directo a tierra. saludos
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: firepic en 12 de Mayo de 2008, 11:48:55
Saludos!   :-)

Pues creo que el problema era lo que te había mencionado de especificar el puerto la instrucción count...
Aquí te dejo el código que hice que funciona perfecto, no sale la doble m que tú mencionas...
Aunque creo que el código ya te lo había dejado en el .rar anterior...
Bueno de todos modos aquí está:

Código: [Seleccionar]
        define osc 4
        DEFINE LCD_DREG PORTA    ' Setea el port de datos LCD
        DEFINE LCD_DBIT 0             ' Setea el bit de comienzo de datos (0 o 4) si el bus es de 4-bit
        DEFINE LCD_RSREG PORTB  ' Setea el port LCD Register Select
        DEFINE LCD_RSBIT 4           ' Setea el bit LCD Register Select
        DEFINE LCD_EREG PORTB    ' Setea el port LCD Enable
        DEFINE LCD_EBIT 5             ' Setea el bit LCD Enable
        DEFINE LCD_BITS 4             ' Setea el tamaño del bus LCD (4 o 8 bits)
        DEFINE LCD_LINES 2            ' Setea el numero de lineas en el LCD

        contar var WORD
        RPM    var WORD

        TRISB = %00000000
        TRISA = %00010000
        PORTA=0
        PORTB=0

        pause 500
        lcdout $FE,1
        lcdout $FE,2
        lcdout "HOLA"
        pause 1000
        lcdout $FE,1
        lcdout $FE,2
        lcdout "   RPM CORSA    "

 loop: count PORTA.4, 1000, contar
        rpm = contar * 60
        lcdout $FE,$C0
        lcdout #rpm," RPM"
        goto loop
        END

En cuanto a lo que mencionas de que no te funciona en físico, recuerda ajustar el contraste de la pantalla con el potenciómetro en Vee...
Pero para ayudarte... podría colocar el esquemático del circuito que estás montando? Recuerda también que RW debe ir a tierra...
Ok por ahora es todo, nos leemos!  :mrgreen:
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: alexcarrero en 15 de Mayo de 2008, 13:22:33
SALUDOS
ya lo hice funcinar en fisico lo monte en el protoboard y lo instale en mi corsa  y funciona bien bien mejor dicho super bien ahora quisiera mostrar por la LCD la temperatura del motor que circuito me sirve para acondicionar la señal de entrada al PIC 16F877 o el  16F88.   :-/
 
 
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: firepic en 15 de Mayo de 2008, 13:26:41
Saludos! Qué bien que terminaste tu proyecto de las RPM...
Sería bueno que abrieras otro hilo con el segundo proyecto, así otros podrán también verlo y ayudarte...
En lo que abras el hilo te respondo, pero deberías empezar por describir qué sensor de temperatura vas a usar...
Ok nos leemos!  :mrgreen:
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: lowus en 01 de Junio de 2008, 12:09:33
hola, una pregunta para Alex,  ¿en donde conecto el circuito al corsa?  :mrgreen:
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: alexcarrero en 01 de Junio de 2008, 13:53:21
hola en uno de los cables del sensor de posicion del sigbueñal en cualquiera de los dos te sirve
saludos
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: marcelo2112 en 21 de Julio de 2008, 09:04:35
Me ayudan a modificar el programa para mi clio??con permiso de Alex por supuesto. Que tengo qeu hacer?
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: ASTROCAR en 21 de Julio de 2008, 09:42:32
Me ayudan a modificar el programa para mi clio??con permiso de Alex por supuesto. Que tengo qeu hacer?

Como modo de broma si lo quieres para clio solo tienes que cambiar esta parte
lcdout "   RPM CORSA    "
por
lcdout "   RPM CLIO    "

Y LISTO

Saludos y estamos en contacto.
Atten. Alexander Santana.
Venezuela-Barcelona.
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: marcelo2112 en 21 de Julio de 2008, 13:28:33
Es justamente lo que quiero hacer, pero quiero que me digan con que programa lo modifico, como lo compilo....Para como ir agarrandole la mano.
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: firepic en 21 de Julio de 2008, 15:03:02
Me ayudan a modificar el programa para mi clio??con permiso de Alex por supuesto. Que tengo qeu hacer?
solo tienes que cambiar esta parte
lcdout "   RPM CORSA    "
por
lcdout "   RPM CLIO    "

Y LISTO
:D  :D  :D

Saludos Marcelo! Ese soft está compilado con el Pic Basic Pro, pero podrías usar cualquier compilador de basic y adaptar algunas expresiones.
Ok nos leemos! Exito con tu proyecto!  :mrgreen:
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: marcelo2112 en 21 de Julio de 2008, 22:16:47
Gracias. Ya veremos..
Título: Re: PROBLEMA con LCD para indicar RPM
Publicado por: kamisama en 26 de Julio de 2008, 22:31:45
Che que bueno, el codigo, re sencillo...
Haberlo encontrado antes...

Yo como necesito hacer mas cosas con el PIC
- Tiene seis tareas a cumplir y un maximo de 200ms para cada una
 y se habilitan segun se selecciona.

Use la estrategia de RCIN en Proton PIcBasic, bien a lo COBOL de los años 80!!)
Pero tuve que usar WORDs para metere el denominador de 60000. Un bajon.

Proba enviando esto antes de mostrar las RPM
print at X,Y, rep 32\16
Naturalmente X,Y es donde lo tengas que mostrar normalmente.