currentSoilState
unknown
matlab
a year ago
813 B
16
Indexable
function state = currentSoilState( a )
% Calibration Information (Replace with your measured values)
% Not immersed (in air): 2.4 Volts
% Immersed in dry soil: 2.3 Volts
% Immersed in water-saturated soil: 2.1 Volts
% Immersed in a glass of water: 2.0 Volts
%Read voltage from sensor at pin A0
voltage = readVoltage(a, 'A0');
% Define voltage thresholds (replace with your measured values)
thresholds = [2.4, 2.3, 2.1, 2.0];
states = {'dry air', 'dry soil', 'wet soil', 'water'};
% Find the closest state
[~, idx] = min(abs(thresholds - voltage));
state = states{idx};
% Handle equidistant case
if idx > 1 && abs(thresholds(idx) - voltage) == abs(thresholds(idx - 1) - voltage)
state = states{idx - 1}; % Choose drier state
end
end Editor is loading...
Leave a Comment