a = 1; k = 1; m1 = 1; m2 = 3/2; \[Mu] = (1/m1 + 1/m2)^-1;
\[Omega][q_] := {Sqrt[k/\[Mu] (1 - Sqrt[1 - (4 \[Mu]^2 Sin[q a]^2)/(m1 m2)])], Sqrt[k/\[Mu] (1 + Sqrt[1 - (4 \[Mu]^2 Sin[q a]^2)/(m1 m2)])]};
\[Omega]list = FullSimplify[{0, 1/4 \[Omega][\[Pi]/(2 a)][[1]], 1/2 \[Omega][\[Pi]/(2 a)][[1]], 3/4 \[Omega][\[Pi]/(2 a)][[1]], \[Omega][\[Pi]/(2 a)][[1]], \[Omega][\[Pi]/(2 a)][[2]], Mean[{\[Omega][\[Pi]/(2 a)][[2]], \[Omega][0][[2]]}], \[Omega][0][[2]]}]
qlist = Chop[ DeleteCases[Join[Max /@ (q /. Table[Chop@NSolve[\[Omega][q][[1]] == \[Omega]list[[j]], q ], {j, 1, Length[\[Omega]list]}]), Max /@ (q /. Table[Chop@NSolve[\[Omega][q][[2]] == \[Omega]list[[j]], q], {j, 1, Length[\[Omega]list]}]) ], q], 10^-6] /. {C[1] -> 0}
amplitude = 0.04;
U1[j_] := If[\[Omega]list[[j]] <= \[Omega][\[Pi]/(2 a)][[1]], amplitude*(((2 k)/m1 Cos[qlist[[j]]])/((2 k)/m1 - \[Omega]list[[j]]^2)), amplitude];
U2[j_] := If[\[Omega]list[[j]] <= \[Omega][\[Pi]/(2 a)][[1]], amplitude, amplitude*(((2 k)/m1 Cos[qlist[[j]]])/((2 k)/m1 - \[Omega]list[[j]]^2))^-1];
frames = Table[
Show[
Plot[\[Omega][q], {q, 0, \[Pi]/(2 a)}, PlotRange -> {{-\[Pi]/2, \[Pi]/2}, {-0.1, 2}}, PlotStyle -> {Black, Thickness[0.006]}, Ticks -> None, AxesLabel -> {"k", "\[Omega]"}, LabelStyle -> {Black, Bold, FontSize -> 20}, AxesStyle -> Directive[Black, Thickness[0.003]], ImageSize -> Large]
,
Graphics[{
Table[{Red, Thick, Line[{{-\[Pi], \[Omega]list[[j]]}, {\[Pi], \[Omega]list[[j]]}}], Black, PointSize[0.007]
,
Point[Table[{\[Pi]/2 (n/50 - 1), U1[j]*Sin[qlist[[j]] 2 a n - \[Omega]list[[j]] t] + \[Omega]list[[j]]}, {n, 0, 50, 1}]]
, Gray, PointSize[0.008], Point[Table[{\[Pi]/2 ((n + 0.5)/50 - 1), U2[j]*Sin[qlist[[j]] (a + 2 a n) - \[Omega]list[[j]] t] + \[Omega]list[[j]]}, {n, 0, 49, 1}]]
}, {j, 1, Length[\[Omega]list]}]
}]
]
, {t, 0, (2 \[Pi])/\[Omega]list[[2]], (2 \[Pi])/(50*\[Omega]list[[2]])}];
ListAnimate[frames]