segunda-feira, 22 de fevereiro de 2010

Arduino + Sensor Temperatura + Visual c# parte 1/2

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:

image

Sketch Arduino Completo:
TemperatureLogger v0.1 (Código fonte ARDUINO)

Visual C# no próximo post!

2 comentários:

  1. Olá amigo. No link inserido em ZEDGRAPH existem
    diversos softwares, programas. Qual é exatamente o que
    aparece aqui no Blog ?? GRATO celocoutinho@yahoo.com.br

    ResponderExcluir