I hope someone can point me into the right direction..
Right here, barely into loop(), and you're going the wrong way already.
void loop()
{
delay(1000);
Read, study, and embrace the blink without delay mindset, without delay.
{
stepper.setCurrentPosition(0);
stepper.moveTo(pos);
stepper.run();
}
Why are these curly braces here?
The run() method should start the stepper moving. It returns immediately, before the stepper has had a chance to move.
You need to then, periodically, ask the instance whether the stepper is where it needs to be BEFORE taking the picture.
You need to develop a simple sketch that moves the stepper using the library, working on that sketch until you can successfully move the motor. Only then should you worry about taking a picture.
Also, I don't see anywhere in that code where you set the acceleration, deceleration, or when the accell/decel is to happen.