TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: PSoC en 07 de Enero de 2010, 21:01:26

Título: Voltimetro 4 digitos
Publicado por: PSoC en 07 de Enero de 2010, 21:01:26
Ola a todos
eu gostaria de saber se seria dificil adaptar um código de voltimetro LCD
para um voltimetro com display 7 segmentos com 4 digitos?
O programa ja esta todo pronto só queria fazer esta modificação.
Se alguem puder me ajudar eu agradeço desde ja.
Fiquem com DEUS
Título: Re: Voltimetro 4 digitos
Publicado por: todopic en 07 de Enero de 2010, 21:09:19
Hola Psoc, bienvenido al foro!
El LCD es de los llamados inteligentes? (16x2)
con cuantas lineas o pines esta configurado?
tendrias que subir el programa para poder evaluar si es posible ok?

Saludos

Norberto
Título: Re: Voltimetro 4 digitos
Publicado por: Suky en 07 de Enero de 2010, 22:18:21
De poder modificar se puede, pero es bastante distinto, pues tendrás que realizar la conversión a BCD del dato y enviar cada unidad por separado a cada display, que dependerá de como sea el hardware (Multiplexado o con registro de desplazamientos)


Saludos!
Título: Re: Voltimetro 4 digitos
Publicado por: PSoC en 08 de Enero de 2010, 00:17:48
Ola
obrigado pelos cumprimentos.
É um LCD 16x2  e estou usando 7 pinos do pic.
e o código seria este abaixo.


unsigned long value;              //se define o valor do canal0
unsigned char d1,d2,d3,d4,*text;  //d1,d2,d3,d4: são para converter os dados de entrada

#define printV   lcd_chr(2,11,d1+48);            lcd_chr_cp(d2+48);  \
                 lcd_chr_cp('.');                lcd_chr_cp(d3+48);  \
                 lcd_chr_cp(d4+48);              lcd_out_cp("V");

void main()
{
 adcon1=0b10000010;               //canais analogicos ativados
 trisa=0xff;                      //PortA esta configurado como entrada
 lcd_config(&portb,1,3,2,7,6,5,4);
 lcd_cmd(LCD_CURSOR_OFF);
 lcd_cmd(LCD_CLEAR);
 text="Oscar PROJECT";
 lcd_out(1,2,text);
 text="Tensao:";
 lcd_out(2,1,text);
 for(;;)
 {
  value=adc_read(0);
  value=value*5000/1023;
  d1=value/1000;
  d2=(value%1000)/100;            //"%" este operador devolve ao modulo a divisão
  d3=((value%1000)%100)/10;
  d4=((value%1000)%100)%10;
  printV                        //Aqui se invoca a MACRO
  delay_ms(20);
 }
}


(http://)
Título: Re: Voltimetro 4 digitos
Publicado por: todopic en 08 de Enero de 2010, 00:27:18
Hola, te consultaba sobre los pines del lcd, porque podrias emplear 7->para los segmentos +4 para multiplexarlos

o emplear 4->cd4511 (bcd exitador 7 segmentos)  +4 para multiplex 

Como te manifesto Suky, tu ya tienes los valores de cada digito
d1=value/1000;
  d2=(value%1000)/100;            //"%" este operador devolve ao modulo a divisão
  d3=((value%1000)%100)/10;
  d4=((value%1000)%100)%10;

Creo que printV pasara el Valor D a CHR...  ahora no hace falta
tendras que tomar d1, colocarlo en el puerto, activar digito 1... demora
d2.... puerto desactivar digito 1 y activar digito 2  ... etc  hasta el 4 y repetir 

Norberto
Título: Re: Voltimetro 4 digitos
Publicado por: PSoC en 08 de Enero de 2010, 00:36:52
Voce poderia me ajudar com o código Norberto?
Segue ai o esquema eletrico
(http://img521.imageshack.us/img521/3317/picfm.png).

Título: Re: Voltimetro 4 digitos
Publicado por: PSoC en 08 de Enero de 2010, 00:38:05
Estou usando crystal de 20MHz.
Ele mede de 0v a 50V
Título: Re: Voltimetro 4 digitos
Publicado por: todopic en 08 de Enero de 2010, 15:02:43
Hola Psoc, yo por ahora, solo programo en assembler....

Pero hay grandes capos del C por estos lados!!!

Un abrazo

Norberto
Título: Re: Voltimetro 4 digitos
Publicado por: PSoC en 10 de Enero de 2010, 06:30:21
Obrigado pela sua ajuda Norberto
Fique com DEUS
Felicidades
Título: Re: Voltimetro 4 digitos
Publicado por: PSoC en 10 de Enero de 2010, 06:34:55
Se o Suky puder me ajudar
eu fico feliz.
Obrigado SUky
Título: Re: Voltimetro 4 digitos
Publicado por: Suky en 10 de Enero de 2010, 09:55:11
Lo único que hay que modificar es el macro printV por una función, para utilizar 4 display multiplexados si es tu elección. Busca por la red que hay mucha info al respecto, intenta modificarlo y si tienes algún inconveniente consulta.


Saludos!
Título: Re: Voltimetro 4 digitos
Publicado por: PSoC en 10 de Enero de 2010, 19:16:29
Certo Suky.
Vou tentar fazer o que você me disse.
Qualquer duvida eu te pergunto.
Obrigado.
Saludos.
Título: Re: Voltimetro 4 digitos
Publicado por: PalitroqueZ en 10 de Enero de 2010, 20:02:41
PSoC, revisa aquí:

http://www.todopic.com.ar/foros/index.php?topic=4847.msg36612#msg36612

no es el mismo voltímetro, pero la idea de la multiplexación a lo mejor te sirve.

Título: Re: Voltimetro 4 digitos
Publicado por: PSoC en 11 de Enero de 2010, 11:09:34
Obrigado pela sua colaboração PalitroqueZ.
Vou ver o que posso fazer.
Até logo.