Ralph wrote: ↑Mon Dec 18, 2023 9:39 pm
That'll also lower your maximum value, so you will have to compensate for that. Unless you put 3v3 on the AREF.
Indeed Ralph, a ratio was applied
The initial issue was interference with PWM device still on 5V
All solved in similar way :
Code: Select all
-- #A0 - Analog Input - ARDUINO MEGA2560 Channel A - Mixture Axis
-- log("INFO","MIXTURE AXIS")
function pr_mixture_axis(value)
-- log("INFO","MIXTURE AXIS: "..value*1.52)
si_variable_write(gbl_ap_hw_status, str_fill_in.."MIXTURE AXIS: "..value*1.52)
xpl_dataref_write("sim/cockpit2/engine/actuators/mixture_ratio_all","FLOAT",value*1.52)
end
hw_adc_input_add("Mixture/Richesse", pr_mixture_axis)
or here through interpolate feature :
Code: Select all
-- #A4 - Analog Input - ARDUINO UNO Channel A - Rudder Trim
local interp_ref_rtrim = { { 0.0, -1 },
{ 1.0, 1 } }
-- log("INFO","UNO A4 RUDDER TRIM AXIS")
function pr_rud_trim_axis(value)
-- log("INFO","UNO A4 RUDDER TRIM AXIS INP: "..value)
si_variable_write(gbl_ap_hw_status, str_fill_in.."UNO A4 RUDDER TRIM AXIS: "..tostring(value))
-- value = value * -1
value = interpolate_linear(interp_ref_rtrim, value)
-- log("INFO","UNO A4 RUDDER TRIM AXIS INTERP: "..tostring(value))
-- si_variable_write(gbl_ap_hw_status, str_fill_in.."UNO A4 RUDDER TRIM AXIS: "..tostring(value))
xpl_dataref_write("sim/cockpit2/controls/rudder_trim","FLOAT",value)
end
hw_adc_input_add("UNO A4 Rudder Trim Axis", pr_rud_trim_axis)
-- #A0 - Analog Input - ARDUINO UNO Channel A - Elevator Trim
local interp_ref_etrim = { { 0.0, -1.08 },
{ 1.0, 1.671 } }
-- log("INFO","UNO A0 ELEVATOR TRIM AXIS")
function pr_elev_trim_axis(value)
-- log("INFO","UNO A0 ELEVATOR TRIM AXIS INP: "..value)
si_variable_write(gbl_ap_hw_status, str_fill_in.."UNO A0 ELEVATOR TRIM AXIS: "..tostring(value))
-- value = value * -1
value = interpolate_linear(interp_ref_etrim, value)
-- log("INFO","UNO A0 ELEVATOR TRIM AXIS INTERP: "..tostring(value))
-- si_variable_write(gbl_ap_hw_status, str_fill_in.."UNO A0 ELEVATOR TRIM AXIS: "..tostring(value))
xpl_dataref_write("sim/cockpit2/controls/elevator_trim","FLOAT",value)
end
hw_adc_input_add("UNO A0 Elevator Trim Axis", pr_elev_trim_axis)