Codice per valore logaritmico
Salve a tutti
Sto progettando un cotrollo di umidità e temperatura con un PIC.
Per regolare il valore della temperatura uso un codice che restituisce un valore proporzionale tra il valore letto, il valore di soglia e un delta impostato, di seguito vi riporto la funzione in Mikrobasic commentata:
Tale funzione lavora egregiamente.
Sarei interessato però a capire come sviluppare una funzione simile, ma invece che darmi un valore proporzionale, vorrei un valore logaritmico solo che non so da dove cominciare per fare i conti.
Vorrei un cosiglio sulla strada da seguire, se avete un esempio , anche in C, sarebbe ottimo per capire come sviluppare il tutto.
Grazie a tutti
Sto progettando un cotrollo di umidità e temperatura con un PIC.
Per regolare il valore della temperatura uso un codice che restituisce un valore proporzionale tra il valore letto, il valore di soglia e un delta impostato, di seguito vi riporto la funzione in Mikrobasic commentata:
- Codice: Seleziona tutto
Sub procedure Risc_Prop(dim soglia, Temp_Sens as word,
dim Delta as byte,dim byref out as byte)
dim out1 as word 'variabile temporanea
out1 = 0
if (Temp_Sens >= soglia) then 'se sensore > o = di soglia
out1 = 0 'variabile a 0
else 'altrimenti calcola valore proporzionale
out1 = (soglia + Delta)
out1 = (out1 - Temp_Sens)
out1 = (out1 / Delta)
end if
If (out1 > 10) then 'se il valore proporzionale è > 10
out1 = 10 'valore = 10
end if
out = out1 ' estrapola valore finale
end sub
Tale funzione lavora egregiamente.
Sarei interessato però a capire come sviluppare una funzione simile, ma invece che darmi un valore proporzionale, vorrei un valore logaritmico solo che non so da dove cominciare per fare i conti.
Vorrei un cosiglio sulla strada da seguire, se avete un esempio , anche in C, sarebbe ottimo per capire come sviluppare il tutto.
Grazie a tutti
