Go Down

Topic: Toma de datos (Read 125 times) previous topic - next topic

CristianR

Oct 07, 2018, 05:09 pm Last Edit: Oct 08, 2018, 01:05 am by surbyte Reason: Agregado de etiquetas de código/error
hola a todos, estoy buscando la forma de tomar dos señales digitales por medio de encoders hasta el momento he sacado 2 codigos pero no se como puedo hacer que en un solo codigo me lea las dos señales digitales a la vez, gracias.

..........................
Encoder 1
..........................
Code: [Select]
int long encoder0PinA = 3;  
int long encoder0PinB = 5;  
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 2
...................................
Code: [Select]
int long   encoder0PinA2 = 9 ;  
int long encoder0PinB2 = 11;  
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;
}    


.........................................

PeterKantTropus

"Si no entra como tornillo, entra como clavo"

surbyte

Quote
no se como puedo hacer que en un solo codigo me lea las dos señales digitales a la vez?
y las seÑales digitales son?

Go Up