Página 1 de 1

Programa em VB6 para um termômetro

MensagemEnviado: 11 Mai 2010 15:36
por MOR_AL
Olá pessoal.

Fiz um PIC medir a temperatura por meio de um sensor termopar do tipo k. O controle da temperatura foi feito por meio de um relê.

Agora estou fazendo, em VB6, a parte desse equipamento que interage com um PC.
Essa parte deve fazer basicamente o seguinte:
1 - Receber, via UART, o valor da temperatura (de 0ºC a 1370ºC). O PIC envia um código de "Início de transmissão". O PC identifica esse código e reenvia-o para o PIC. O PIC identifica o código e envia o byte correspondente à parte alta do valor da temperatura. O PC reenvia esse valor ao PIC. O PIC envia o byte correspondente ao valor da parte baixa da temperatura....
2 - Gravar os valores lidos em um arquivo simples, tipo .dat.
3 - Apresentar o valor lido em um LabelBox (em amarelo).
4 - Apresentar um gráfico das temperaturas ao longo do tempo.
5 - Pretendo acrescentar uma função em que, ao invés da temperatura desejada ser programada através do hardware (botões), ser programada via teclado, em um TextBox (em verde).
6 - Apresentar o valor do erro entre a temperatura medida e a temperatura desejada, tanto em uma LabelBox (em laranja), como no gráfico.
7 - Tanto o arquivo em que os valores da temperatura serão armazenados, como o diretório escolhido para sua localização, poderão ser criados pelo usuário.
8 - O programa também pretende verificar quais portas seriais estão disponíveis.

Bom. Desconsiderando o fato de que é muita pretenção para quem arranha o VB, já iniciei com o código e o Form.

Gostaria que o pessoal com mais experiênia, desse uma olhada no código e no form, para saber se eles, até o momento, estão aceitáveis.
Verifiquem também, se os comentários estão corretos com a função.
Observação:
Não considerem as cores do Form. As estravagantes estão mais como lembrete para mim, em tempo de projeto, que outras cores mais apropriadas.
Verde corresponde a entrada de dado.
Cor de barro corresponde a necessário clicar para confirmar.
Amarela corresponde ao valor medido.
Laranja corresponde ao erro entre a temperatura desejada e a medida.
Segue o Form e o código.

Imagem
Ops. Em Case 3 devo acrescentar "contador = 0".
Imagem
MOR_AL

MensagemEnviado: 23 Mai 2010 14:50
por MOR_AL
Continuei o meu projeto. A parte anterior está ok.

Agora estou na etapa de gravar e ler os dados em um arquivo, por meio do VB6.
Escolhi arquivo BINÁRIO porque o acesso dele não é sequencial. Com arquivo binário posso acessar um determinado endereço de dado diretamente, bastando indicar o endereço.
Arquivos sequenciais exigem que a leitura inicie do primeiro dado, até chegar ao dado desejado. Imagine, no meu caso, que recebo o valor da temperatura de um PIC a cada segundo (dois bytes). Após algumas horas, o acesso aos dados mais recentes seria demorado.
Configurei os dados como BYTE. Assim eu garanto que cada dado ocupe uma posição de memória.
Juntamente com o programa anterior, agora posso receber do PIC um valor do seu CAD. O byte alto e o byte baixo (essa primeira parte está feita mas não testada). Passo esses dois valores (bytes) para uma variável do tipo byte no VB6 e gravo no arquivo diretamente.
Uma vez gravado, já posso pensar em criar o gráfico dos valores gravados nesse arquivo.
Fiz um programinha tutorial, em VB6, que, a partir de variáveis do tipo byte, gravo em um arquivo e recupero desse arquivo. Incluí alguns detalhes a mais e muitos comentários para, num futuro, eu poder entendê-lo após já ter esquecido.
Caso algum de vocês se interesse nessa etapa, posso enviar esse programinha tutorial.
Segue um exemplo executável para Temperatura High = 1 (T_H = 1) e Temperatura Low = 2 (T_L = 2).
http://www.datafilehost.com/download-1fb33cdf.html
Obs.:
1 - Verificado pelo antivirus McAfee.
2 - Depois de rodar, apague o arquivo criado na raiz (C:\abc.dat).
[]'s
MOR_AL