Measure the speed of a stationary bike with belt drive
Your system seems to be working as you've designed it. You're counting in increments of one Hz. So your results make perfect sense.

For your system:

1 Hz = 2.94 km/h

2 Hz = 5.88 km/h

3 hz = 8.82 km/h

etc.

If you want more precision, count the milliseconds between each revolution. Your measured revolutions per second (that you're incorrectly calling "angular velocity") value will be 1/(measured seconds), which is in Hertz. Use that value in place of "angular velocity" and you'll likely get the results you're expecting rather than what you've currently designed for.