Controle de Velocidade e Sentido da Rotação
Neste projeto iremos usar o módulo P27-Potenciômetro para controlar a velocidade de rotação do eixo do motor de corrente contínua ligado à Ponte-H, enquanto o módulo P4-Swtich será usado para determinar o sentido de rotação e também o desligamento do motor.
Itens necessários:
1 Arduino Uno R3 (ou qualquer outro modelo). 1 Módulo P1 – Ponte-H. 1 Módulo P4 – Switch. 1 Módulo P5 – Extensão. 1 Módulo P27 – Potenciômetro. 1 Motor de Corrente Contínua. 1 Fonte de Alimentação, pilhas ou bateria (com a mesma tensão de operação do motor e desde que respeitados os parâmetros de funcionamento do módulo P1, ou seja, tensão de operação entre 5V e 35V, corrente máxima 2A e potência máxima de 25W). Fios para conexão.
Sequência de montagem:

Utilizando fios de conexão Macho-Fêmea realize as seguintes conexões: a. Pino IN-1 do P1 ao pino digital 9 do Arduino. b. Pino IN-2 do P1 ao pino digital 10 do Arduino. c. Pino GND do P1 a qualquer pino GND do Arduino.d. Borne (azul) +Vcc do P1 ao polo positivo de uma fonte de alimentação, pilha ou bateria (conforme e tensão de operação do motor). e. Borne (azul) GND do P1 ao polo negativo de uma fonte de alimentação, pilha ou bateria (conforme e tensão de operação do motor). f. Ligar os dois bornes (azul), nomeados “Saída para o Motor”, do módulo P1 aos dois terminais de um motor de corrente contínua. g. Conectar qualquer pino +Vcc do P5 ao pino 5V do Arduino. h. Conectar qualquer pino GND do P5 a qualquer pino GND do Arduino. i. Pino Sinal do P27 à entrada analógica A0 do Arduino. j. Pino +5Vcc do P27 a qualquer pino +5Vcc do P5. k. Pino GND do P27 a qualquer pino GND do P5. l. Pino Out do P4 ao pino digital 7 do Arduino. m. Pino +5Vcc do P4 a qualquer pino +5Vcc do P5. n. Pino GND do P4 a qualquer pino GND do P5.
Código-fonte:
Note no sketch que obtemos, através da leitura da entrada analógica A0 do Arduino, a posição do potenciômetro. Na sequência, utilizamos a função map para definir o valor da velocidade que, por sua vez, será aplicada à porta PWM 9 ou 10 do Arduino, conforme o valor da variável estado. Lembrando que o valor desta variável será determinado pelo pressionamento do botão (módulo P4-Switch).
// Controle de velocidade e sentido de rotação de um motor de // corrente contínua utilizando uma Ponte-Hconst
const int MOTOR_PINO_1 = 9; const int MOTOR_PINO_2 = 10; const int POT = A0; const int BOTAO = 7;
int velocidade; int valor; int anterior = 0; int estado = 0;
void setup() { pinMode(MOTOR_PINO_1, OUTPUT); pinMode(MOTOR_PINO_2, OUTPUT); pinMode(BOTAO, INPUT); } void loop() { velocidade = map(analogRead(POT), 0, 1023, 0, 255); valor = digitalRead(BOTAO); if (valor == HIGH && anterior == LOW) { estado++; if (estado == 3) estado = 0; } if (estado == 0) { // Motor parado analogWrite(MOTOR_PINO_1, 0); analogWrite(MOTOR_PINO_2, 0); } else if (estado == 1) { // Sentido de Rotação 1 analogWrite(MOTOR_PINO_1, velocidade); analogWrite(MOTOR_PINO_2, 0); } else if (estado == 2) { // Sentido de Rotação 2 analogWrite(MOTOR_PINO_1, 0); analogWrite(MOTOR_PINO_2, velocidade); } anterior = valor; delay (50); }
Autor Cláudio Luís V. Oliveira Professor das FATECs de Jundiaí, Bragança Paulista e Itu. Autor dos livros “Arduino Descomplicado” e “Arduino Simples e Divertido”, além de diversos outros títulos na área de informática.
Para mais informações acesse: www.profclaudio.com.br