Hey everyone!
Seems I managed to fix the problem myself by looking at this post and incorporating the responses
http://arduino.cc/forum/index.php/topic,91707.0.htmlI declared a variable at the top: 'char val';
And then rather than putting 'Serial.read()' into my if loop, i instead placed the serial value into the 'val' variable, and inserted 'val' into the if loop.
My new code looks like this
char val;
if (Serial.available() > 0) {
val=Serial.read();
if (val == 'D'){
//ring the bell briefly
digitalWrite(BELL, HIGH);
delay(10);
digitalWrite(BELL, LOW);
// uncomment the next line if you don't have an oscillating buzzer
//tone(BELL, 440, 100);
}
if (val == 'H'){
Serial.print(Serial.read());
}
}
It's still coming up with '-1's in the serial window rather than actual words but it's a start

If anyone can explain why thats happening, please let me know.
Thanks,
Maraesa