Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // http://labdegaragem.com/forum/topics/ajuda-em-conectar-e-programar-sensor-de-velocidade-com-encode
- //Programa: Sensor de velocidade Arduino LM393
- //Autor: Arduino e Cia
- //Pino ligado ao pino D0 do sensor
- int pino_D0 = 2;
- int pino_D1 = 3;
- long pulsos = 0;
- long pulsos2 = 0;
- long ajuste = 0;
- int IN1 = 4;
- int IN2 = 5;
- int IN3 = 6;
- int IN4 = 7;
- //--------------------------------
- void contador()
- {
- //Incrementa contador
- pulsos++;
- }
- //--------------------------------
- void contador2()
- {
- //Incrementa contador
- pulsos2++;
- }
- //----------------------------------
- void setup()
- {
- Serial.begin(9600);
- //Define os pinos como saida
- pinMode(IN1, OUTPUT);
- pinMode(IN2, OUTPUT);
- pinMode(IN3, OUTPUT);
- pinMode(IN4, OUTPUT);
- //Pino do sensor como entrada
- pinMode(pino_D0, INPUT); //Interrupcao 0 - pino digital 2
- pinMode(pino_D1, INPUT); //Interrupcao 0 - pino digital 3
- attachInterrupt(0, contador, FALLING);
- attachInterrupt(1, contador2, FALLING);
- }
- //-----------------------------------------
- void loop()
- {
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW); // Aciona o motor 1 no sentido horario
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- ajuste = pulsos - pulsos2; // Tem diferença de pulsos
- if (ajuste > 0) // Se motor1 rodou mais
- {
- Serial.print("ajuste P " ) ; Serial.println(ajuste);
- }
- if (ajuste < 0) // Se motor2 rodou mais
- {
- Serial.print("ajuste P2" ) ; Serial.println(ajuste);
- }
- if (ajuste == 0) // Se contagem é igual
- {
- Serial.print("ajuste == " ) ; Serial.println(ajuste);
- pulsos = 0;
- pulsos2 = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement