Alternatively, drop it into Mathematica with manipulate.
Manipulate[
{
sols = NDSolve[{
D[Temp[t], t] == -0.1 (Temp[t] - ambient),
Temp[0] == beginTemp,
WhenEvent[
t > addMilk,
Temp[t] -> (coffee*Temp[t] + milk*milkTemp)/(coffee + milk)]},
Temp,
{t, 0, experimentTime}
];
Plot[
Temp[t] /. sols, {t, 0, experimentTime},
PlotRange -> {{0, experimentTime}, {0, beginTemp + 10}},
AxesLabel -> {"Time (minutes)", "Temperature ?C"},
LabelStyle -> Directive[Bold, Medium],
ImageSize -> {{400, 600}}]
},
{{ambient, 20, "Ambient temperature"}, 0, 30, 0.5,
Appearance -> "Labeled"},
{{experimentTime, 30, "Time of Experiement(minutes)"}, 1, 100, 0.5,
Appearance -> "Labeled"},
{{beginTemp, 80, "Coffee start temperature"}, 50, 100, 0.5,
Appearance -> "Labeled"},
{{milkTemp, 5, "Milk start temperature"}, 1, ambient, 0.5,
Appearance -> "Labeled"},
{{addMilk, 1, "Time to add milk(minutes)"}, 1, 100, 1,
Appearance -> "Labeled"},
{{coffee, 200, "Coffee volume (ml)"}, 100, 500, 10,
Appearance -> "Labeled"},
{{milk, 20, "Milk volume (ml)"}, 0, 50, 5, Appearance -> "Labeled"},
ControlPlacement -> Left
]