1 of 2

PHP, 125 bytes:

function m($i){static$a;$a+=$d=($i+35-$a)%17;echo$d*21-($d>8)*357,"
";}for(;$c=ord($argv[1][$i++]);m($c%16))m($c/16|0);m(-1);

breakdown

function m($i)              // function to turn camera:
{
    static$a;                   // remember angle
    $a+=$d=($i+35-$a)%17;       // calculate delta and angle: $i+1=index, add 34 
                                // to adjust for the modulo; subtract current angle
    echo$d*21-($d>8)*357,"\n";  // print delta*21 (-360 if delta is>8) and a newline
}
for(;$c=ord($argv[1][$i++]);// loop through input characters
    m($c%16))                   // 2. move to low nibble value
    m($c/16|0)                  // 1. move to high nibble value
;
m(-1);                      // move back to "?"

Of course, 21 is pretty inaccurate and may fail for strings longer than 14 characters; but then ... 360/17 would be four bytes longer.

An alternative solution would have been to attach a laser pointer to the camera;
we could use all printable ascii chars and a "question" card at 3.75 degrees each with that.

Another alternative: Use 16 cards (at 22.5 degrees) with 6 characters each:
implement some sort of T9 and we can omit the high nibble. ;)