PRÀCTIQUES AMB TINKERCAD I ARDUINO: MOTORS- SESSIÓ 2

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.