カウンタボードについて教えてください。
エンコーダで角度計測をするのに、カウンタボードを介するのと、カウンタボードを使わずに下記のようなプログラムで角度を計測するのとでは、何が違うのでしょうか?カウンタボードから出力される信号は何なのでしょうか?カウンタボードを使うと下記のようなプログラムは必要ないのでしょうか?カウンタボードの簡単な原理なメリットについて教えてください。よろしくお願いします。
byte value = B00000000;
float degree = 0.00;
void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(3, INPUT);
}
void loop() {
value = (value<<2)+(digitalRead(2)<<1)+digitalRead(3);
value = value &B00001111;
if(value==B00000001||value==B00000111||value==B00001110||value==B00001000)
{
degree = degree+3.75;
}
else if(value==B00000010||value==B00001011||value==B00001101||value==B00000100)
{
degree = degree-3.75;
}
if(degree>180)
{
degree = degree-360;
}
else if(degree<=-180)
{
degree = degree+360;
}
Serial.print("degree: ");
Serial.println(degree);
}