In this code :
if(buf[i] == '1')//if button 1 is pressed.... i.e.forward buton
{
forward();//go forward
Serial.println(" = forward");
}
Replace 'if' with 'while'.
ie.
while(buf[i] == '1')//if button 1 is pressed.... i.e.forward buton
{
forward();//go forward
Serial.println(" = forward");
}
This is because once 1 is sent , the receiver retains the value , you need to change the program so that when the button isn't pressed , it sends 0 . Thus the code with while will work.