Hallo, na ja ich habe es doch noch geschafft, höhere Widerstände als 100 Ohm werden
gut ermittelt mit der Schaltung die ich jetzt habe. Naja 1kOhm Widerstand in Reihe mit dem Prüfling.
Aber unter 10 Ohm brauche ich so nicht weiter zu machen.
Code
var
Uv : word; //
tmp : float;
tmp1 : float;
tmp2 : float;
tmp3 : float;
ohm : string[8];
ADC1 : word; //ADC
{--------------------------------------------------------------}
{ functions }
{--------------------------------------------------------------}
{ Main Program }
{$IDATA}
begin
DDRC := %11111000;
PortC:= %11111000;
LCDcursor(false, false);
EnableInts;
LCDxy(0, 0);
loop
//ohm:= ((1000*(tmp/5)) / (1-(tmp/5))); //calculating the unknown resistance
Uv:= GetAdc(1);
tmp:= (Float(Uv) * 0.004819);
tmp3:= tmp / 5;
tmp1:= tmp3 * 1000;
tmp2:= 1 - tmp3;
tmp:= tmp1 / tmp2;
ohm:= FloatToStr(tmp);
LCDxy(0, 0);
Write(LCDout, 'Rx ' + ohm);
mDelay(5);
lcdclr;
endloop;
end Dampf_Coil.