Voltimetro

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Voltimetro

Mensagempor ddspereira » 31 Out 2009 21:26

Olá estou tentando compilar codigo de um Voltimetro está dando o seguinte erro:

324 Undeclared identifier 'LCD_config' in expression
324 Undeclared identifier 'LCD_CURSOR_OFF' in expression
324 Undeclared identifier 'LCD_CLEAR' in expression

o PIC é 16F877A
Compilador MIKROC PRO
segue o codigo
--------------------------------------------------------------------------------------
unsigned long value;
unsigned char d1,d2,d3,d4,*text;

#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;
trisa=0xff;
LCD_config(&portb, 1,3,2,7,6,5,4);
LCD_cmd(LCD_CURSOR_OFF);
LCD_cmd(LCD_CLEAR);
text=("Diogo");
lcd_out(1,2,text);
text=("voltagem");
lcd_out(2,1,text);
for(;;)
{
value=adc_read(0);
value=value*5000/1023;
d1=value/1000,
d2=(value%1000)/100;
d3=((value%1000)%100)/10;
d4=((value%1000)%100)%10;
printV;
delay_ms(20);
}
}
--------------------------------------------------------------------------------------
obrigado!

Diogo Pereira
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor _blackmore_ » 31 Out 2009 21:43

use o recurso Code no momento de edição da mensagem para evitar estas carinhas no firm ...
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor fabim » 01 Nov 2009 03:04

Se estiver usando mikroC PRO.
Do lado direito da tela, tem a aba "library mananger".
Clica sobre ela, seleciona LCD, e pimba.

Sim são 4:03, ja tomei 3 diazepam e não consigo apagar.

Abraços
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Voltimetro

Mensagempor ddspereira » 01 Nov 2009 11:18

ddspereira escreveu:Olá estou tentando compilar codigo de um Voltimetro está dando o seguinte erro:

324 Undeclared identifier 'LCD_config' in expression
324 Undeclared identifier 'LCD_CURSOR_OFF' in expression
324 Undeclared identifier 'LCD_CLEAR' in expression

o PIC é 16F877A
Compilador MIKROC PRO
segue o codigo
--------------------------------------------------------------------------------------

unsigned long value;
unsigned char d1,d2,d3,d4,*text;

#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;
trisa=0xff;
LCD_config(&portb, 1,3,2,7,6,5,4);
LCD_cmd(LCD_CURSOR_OFF);
LCD_cmd(LCD_CLEAR);
text=("Diogo");
lcd_out(1,2,text);
text=("voltagem");
lcd_out(2,1,text);
for(;;)
{
value=adc_read(0);
value=value*5000/1023;
d1=value/1000,
d2=(value%1000)/100;
d3=((value%1000)%100)/10;
d4=((value%1000)%100)%10;
printV;
delay_ms(20);
}
}
--------------------------------------------------------------------------------------
obrigado!

Diogo Pereira
[/code]
Código: Selecionar todos
Código: Selecionar todos
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Re: Voltimetro

Mensagempor ddspereira » 01 Nov 2009 11:19

[quote="ddspereira"]Olá estou tentando compilar codigo de um Voltimetro está dando o seguinte erro:

324 Undeclared identifier 'LCD_config' in expression
324 Undeclared identifier 'LCD_CURSOR_OFF' in expression
324 Undeclared identifier 'LCD_CLEAR' in expression

o PIC é 16F877A
Compilador MIKROC PRO
segue o codigo
--------------------------------------------------------------------------------------
Código: Selecionar todos
unsigned long value;
unsigned char d1,d2,d3,d4,*text;

#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;
trisa=0xff;
LCD_config(&portb, 1,3,2,7,6,5,4);
LCD_cmd(LCD_CURSOR_OFF);
LCD_cmd(LCD_CLEAR);
text=("Diogo");
lcd_out(1,2,text);
text=("voltagem");
lcd_out(2,1,text);
for(;;)
{
value=adc_read(0);
value=value*5000/1023;
d1=value/1000,
d2=(value%1000)/100;
d3=((value%1000)%100)/10;
d4=((value%1000)%100)%10;
printV;
delay_ms(20);
}
}
--------------------------------------------------------------------------------------
obrigado!

Diogo Pereira[/quote]
[/code]
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor ddspereira » 01 Nov 2009 11:22

fabin não consegui,
quando vou criar um novo projeto no final estou incluindo toas as bibliotecas (defult) conforme diz no programa, tem alguns exemplos no HELP quando vou compilar dá o mesmo erro, o que pode ser??
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor fabim » 01 Nov 2009 14:35

tio, seguinte,. Estes comandos aí são do mikroC PRO pra baixo, para o pro V0 >, tem que definir os flag´s dos bits de controle etc.
Da uma zoiada no herpe, e tu vai achar a cagada.

Certeza absoluta.

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor ddspereira » 01 Nov 2009 14:56

Descobri o problema,
codigo corrigido
Código: Selecionar todos
// Lcd pinout settings
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D4 at RB0_bit;

// Pin direction
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D7_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB0_bit;
//fim

Lcd_Init();
unsigned long value;
unsigned char d1,d2,d3,d4,*text;

