Subtracting number from EEPROM, is that possible?

Hello.
I made remote windows blinds but for now it use magnets on chain to stop, for next step i want to get rid off magnets and use in software timing where i push 2 buttons, blinds will go down and when i let go Arduino will stop and remember time so when i push up button it will be on for same time. I know that should be not so hard but hard part come when i don't want to blind to close all the way, and then when i want it to open it will go up and stop on last saved position. Is this possible without Stepper motor? I use servo ring now.

EXEMPLE:

Time in EEPROM is 20 000 ms (time to full open or close blinds). When i push button down and stop it after 8 000 ms. Now is there way that Arduino will subtract this number from EEPROM (20 000 ms) and it will know that it can go up only 8 000 ms when i push button UP or 12 000 ms when i push button Down?

Is this pasible?

Read the value, adjust it, save it back again...

int val = EEPROM.read(0);
val -= 1;
EEPROM.write(0,val);

My feeling is, without a stepper or any kind of feedback, it's going to be hard. The amount of time will depend on a number of external things, including ambient temperature, wear and loss of lubrication over time.

Also, when you start or stop the system has inertia. That may well mean that 10 x 1second individual pushes does NOT equal the same distance of travel 1 single continuous 10 second push.

Also you are going to have a problem with EEPROM endurance if you write to the EEPROM ever ms. You'll need to find a way around that.

If you cannot use a stepper (which is the easiest answer) try monitoring the current consumed by the motor. You should be able to detect when it gets to the end of the travel. Although not the bottom maybe - there it will just wind the blind up backwards. It will also help protect against finger incidents. This is the same principle as electric car windows.

QrokPL:
i want to get rid off magnets and use in software timing where i push 2 buttons, blinds will go down and when i let go Arduino will stop and remember time so when i push up button it will be on for same time.

if you're using a stepper motor, why not count steps?

but isn't the problem with a stepper, always knowing it's position after startup?

if you use a limit (hall) switch and want to return to a stored position, wouldn't it be acceptable for the motor to go to the limit and then move to a preset position, some number of steps from the end position?

pcbbc:
My feeling is, without a stepper or any kind of feedback, it's going to be hard.

Yea, i just making sure that i did not miss sorting, i will need to switch to stepper motors but that is redesigning hardware and enclosures so that will be hole new project.

Thank you pcbbc for confirmation.

"if you're using a stepper motor, why not count steps?"
I think you miss read me gcjr.