Fork me on GitHub

27/11/12

Projeto 14: Voltimetro Analogico e Digital

Voltimetro Analógico e Digital utilizando Display Gráfico (GLCD)




Outro projeto de minha autoria. Trata-se de um voltimetro que exibe num display gráfico (GLCD) o seu valor na forma numérica (digital) e na forma de um ponteiro (analógico).


Utilizando a biblioteca GLCD do MikroC PRO PIC e a função de Conversor A/D criou-se um ponteiro que se move de acordo com o valor de tensão.

Foi utilizado nesse projeto um cristal de quartzo de 12MHz e um display gráfico 128x64 com  controlador KS108 e o PIC16F877A.

DOWNLOAD:
Arquivo-Fonte: Voltimetro-GLCD.asm;
Arquivo de simulação do proteus: Voltimetro-GLCD.DSN;

CÓDIGO-FONTE:


// Glcd module connections
char GLCD_DataPort at PORTC;

sbit GLCD_CS1 at RB0_bit;
sbit GLCD_CS2 at RB1_bit;
sbit GLCD_RS  at RB2_bit;
sbit GLCD_RW  at RB3_bit;
sbit GLCD_EN  at RB4_bit;
sbit GLCD_RST at RB5_bit;

sbit GLCD_CS1_Direction at TRISB0_bit;
sbit GLCD_CS2_Direction at TRISB1_bit;
sbit GLCD_RS_Direction  at TRISB2_bit;
sbit GLCD_RW_Direction  at TRISB3_bit;
sbit GLCD_EN_Direction  at TRISB4_bit;
sbit GLCD_RST_Direction at TRISB5_bit;
// End Glcd module connections
float tensao;
float tensao2;
char txt[16];

void main() {
  Glcd_Init();
  delay_ms(100);        // Initialize GLCD
  Glcd_Fill(0x00);     // Clear GLCD

while(1) {
  Glcd_Fill(0x00);
  tensao = (ADC_Read(0)/5.65);
  FloatToStr(tensao*5.65*5/1023,txt);
  Glcd_Write_Text(txt,35,2,1);
  tensao = ((tensao * 3.141592654) / 180);
  tensao2 = (210 /(sin(tensao) * 32));
  tensao = tensao * 40.7;
  Glcd_Circle(64,64,64,1);
  Glcd_Line(tensao,tensao2 , 64, 64, 1);
delay_ms(200);
}
}


16 comentários:

  1. Há problemas em utilizar seu projeto na minha escola? Agradeço desde já. Ótimo blog, parabéns!!!

    ResponderExcluir
    Respostas
    1. Agradeço sua atenção e pela rápida resposta.. :)

      Excluir
  2. BOA NOITE
    ESSE VOLTIMETRO INDICA TENSÃO NEGATIVA NO LCD ?
    UM ABRAÇO

    ResponderExcluir
  3. ola, gostaria de saber se existe alguma função que consiga pegar um numero com casas decimais e jogar no lcd 16x2, uso o mplab, se tiver algum exemplo podeira me mandar? j.felipe.araujo@outlook.com , abraço

    ResponderExcluir
  4. Se eu substituir esse pic, pelo pic 18f4520 e fazer algumas mudanças na configuração, funcionará?

    ResponderExcluir
  5. olá tiago gostaria que vc postasse um projeto
    de um voltimetro digital 0 30v ou um conversor a/d obrigado

    ResponderExcluir
  6. - qual a sua versao do MikroC? a minha na hora de compilar diz que nao tem essa biblioteca GLCD! Minha versão eh a 6!

    ResponderExcluir
  7. Boa tarde.
    Amigo, conseguiria desenvolver um projeto parecido com esse , mas para medir fontes simétricas de -12vdc a +12Vdc ?
    Parabéns pelos trabalhos apresentados aqui.
    Abraço.

    ResponderExcluir
  8. Bom dia !!!
    Por favor, poderia postar novamente o Arquivo-Fonte: Voltimetro-GLCD.asm
    O link esta off
    Obrigado

    ResponderExcluir
  9. Boa tarde Tiago Henrique estou trabalhando em um projeto de um aparelho para analise de transdutores de carga. funciona da seguinte forma eu injeto uma voltagem 0-5.Volt DC e recebo um sinal em mV com fundo de escala de 0 - 200 mV com cinco digitos de resoluçao preciso de ajuda neste projeto. se alguem puder ajudar serei muito grato.

    meu email> jhowstuart13@hotmail.com

    ResponderExcluir
  10. Boa tarde Tiago Henrique estou trabalhando em um projeto de um aparelho para analise de transdutores de carga. funciona da seguinte forma eu injeto uma voltagem 0-5.Volt DC e recebo um sinal em mV com fundo de escala de 0 - 200 mV com cinco digitos de resoluçao preciso de ajuda neste projeto. se alguem puder ajudar serei muito grato.

    meu email> jhowstuart13@hotmail.com

    ResponderExcluir
  11. seraa que alguem pode ajudar a fazer um amperimetro e um omimetro com pic 16f877a

    ResponderExcluir

Postagens Relacionadas!!