Не поможет ,у Вас нет калибровки .
ViktorPetrov, подскажите как это сделать в FlProg , что то ,понять не могу ни как (ViktorPetrov писал(а): ↑23.03.2021{, 22:13}Калибровка №1:Расстояние от контакта сон до точки измерения(фотоприемник) ,т.е. время на задержку измерений аналогового сигнала фотоприемника (на графике время 91 стоит ).
Калибровка №2: Величина аналогового сигнала т.е. размер монет ... блоки сравнения
Код: Выделить всё
sens_signal = analogRead(IRsens); // считать датчик
if (sens_signal > last_sens_signal) last_sens_signal = sens_signal; // если текущее значение больше предыдущего
if (sens_signal - empty_signal > 3) coin_flag = true; // если значение упало почти до "пустого", считать что монета улетела
if (coin_flag && (abs(sens_signal - empty_signal)) < 2) { // если монета точно улетела
coin_signal[i] = last_sens_signal; // записать максимальное значение в память
EEPROM.writeInt(i * 2, coin_signal[i]);
coin_flag = false;
Ну вот и славно! Но лучше, что-бы 5р не давала максимум - сугубо моё мнение. Да и разница очень большая - середина шкалы пуста. Но это конструктив в чистом виде.