#PHP, 125 bytes:

<!-- language: lang-php -->

	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**

<!-- language: lang-php -->

	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. ;)