Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //motor_A
- int IN1 = 2 ; // pino digital 2 ligado da Enable 1 da ponte h
- int IN2 = 4 ; // pino digital 2 ligado no Enable 2 da ponte h
- int velocidadeA = 3; // pino digital 3 ligado ao pino de pwm da ponte h
- /*Os pinos 2 e 4 controlam o sentido de rotação do motor A, enquanto que o pino 3 e o sinal pwm que controla a velocidade do motor
- A tabela verdade e o seguinte
- IN1 1N2 Estado
- 0v 0v Desligado
- 0v 5v Sentido horario
- 5v 0v Sentido anti-horario
- 5v 5v Desligado
- A mesma tabela vale para o motor 2, podemos entao criar funcoes para escolher o sentido do motor
- void gira_motor(int motor, int sentido)
- {
- if( motor == 1) //caso a variavel motor seja 1
- {
- if (sentido == 1)
- {
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- }
- else
- {
- if (sentido == 2)
- {
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- }
- else
- {
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, LOW);
- }
- }
- }
- else//quer dizer que foi selecionado o motor 2
- {
- if (sentido == 1)
- {
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- }
- else
- {
- if (sentido == 2)
- {
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- }
- else
- {
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, LOW);
- }
- }
- }
- }
- */
- //motor_B
- //Os pinos 2 e 4 controlam o sentido de rotação do motor A, enquanto que o pino 3 e o sinal pwm que controla a velocidade do motor
- int IN3 = 6 ; // pino digital 6 ligado da Enable 2 da ponte h
- int IN4 = 7 ; //pino digital 7 ligado no Enable 2 da ponte h
- int velocidadeB = 5; // pino digital 5 ligado ao pino de pwm da ponte h
- //variavel auxiliar
- int velocidade = 127;
- //Inicializa Pinos
- void setup(){
- //No setup realizamos as configurações dos nossos pinos
- //motor1
- pinMode(IN1,OUTPUT); //configura o pinot IN1 como saida
- pinMode(IN2,OUTPUT); //""
- pinMode(IN3,OUTPUT); //""
- pinMode(IN4,OUTPUT); //""
- pinMode(velocidadeA,OUTPUT); //pinos de pwm
- pinMode(velocidadeB,OUTPUT); //pinos de pwm
- analogWrite(velocidadeA,velocidade);
- analogWrite(velocidadeB,velocidade);
- Serial.begin(9600);
- }
- void loop(){
- //Aqui configurações o que nosso arduino fara em loop
- //com este modelo de codigo voce envia o dado via serial monitor e altera em tempo real no arduino
- if (Serial.available()) //se byte pronto para leitura
- {
- switch(Serial.read()) //verifica qual caracter recebido
- {
- case 'a': //caso 'A'
- //liga o motor 1 no sentido horario
- Serial.println("Motor 1 ativo, sentido horario");
- gira_motor(1, 1);
- break;
- case 'b':
- // liga o motor 1 no sentido anti horario
- Serial.println("Motor 1 ativo, sentido anti horario");
- gira_motor(1, 2);
- break;
- case 'c':
- //desliga o motor1
- Serial.println("Motor 1 desligado");
- gira_motor(1, 0);
- break;
- //Acoes para o motor 2
- case 'd':
- //liga o motor 1 no sentido horario
- Serial.println("Motor 2 ativo, sentido horario");
- gira_motor(2, 1);
- break;
- case 'e':
- // liga o motor 1 no sentido anti horario
- Serial.println("Motor 2 ativo, sentido anti horario");
- gira_motor(2, 2);
- break;
- case 'f':
- //desliga o motor1
- Serial.println("Motor 2 desligado");
- gira_motor(2, 0);
- break;
- }
- }
- }
- //funcao gira_motor, para usa-la informe um numero para o motor(1 ou 2), e numero para sentido(1, horario, 2, anti horario, 0, desligado);
- void gira_motor(int motor, int sentido)
- {
- if( motor == 1) //caso a variavel motor seja 1
- {
- if (sentido == 1)
- {
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- }
- else
- {
- if (sentido == 2)
- {
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- }
- else
- {
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, LOW);
- }
- }
- }
- else//quer dizer que foi selecionado o motor 2
- {
- if (sentido == 1)
- {
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- }
- else
- {
- if (sentido == 2)
- {
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- }
- else
- {
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, LOW);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement