Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
#18
Ha, to pewnie inaczej działający enkoder. Zrób Ryśku taki test, w funkcji setup włącz port szeregowy:

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ć...
Odpowiedz


Wiadomości w tym wątku

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości