Programa em VB6 para um termômetro

Programação Visual Basic

Moderadores: 51, guest2003

Programa em VB6 para um termômetro

Mensagempor MOR_AL » 11 Mai 2010 15:36

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
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor MOR_AL » 23 Mai 2010 14:50

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
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ


Voltar para Visual Basic

Quem está online

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

x