Este código em C pode ser compilado e executado no Arduino para realizar um teste no modulo L9110s, ele vai gerar movimento no motor nas duas direções com um stop entre a alternância no movimento.
CaracterÃsticas:
* -Baixa corrente de trabalho* -Tensão de alimentação: DC2.5-12V
* -Cada canal tem 800mA saÃda de corrente contÃnua
* -Pico de corrente de SaÃda: 1.5A~2A por porta (Somente pico, ou seja, breve)
* -Tensão dos terminais de controle: 2.5~7.7 V
* -Corrente dos terminais de controle: 500uA
* -CMOS TTL compatÃvel, pode ser conectado diretamente ao microcontrolador
* -Pode controlar dois motores DC ou um motor de passo de duas fases (4 Fios)
* -Tamanho aproximado: 27 x 21 mm
Pinagem:
Pino VCC: Alimentação do módulo (Mesma tensão do motor até 12V)
Pino GND: 0V
Pino IA1: Entrada de controle do motor 1
Pino IB1: Entrada de controle do motor 1
Pino IA2: Entrada de controle do motor 2
Pino IB2: Entrada de controle do motor 2
Pino GND: 0V
Pino IA1: Entrada de controle do motor 1
Pino IB1: Entrada de controle do motor 1
Pino IA2: Entrada de controle do motor 2
Pino IB2: Entrada de controle do motor 2
Código completo
//-----------------------------------------------------------
int motor_1_gira_esquerda = 12; //direcao
int motor_1_gira_direita = 11; //direcao
void setup()
{
pinMode(motor_1_gira_esquerda, OUTPUT);
pinMode(motor_1_gira_direita, OUTPUT);
Serial.begin(9600);
}
void loop(){
motor_1 (1);
Serial.println("Girar a Direita 1s");
delay(1000);
stop();
Serial.println("Parada por 250ms");
delay(250);
motor_1 (2);
Serial.println("Girar a esquerda 1s");
delay(1000);
stop();
Serial.println("Parada por 250ms");
delay(250); //250ms
}
void motor_1(int direcao)
{
boolean inPin1 = LOW;
boolean inPin2 = HIGH;
if(direcao == 1){
inPin1 = HIGH;
inPin2 = LOW;
}
digitalWrite(motor_1_gira_esquerda, inPin1);
digitalWrite(motor_1_gira_direita, inPin2);
}
void stop(){
digitalWrite(motor_1_gira_esquerda, LOW);
digitalWrite(motor_1_gira_direita, LOW);
}
//-----------------------------------------------------------