Vejamos passo a passo como capturar um valor de temperatura pelo Arduino, enviar via Serial e Interpretar com Visual C# no pc.
ProtoShield
Arduino Duemila
Sensor temperatura ZX-TEMP
ZX-TEMP, nada mais é que um termistor e voce pode facilmente troca-lo por outro do mesmo tipo, existe infinitos!
Circuito Temperatura:
Sketchs, partes que considero importantes p/ entendimento do mesmo:
float convertToCelsius(long sensorVal)
{
return map((int)(sensorVal*1000),
438000,573000,26000,37000)/1000;
}
Função “convertToCelsius”, tem por função mapear a unidade referida e retorna-la já em Celsius (ler o sensor e mostrar o resultado!).
void printTemp(float tempCelcius)
{
// Formato TEMP_:000000:
Serial.print("TEMP_:");
if(tempCelcius<100) // tem menos de 3 dígitos
Serial.print("0");
if(tempCelcius<10) // tem menos de 2 dígitos
Serial.print("0");
int c = (int)tempCelcius;
float r = tempCelcius-c;
Serial.print(c);
long rem = r*1000;
Serial.print(rem);
if(rem<100) // Tem menos de 3 dígitos
Serial.print("0");
if(rem<10) // Tem menos de 2 dígitos
Serial.print("0");
Serial.print(":");
}
Esta função tem por objetivo formatar o dado recebido pela “convertToCelsius” para mandar via SERIAL! O protocolo particular utilizado é de mandar um inteiro de 000000 digitos! Mas por quê então preciso desta função, ora bolas?
Lembre-se: ‘000050’ é diferente de ‘50’ quando voce vai manda-lo via SERIAL, por isso a necessidade da função!!
Agora antes de iniciarmos na plataforma Microsoft Visual C#, podemos trabalhar com o programa ZedGraph, o qual é um gerador de gráficos que também interpreta dados vindos por determinada serial.
Como vamos nos conectar ao Arduino, é necessário escolher uma porta.

A finalidade é gerar algo parecido com isto:
Sketch Arduino Completo:
TemperatureLogger v0.1 (Código fonte ARDUINO)
Visual C# no próximo post!




Muito dahora que fiko bicho
ResponderExcluirOlá amigo. No link inserido em ZEDGRAPH existem
ResponderExcluirdiversos softwares, programas. Qual é exatamente o que
aparece aqui no Blog ?? GRATO celocoutinho@yahoo.com.br