Autor Tema: Voltimetro 4 digitos  (Leído 6712 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado PSoC

  • PIC10
  • *
  • Mensajes: 12
Voltimetro 4 digitos
« 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

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Voltimetro 4 digitos
« Respuesta #1 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
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Voltimetro 4 digitos
« Respuesta #2 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!
No contesto mensajes privados, las consultas en el foro

Desconectado PSoC

  • PIC10
  • *
  • Mensajes: 12
Re: Voltimetro 4 digitos
« Respuesta #3 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);
 }
}




Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Voltimetro 4 digitos
« Respuesta #4 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
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado PSoC

  • PIC10
  • *
  • Mensajes: 12
Re: Voltimetro 4 digitos
« Respuesta #5 en: 08 de Enero de 2010, 00:36:52 »
Voce poderia me ajudar com o código Norberto?
Segue ai o esquema eletrico
.


Desconectado PSoC

  • PIC10
  • *
  • Mensajes: 12
Re: Voltimetro 4 digitos
« Respuesta #6 en: 08 de Enero de 2010, 00:38:05 »
Estou usando crystal de 20MHz.
Ele mede de 0v a 50V

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Voltimetro 4 digitos
« Respuesta #7 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
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado PSoC

  • PIC10
  • *
  • Mensajes: 12
Re: Voltimetro 4 digitos
« Respuesta #8 en: 10 de Enero de 2010, 06:30:21 »
Obrigado pela sua ajuda Norberto
Fique com DEUS
Felicidades

Desconectado PSoC

  • PIC10
  • *
  • Mensajes: 12
Re: Voltimetro 4 digitos
« Respuesta #9 en: 10 de Enero de 2010, 06:34:55 »
Se o Suky puder me ajudar
eu fico feliz.
Obrigado SUky

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Voltimetro 4 digitos
« Respuesta #10 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!
No contesto mensajes privados, las consultas en el foro

Desconectado PSoC

  • PIC10
  • *
  • Mensajes: 12
Re: Voltimetro 4 digitos
« Respuesta #11 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.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Voltimetro 4 digitos
« Respuesta #12 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.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado PSoC

  • PIC10
  • *
  • Mensajes: 12
Re: Voltimetro 4 digitos
« Respuesta #13 en: 11 de Enero de 2010, 11:09:34 »
Obrigado pela sua colaboração PalitroqueZ.
Vou ver o que posso fazer.
Até logo.


 

anything