#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;
trisa=0xff;
Lcd_Init();
LCD_cmd(_LCD_CURSOR_OFF);
LCD_cmd(_LCD_CLEAR);
text=("Diogo");
lcd_out(1,2,text);
text=("voltagem");
lcd_out(2,1,text);
for(;;)
{
value=adc_read(0);
value=value*5000/1023;
d1=value/1000,
d2=(value%1000)/100;
d3=((value%1000)%100)/10;
d4=((value%1000)%100)%10;
printV;
delay_ms(20);
}
}

Fabim outro erro que estava cometendo é o seguinte
no PIC16F887 usa ANSEL E ANSELH
e no PIC16F877A como ficaria??

Obrigado Pela ajuda!!!
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor ddspereira » 05 Nov 2009 23:04

Fabin, Montei o circuito do voltimetro no protoboard para teste
a rotina funcionou beleza, só que as duas ultimas casas ficam variando demais, vc acha que esse problema pode estar no Hardware ou software??
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor fabim » 06 Nov 2009 07:20

tem quantos digitos ?
Cerveja bem, Campari as coisas, wisk dias atras me fizeram a mesma prigunta.
DoiDo Só Pereira.
Uma coisa que diferencia um designer de um outro técnico é a visão espacial.
Esta visão, não é apenas focar o circuito e finality.
É olhar de longe o sistema como um todo.

Por exemplo, com certeza tu esta usando o Vref interno né ?
Vref interno é o mesmo V que alimenta o pic que pode haver algum riple de algumas dezenas de mV. Isso ja é problematico.
Sendo assim, abilite o Vref externo. Este Vref externo vai ser alimentado pelo proprio VDD do pic, mais diferenciando-se que vai ter um diodim de sinal, e um capacitorzim tipo 1uF, que vai garantir que o riple vai lá pra casa do chinelo."tem outras formas, mais não vem ao caso estou apenas lhe explicando".
Veja que agora o Vref não é mais 5V, que na verdade não tem como saber se realmente é 5V, pois o regulador pode variar algumas centenas de mV... Mas vamos supor que seja os ditos 5V, menos a tensão do diodo de 0.5V+/-. agora os seus calculos vão ser encima de 4.5V, ou seja 4.5V.

Pronto, uma etapa para isolar parte do problema.
Fez os testes e parou de variar, blz o problema tava aí.

Não melhorou, o problema persiste.
Agora é o problema de impedancia da via de VDD a ser medida.
Colocar um buffer, não melhorou ?

Agora é fazer média.
tira 5 amostras, somando as 5 em tempo X, depois pega esta amostra e divide por 5, depois amostra no display.
Resolveu ? sim.
Intão o problema é no V que o pic esta medindo, esse maledito esta com variação problematica, ruidos etc.

E la vai indo.

PÓCÓTO PÓCÓTÓ PÓCÓTÓ....

Sempre que pegar outro ADC com problema semelhante, isole os possiveis paus, da forma que eu mostrei.

Abraços por tráz!! { :lol: }
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Djalma Toledo Rodrigues » 06 Nov 2009 11:39

fabim escreveu: ... Agora é fazer média.
tira 5 amostras, somando as 5 em tempo X, depois pega esta amostra e divide por 5, depois amostra no display.
Resolveu ? sim.

Isso Fabim "Visão espacial" (sei-lá o que isso siguinifica. rs)

Agora ajuda o Compilador e o uC , bota multiplo de 2 --> 2¹ 2² 2³
Soma duas divide por dois
Soma quatro divide por quatro
Soma oito divide por oito ...
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Djalma Toledo Rodrigues » 06 Nov 2009 11:45

fabim escreveu: Uma coisa que diferencia um designer de um outro técnico é a visão espacial.
Agora é fazer média.
tira 5 amostras, somando as 5 em tempo X, depois pega esta amostra e divide por 5, depois amostra no display.
Resolveu ? sim.

Isso Fabim "Visão espacial" (sei-lá o que isso significa. rs)

Agora ajuda o Compilador e o uC , bota multiplo de 2 --> 2¹ 2² 2³
Soma duas divide por dois
Soma quatro divide por quatro
Soma oito divide por oito ...
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Djalma Toledo Rodrigues » 06 Nov 2009 13:15

Djalma Toledo Rodrigues escreveu:
fabim escreveu: Uma coisa que diferencia um designer de um outro técnico é a visão espacial.
Agora é fazer média.
tira 5 amostras, somando as 5 em tempo X, depois pega esta amostra e divide por 5, depois amostra no display.
Resolveu ? sim.

Isso Fabim "Visão espacial" (nem sei bem o que isso significa. rs)

Agora ajuda o Compilador e o uC , bota multiplo de 2 --> 2¹ 2² 2³
Soma duas divide por dois
Soma quatro divide por quatro
Soma oito divide por oito ...
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor fabim » 06 Nov 2009 13:20

Bom por exemplo você não a tem.
Ao invés de ter um foco, fechado e curto, tentando projetar ou resolver um problema ponto a ponto.
Você se afasta e enxerga um espaço maior, conseguindo interligar todo o sistema e acompanhar o processo.


blablablabla... á seu despaçado e focado se ja intendinho..rsrsrs
Não conheço outra terminologia pra isto.

O cara ta com a saida de um amplificador queimado.
"saida", troca transistor, e nada, mexe na fonte e nada, troca proteção e nada, aí ele vai testar o falante. e nada.
Mais a visão dele esta tão focado na "saida", que ele esqueceu que existe um conjunto, para que a saida possa funcionar.rs

Me expressinhei mais mió ?

Abraços DJ!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x