You are on page 1of 2

--------------------------------------

Encoder Pendulo
--------------------------------------

int long encoder0PinA = 6;


int long encoder0PinB = 7;
float encoder0Pos = 0;
float encoder0PinALast = LOW;
int n = LOW;
int vueltas=0;
float grados=0;

void setup() {
pinMode (encoder0PinA,INPUT);
pinMode (encoder0PinB,INPUT);
Serial.begin (500000);
}

void loop() {
n = digitalRead(encoder0PinA);
if ((encoder0PinALast == LOW) && (n == HIGH)) {
if (digitalRead(encoder0PinB) == LOW) {
encoder0Pos--;
grados = ((360*encoder0Pos)/2500);
}
else {
encoder0Pos++;
grados = ((360*encoder0Pos)/2500);
}
Serial.print ("GRADOS = ");
Serial.println (grados);
}
encoder0PinALast = n;
}

------------------------------------
Encoder Motor
------------------------------------

int long encoder0PinA2 = 9;


int long encoder0PinB2 = 10;
float encoder0Pos2 = 0;
float encoder0PinA2Last = LOW;
int long n = LOW;
int vueltas=0;
float grados=0;

void setup() {
pinMode (encoder0PinA2,INPUT);
pinMode (encoder0PinB2,INPUT);
Serial.begin (9600);
}

void loop() {
n = digitalRead(encoder0PinA2);
if ((encoder0PinA2Last == LOW) && (n == HIGH)) {
if (digitalRead(encoder0PinB2) == LOW) {
encoder0Pos2 ++;
grados = ((5.3*encoder0Pos2)/60);

}
else {
encoder0Pos2 ++;
grados = ((5.3*encoder0Pos2)/60);
}
Serial.print ("Grado = ");
Serial.println (grados);
}
encoder0PinA2Last = n;
}

You might also like