12-10-2014, 16:35
Ha, to pewnie inaczej działający enkoder. Zrób Ryśku taki test, w funkcji setup włącz port szeregowy:
A następnie podczas odczytywania enkodera wyświetl ile masz impulsów na ząbek:
Pewnie u Ciebie jest inaczej niż w tym moim i dlatego skacze po 200Hz
I teraz w zasadzie możemy albo zmienić krok albo inaczej zliczać impulsy.
Właściwa zmiana powinna się odbywać tutaj:
i tutaj:
Zamieniamy dwójkę na wartość jaką masz na ząbek. W sumie najlepiej to wystawić jako zmienną do konfiguracji.
Z ciekawości zapytam co to za enkoder?
Kod:
Serial.begin(9600);A następnie podczas odczytywania enkodera wyświetl ile masz impulsów na ząbek:
Kod:
if(enc != 0) { //jeśli wartość jest inna niż zero sumujemy
enc_sum = enc_sum + enc; //jeden ząbek encodera to +2 lub -2 tutaj to zliczam
Serial.println(enc); //<---- to dorzucamy
}Pewnie u Ciebie jest inaczej niż w tym moim i dlatego skacze po 200Hz
I teraz w zasadzie możemy albo zmienić krok albo inaczej zliczać impulsy.
Właściwa zmiana powinna się odbywać tutaj:
Kod:
if(enc_sum >= 2){i tutaj:
Kod:
if(enc_sum <= -2){Zamieniamy dwójkę na wartość jaką masz na ząbek. W sumie najlepiej to wystawić jako zmienną do konfiguracji.
Z ciekawości zapytam co to za enkoder?
...przede wszystkim nie zakłócać...

