Aqui les dejo un programita usando el componente VrThermoMeter, via puerto serie:
Aqui esta el codigo:
delphi
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CPort, VrControls, VrThermoMeter, Buttons; type TForm1 = class(TForm) vrThermoMeter1: TvrThermoMeter; ComPort: TComPort; Edit1: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); procedure ComPortRxChar(Sender: TObject; Count: Integer); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var Str: String; i: integer; temperatura: integer; begin ComPort.ReadStr(Str, Count); for i := 1 to Count do begin Temperatura:=Byte(Str[i]); Temperatura:= (Temperatura*100) div 256; VrThermoMeter1.Value.Value := Temperatura; end; end; procedure TForm1.Button1Click(Sender: TObject); var Valor: integer; Str: string; begin Valor := StrToInt('$' + Edit1.Text) ; if Valor in [0..255] then Str := Chr(Valor); ComPort.WriteStr(Str); end; procedure TForm1.BitBtn1Click(Sender: TObject); begin Close; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin ComPort.ShowSetupDialog; end; procedure TForm1.BitBtn3Click(Sender: TObject); var Valor: integer; Str: string; begin Valor := StrToInt('$' + Edit1.Text) ; if Valor in [0..255] then Str := Chr(Valor); ComPort.WriteStr(Str); end; end.
Espero les sea de utilidad.
Pueden conectar cualquier micro en el puerto serie y estaria recibiendo la informacion de temperatura.Tambien pueden usarlo uniendo los pines 2 y 3 del puerto serie, como una forma de probarlo sin tener que conectar un microcontrolador.
Un Saludo.