How to measure the speed of a dc motor using optical encoder and dual motor driver 5A in an Arduino UNO?
If it's an incremental optical encoder on the motor then essentially all you need to do is count the pulses from it over a known time period. It's been done many time before.
there are photointerrupts like TCST2103. they can read high frequency like 1/0 or High/Low ..
you must build or buy a encoder disk but be carefull that , classic photointerrupts can not read disk which has too much steps like 7000 or 3000 from old printers.
one interrupt sensor can read dc motor's velocity but two interrupt can read steps and velocity of motor by encoder disk.
also you need a h bridge like L298D.. and notice that most h bridge has 2 amps capability of current.
i build a cnc with this encoder disks but disks cannot have enough steps for read frequency sensitive..
here is a attachment about homemade encoder.. if you need more sensitive codes, i have also the one....
have a nice day.