Moving needle from one angle to another angle one time

I am trying to make a meter with rotating needle (not speedometer exactly). This meter is not controlled by the player, but when a certain speed is hit the player must press a button. I want to move my needle from 90 degrees to -90 degrees one time. The speed of the needles movement will need to depend on a time variable. I am able to move the needle to a specific point, but I am having difficulty getting the needle to smoothly move from 90 to -90 over time. I was messing around with Mathf.Lerp and Quaternion.Euler.

Here’s what I have so far:

using UnityEngine;
using System.Collections;

public class MoveDial : MonoBehaviour {

	public Transform needle;

	private float needleSpeed;
	private float needleStart;
	private float needleEnd;

	// Use this for initialization
	void Start () {

	}
	
	// Update is called once per frame
	void Update () {
	    
		needle.rotation = Quaternion.Euler(0,0,-90);
		//needle.rotation = Mathf.Lerp (needleStart, needleEnd, needleSpeed);


	}
		
}

private const float ANGLE_CHANGE_SPEED = 10.0f; //Change this as per your requirement.

float currentAngle = 90.0f;

void Update () {}
	if (currentAngle > -90.0f) {
		needle.rotation = Quaternion.Euler (0, 0, currentAngle);
		currentAngle -= (ANGLE_CHANGE_SPEED * Time.deltaTime);
	}
}