çok hakim olmasamda bildiğim kadarıyla enkoderden okuma yapmak istiyorsanız interrupt dediğimiz yapıyı kullanmalısınız. çünkü çok sık okuma yapacaksınız. enkoder ile aramanızı interrupt kelimesi ile yapmanızı tavsiye ederim. hızı hesaplayabilmek için ise yine bildiğim kadarıyla zaman ve yol bilgisine ihtiyacınız var, yol bilgisini enkoderlerden elde ettiğinizi düşünürsek zaman bilgisini de bilmeniz lazım. zaman bilgisinin olmadığını farzedersek(millis fonksiyonu ile bulunabilir belki) , katedilen yol bilgisi üzerinden gitmeniz gerekir, katedilen yolu da iki enkoderin saydıkları değerlerin ortalamasını alarak bulabilirsiniz.
genellikle motor seçerken rpm değerine bakarız ama enkoder ile çalışıyorsanız bir de motorun gear ratio dediğimiz oranına da bakmak gerekiyor. misal
https://www.pololu.com/category/60/micro-metal-gearmotors sayfasında rpm değeri yanında gear ratio dediğimiz redüksiyon oranı var, ona da bakılmalı.
şimdi sadete gelirsek: motorunuza ait gear ratio oranı 10:1 olsun, tekerlek yarı çapınızda 5cm olsun. manyetik enkoder kullandığnızı varsaydığımızda motor şaftının bir tur dönüşünde 12 değeri alırsınız.(manyetik enkoder aramanızda genellikle 12 değeri olduğunu göreceksiniz.) pi sayısınıda 3,14 aldığımızda:
Tekerleğin tam turunda katedeceği mesafe : 2*pi*r --> 3,14 * 10 = 31,4 cm
Enkoderin bir tam turda sayacağı sayı = Gear ratio * 12 --> 10*12 = 120
1 enkoder sayımında tekerleğin gideceği mesafe : 31,4 / 120 = 0,261 cm/adım olur.
Genellikle sol ve sağ enkoderler aynı mesafede farklı değer verdiğinden sol ve sağ teker enkoderden gelen değerlerin ortalaması size mesafeyi daha doğru verir.
Örnek olması açısından sabit bir mesafeyi atıyorum 100 cm kattetiğinizi düşünürsek enkoderden 100 / 0,261 civarında bir değer okumalısınız. yada tam tersi 100 / 0,261 okuduğunuzda 100 cm yol almış olmalısınız. bana kalsa enkoder yerine gyro ile kasis falan işi de olabilir, ama denemek lazım.
Bu anlattıklarımı kod olarak hocam yaz deseniz yazamam orası ayrı

, ama mantık bu diye biliyorum, hatalı kısımları tecrübeli arkadaşlar belirtirler.