So the serial communication works from arduino to pi, but not the other way
In the if(Serial.available() > 0) block, blink the onboard LED a few times. This will tell you whether anything is getting from the pi to the Arduino. If something, garbled or not, gets through, you know one thing. If nothing gets through, you know something else.
How are you, on the pi, receiving the serial data from the Arduino?