You can control the position of the 2 mirrors?
This would seem fairly simple then.
int mirror0pin = 9; // PWM on pin9, voltage corresponds to mirror position (check pin#)
int mirror0;
int mirror1pin = 10; // PWM on pin 10, voltage corresponds to mirror position (check pin#)
int mirror1;
int analogIn = A0;
int imageData;
void setup(){
pinMode (mirror1pin, OUTPUT);
pinMode (mirror2pin, OUTPUT);
// no need to declare analog inputs
Serial.begin (115200); // write serial data out to a PC
} // end void setup
void loop(){
// now run a loop with in a loop to position the mirrors, and take a reading
for (mirror0 = 0; mirror0 <256; mirror0 = mirror0 + 1){
for (mirror1 = 0; mirror1 <256; mirror1 = mirror1 +1){
analogWrite (mirror0pin, mirror0);
analogWrite (mirror1pin, mirror1);
delay (100); // give mirrors tim to settle?
imageData = analogRead (A0);
// send the data out
Serial.write (mirror0); // PC to receiver HEX data from 0-255
// or use Serial.println (mirror0) to monitor on Serial Monitor for initial testing
Serial.write (mirror1);
Serial.write (highByte ( imageData );
Serial.write (lowByte ( imageData );
} // end mirror0 loop
} // end mirror1 loop
} // end void loop
Then use an external amp to amplify the 0-5V from the PWM of analogWrite to -10 to +10.