Intervalometer on Uno Board. Is this viable?

I'm building a timelapse dolly and am using arduino as motor control, and so I figured I would add some extra functionality as well. I want to have the cart be an intervalometer as well. So basically, the arduino causes the camera to take a picture every X seconds. I plan on having 5 analog inputs (speed, time in between shots, number of shots, beginning exposure, ending exposure).

So basically I need to program an intervalometer that takes the starting exposure and ending exposure and ramps from one to the next over the course of the shots. Is this part reasonable to do with an Uno, or is the ramping exposure possibly too complicated?

If it is, I want to have an extra function where it runs the motor until ~1 second before the camera fires, and then starts the motor again after it fires. How would I go about programming in a timer that supersedes the PWM to shut down the motor as the camera takes a shot?

This all looks easily viable.

How would I go about programming in a timer that supersedes the PWM to shut down the motor as the camera takes a shot?

Something like this:

long unsigned int lastshot = 0;
void loop()
{
   long unsigned int time = millis();
   if( time - lastshot > interval)
   {
      analogWrite(motorPin, 0);
      delay(1000);
      takephoto();
      analogWrite(motorPin, motorSpeed);
      lastshot = time;
   }
}

Alright, Thanks