Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Programa: Teste carrinho para o mestrado
- // Autor: Ewerton de Barcellos Junior
- // // --- Mapeamento de Hardware ---
- #include <AFMotor.h> // Carregar a biblioteca AFMotor
- int SensorDireito = 0; // Definir o sensor de veolocidade da direita na porta A0
- int SensorEsquerdo = 1; // Definir o sensor de veolocidade da esquerda na porta A1
- AF_DCMotor motor1 (1); // Defini o motor1 ligado na conexão 1
- AF_DCMotor motor2 (2); // Defini o motor2 ligado na conexão 2
- // ==============================================================
- volatile byte pulsos1 = 0; // ---Variáveis Globais ---
- volatile byte pulsos2 = 0;
- int ajuste = 0;
- // =============================================================
- void contador1 () // ---Interrupção ---
- {
- pulsos1++; // Incrementa contador 1
- }
- // =============================================================
- void contador2 ()
- {
- pulsos2++; // Incrementa contador 2
- }
- // =============================================================
- void setup() // Configurações Iniciais ---
- {
- Serial.begin(9600);
- pinMode(SensorDireito, INPUT);
- pinMode(SensorEsquerdo, INPUT);
- motor1.setSpeed(120); // Defini a velocidade maxima para os motores 1 e 2
- motor2.setSpeed(120);
- attachInterrupt(0, contador1, FALLING); // Aciona o contador a cada pulso
- attachInterrupt(1, contador2, FALLING);
- }
- // =============================================================
- void loop()
- {
- motor1.run(FORWARD); // Aciona o motor 1 no sentido horario
- motor2.run(BACKWARD); // Aciona o motor 2 no sentido anti-horario
- Serial.println(pulsos1);
- Serial.println(pulsos2);
- delay(500);
- /*
- ajuste = pulsos1 - pulsos2; // Tem diferença de pulsos
- if (ajuste > 0) // Se motor1 rodou mais
- {
- motor2.run(RELEASE); // Para motor1
- motor1.run(BACKWARD); // Aciona o motor 2 no sentido anti-horario
- }
- if (ajuste < 0) // Se motor2 rodou mais
- {
- motor1.run(RELEASE); // Para motor2
- motor2.run(FORWARD); // Aciona o motor 1 no sentido horario
- }
- if (ajuste == 0) // Se contagem é igual
- {
- pulsos1 = 0; // Zera contador de pulsos motor1
- pulsos2 = 0; // Zera contador de pulsos motor2
- motor1.run(FORWARD); // Aciona o motor 1 no sentido horario
- motor2.run(BACKWARD); // Aciona o motor 2 no sentido anti-horario
- }*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement