En esta sessió veurem com podem fer girar cadascun dels motors en ambdós sentits
Els pins del 1-7 controlaran un motor i del 9 al 15 l'altre motor
Els pins 1 i 9 activen o desactiven cadascun dels motors i també ens permetran més avant controlar la seva velocitat. El control del sentit de gir el determinen els valors que connectem als pins 2-7 i 9-15 . Per a controlar el motor que quedaré a la nostra esquerra utilitzem :
MOTOR 1
pin 1(enable) : 1 activa i 0 desactiva el motor
pin 2-7
| ENABLE 1 | PIN2 | PIN7 | MOTOR |
| 0 | --- | ---- | ATURAT |
| 1 | 1 | 0 | SENTIT HORARI |
| 1 | 0 | 1 | SENTIT ANTIHORARI |
| 1 | 0 | 1 | ATURAT |
| 1 | 0 | 0 | ATURAT |
Comprovem el funcionament d'un dels motors
Connectem els pins 1-2 7 en tres entrades digitals d'Arduino
veiem el codi que necessitem per a que el motor gire 1 seg en un sentit s'ature un segon i gire un segon en l'altre sentit
En primer lloc cal que indiquem on hem connectat els pins de control del motor en arduino
#define actm1 3 // activacion motor 1 #define motor1_1 4 // control motor 1 pin1 #define motor1_2 5 // Control motor 1 pin2
en el void setup() indicarem que en estes connexions esperem un valor, per tant, són de sortida OUTPUT
void setup()
{
pinMode( actm1, OUTPUT);
pinMode( motor1_1, OUTPUT);
pinMode( motor1_2, OUTPUT);
}
void loop()
{ digitalWrite(actm1, HIGH); // Activamos Motor1
digitalWrite(motor1_1, HIGH);
digitalWrite(motor1_2, LOW); // gira en sentido horario
delay(1000); // 1 seg
digitalWrite(motor1_1, LOW);
digitalWrite(motor1_2, LOW); // paramos motor
delay(1000);
digitalWrite(motor1_1, LOW);
digitalWrite(motor1_2, HIGH); // gira en sentido antihorario
delay(1000);
digitalWrite(motor1_1, LOW);
digitalWrite(motor1_2, LOW); // paramos motor
delay(1000);
}
El programa complet ens quedarà
#define actm1 3 // activacion motor 1
#define motor1_1 4 // control motor 1 pin1
#define motor1_2 5 // Control motor 1 pin2
void setup()
{
pinMode( actm1, OUTPUT);
pinMode( motor1_1, OUTPUT);
pinMode( motor1_2, OUTPUT);
}
void loop()
{ digitalWrite(actm1, HIGH); // Activamos Motor1
digitalWrite(motor1_1, HIGH);
digitalWrite(motor1_2, LOW); // gira en sentido horario
delay(1000);
digitalWrite(motor1_1, LOW);
digitalWrite(motor1_2, LOW); // paramos motor
delay(1000);
digitalWrite(motor1_1, LOW);
digitalWrite(motor1_2, HIGH); // gira en sentido antihorario
delay(1000);
digitalWrite(motor1_1, LOW);
digitalWrite(motor1_2, LOW); // paramos motor
delay(1000);
}
Cal que implementes el programa i comproves el seu funcionament. Desprès l'has d'ampliar connectant també el motor 2 en els pins 6-7-8 i fent la part de programa que falte.