My code now works thanks to you sir 
var speed = 0.1;
function Update () {
if (Input.GetKey (“a”))
{
print (“a key was pressed”);
transform.Rotate(Time.deltaTime*20, 0, 0);
if (Input.GetKey ("s"))
{
transform.Rotate(Time.deltaTime*10, 0, Time.deltaTime*10);
}
else if (Input.GetKey ("w"))
{
transform.Rotate(Time.deltaTime*10, 0, -Time.deltaTime*10);
}
}
else if (Input.GetKey (“d”))
{
print (“d key was pressed”);
transform.Rotate(-Time.deltaTime*20, 0, 0);
if (Input.GetKey ("s"))
{
transform.Rotate(-Time.deltaTime*10, 0, Time.deltaTime*10);
}
else if (Input.GetKey ("w"))
{
transform.Rotate(-Time.deltaTime*10, 0, -Time.deltaTime*10);
}
}
else if (Input.GetKey (“w”))
{
print (“w key was pressed”);
transform.Rotate(0, 0, -Time.deltaTime*20);
if (Input.GetKey ("d"))
{
transform.Rotate(-Time.deltaTime*10, 0, -Time.deltaTime*10);
}
else if (Input.GetKey ("a"))
{
transform.Rotate(Time.deltaTime*10, 0, -Time.deltaTime*10);
}
}
else if (Input.GetKey (“s”))
{
print (“s key was pressed”);
transform.Rotate(0, 0, Time.deltaTime*20);
if (Input.GetKey ("d"))
{
transform.Rotate(-Time.deltaTime*10, 0, Time.deltaTime*10);
}
else if (Input.GetKey ("a"))
{
transform.Rotate(Time.deltaTime*10, 0, Time.deltaTime*10);
}
}
else {
transform.rotation = Quaternion.Lerp (transform.rotation, Quaternion(0,0,0,1), Time.time * speed);
}
}
However, I decided to change my controller to move my ball instead of tilting the ground.
pushing its rigid body by force, and since tha if statements worked now this was not a problem at all 
Think this will be a fun game, thank you very much.
Since Im new I don´t know what to do with this forum thread now?
Am I suppose to accept the answer as correct?
This was the code that answered my question " How to rotate an object to its original, in this case 0,0,0 value over time.
transform.rotation = Quaternion.Lerp (transform.rotation, Quaternion(0,0,0,1), Time.time * speed);