Omet navegació

6 bis 2. Motor 1

Recorda que el Motor 1 l'habilitem amb el pin  10 , el fem girar horariament si activem el pin 8, i el fem girar anti horariament  si activem el pin 9. Si activem el pin 10 tenim un pols d'amplada variable.

Aquest és el programa per fer anar el motor 1 de forma horaria.

Shield Motor1(D) (H)p8

// Copyleft (C) 2019 Carles Ferrando Garcia
// License: GNU GPL v3 http://www.gnu.org/copyleft/gpl.html 
// funcions motor1 i motor2
// En aquest programa utilitzem les funcions motor1onH() , motor1off() , motor1on1() , motor1onHpols(x) , motor1onApols(x)  [on x varia de 0 a 100]
// En aquest programa utilitzem les funcions motor2onH() , motor2off() , motor2on1() , motor2onHpols(x) , motor2onApols(x)  [on x varia de 0 a 100]

//definim ports motor 1 o motor dret
//Recorda que el Motor 1 el fem girar horariament si activem el pin 8, i el fem girar anti horariament  si activem el pin 9. Si activem el PWM 10 i el motor 1 tindrà un pols d'amplada variable.
int contacte1motor1 = 8;    
int contacte2motor1 = 9;    
int activaPWMmotor1 = 10;

//definim ports motor 2 o motor esquerre
// Recorda que el Motor 2 el fem girar horariament si activem el pin 12, i el fem girar anti horariament si activem el pin 13. Si activem el PWM 11 i el motor 1 tindrà un pols d'amplada variable.
int contacte2motor2 = 13;    
int activaPWMmotor2 = 11;

  


void setup() {
 
// Configura els ports motor 1 con eixides
pinMode(contacte1motor1, OUTPUT);
pinMode(contacte2motor1, OUTPUT);
pinMode(activaPWMmotor1, OUTPUT);

// Configura els ports motor 2 con eixides
pinMode(contacte1motor2, OUTPUT);
pinMode(contacte2motor2, OUTPUT);
pinMode(activaPWMmotor2, OUTPUT);


		}
			
void loop() 
{
motor1onH(); 
delay(2000); 
motor1off(); 
delay(10000); 

//motor1onA();
//delay(2000);  
//motor1off(); 
//delay(10000); 

//motor1onHpols(56);
//delay(1000);
//motor1off();
//delay(1000);

//motor1onApols(56);
//delay (1000);
//motor1off();
//delay(1500);

//motor2onH(); 
//delay(100); 
//motor2off(); 
//delay(3000);

//motor2onA();
//delay(200);  
//motor2off(); 
//delay(3000);

//motor2onHpols(56);
//delay(1000);
//motor2off();
//delay(1000);

//motor2onApols(56);
//delay (1000);
//motor2off();
//delay(1500);



}

//___________ FUNCIONS MOTOR 1
			
//
//anem a crear la funció activar el motor 1 en sentit Horari 	
void motor1onH()
    {
// engeguem  el motor1 en sentit Horari
digitalWrite(contacte1motor1, HIGH);   
digitalWrite(contacte2motor1, LOW);  
    }
			
//
//anem a crear la funció per aturar el motor 1
void motor1off()
	{
// desactivem el motor1 per poder parar-lo
digitalWrite(contacte1motor1, LOW);   
digitalWrite(contacte2motor1, LOW);
	}

//
//anem a crear la funció engega motor 1 en sentit Antihorari
void motor1onA()
  {
// engeguem el motor1 en sentit Antihorari
digitalWrite(contacte1motor1, LOW);  
digitalWrite(contacte2motor1, HIGH);     
   }


//Anem a crear la funcio engega el motor 1 en sentit Horari polsat al «pols %» polsat
void motor1onHpols (int pols)
	{
 float escriuD= pols/100.0*255.0;
 int escriuE=int(escriuD);  
// activa el PWMmotor1 per poder engegar-lo
digitalWrite(activaPWMmotor1, HIGH);
// engeguem  el motor1 en sentit enrere al pols% del puls possible
analogWrite(contacte1motor1,escriuE);   
analogWrite(contacte2motor1,0);  
	}


//Anem a crear la funcio engega el motor 1 en sentit Antihorari polsat al «pols %» polsat
void motor1onApols (int pols)
	{
 float escriuD= pols/100.0*255.0;
 int escriuE=int(escriuD);  
// activa el PWMmotor1 per poder engegar-lo
digitalWrite(activaPWMmotor1, HIGH);
// engeguem  el motor1 en sentit enrere al pols% del puls possible
analogWrite(contacte1motor1,0);   
analogWrite(contacte2motor1,escriuE);  
	} 
  
//_________ FUNCIONS MOTOR 2
			
//
//anem a crear la funció activar el motor 2 en sentit Horari 	
void motor2onH()
    {
// engeguem  el motor 2 en sentit Horari
digitalWrite(contacte1motor2, HIGH);   
digitalWrite(contacte2motor2, LOW);  
    }
			
//
//anem a crear la funció per aturar el motor 1
void motor2off()
	{
digitalWrite(contacte1motor2, LOW);  
digitalWrite(contacte2motor2, LOW); 
	}

//
//anem a crear la funció engega motor 2 en sentit 1ntihorari
void motor2onA()
  {
// engeguem el motor1 en sentit Antihorari
digitalWrite(contacte1motor2, LOW);  
digitalWrite(contacte2motor2, HIGH);     
   }


//1nem a crear la funcio engega el motor 2 en sentit Horari polsat al «pols %» polsat
void motor2onHpols (int pols)
	{
 float escriuD2= pols/100.0*255.0;
 int escriuE2=int(escriuD2);  
// activa el PWMmotor2 per poder engegar-lo
digitalWrite(activaPWMmotor2, HIGH);
// engeguem  el motor1 en sentit enrere al pols% del puls possible
analogWrite(contacte1motor2,escriuE2);   
analogWrite(contacte2motor2,0);  
	}


//Anem a crear la funcio engega el motor 2 en sentit Antihorari polsat al «pols %» polsat
void motor2onApols (int pols)
	{
 float escriuD2= pols/100.0*255.0;
 int escriuE2=int(escriuD2);  
// activa el PWMmotor2 per poder engegar-lo
digitalWrite(activaPWMmotor2, HIGH);
// engeguem  el motor1 en sentit enrere al pols% del puls possible
analogWrite(contacte1motor2,0);   
analogWrite(contacte2motor2,escriuE2);  
	} 
	

i aquest altre és el programa per anar el motor 1 de forma anti horaria.

Shield Motor1(D) (aH)p9

// Copyleft (C) 2019 Carles Ferrando Garcia
// License: GNU GPL v3 http://www.gnu.org/copyleft/gpl.html 
// funcions motor1 i motor2
// En aquest programa utilitzem les funcions motor1onH() , motor1off() , motor1on1() , motor1onHpols(x) , motor1onApols(x)  [on x varia de 0 a 100]
// En aquest programa utilitzem les funcions motor2onH() , motor2off() , motor2on1() , motor2onHpols(x) , motor2onApols(x)  [on x varia de 0 a 100]

//definim ports motor 1 o motor dret
//Recorda que el Motor 1 el fem girar horariament si activem el pin 8, i el fem girar anti horariament  si activem el pin 9. Si activem el PWM 10 i el motor 1 tindrà un pols d'amplada variable.
int contacte1motor1 = 8;    
int contacte2motor1 = 9;    
int activaPWMmotor1 = 10;

//definim ports motor 2 o motor esquerre
// Recorda que el Motor 2 el fem girar horariament si activem el pin 12, i el fem girar anti horariament si si activem el pin 13. Si activem el PWM 11 i el motor 1 tindrà un pols d'amplada variable.
int contacte1motor2 = 12;    
int contacte2motor2 = 13;    
int activaPWMmotor2 = 11;

  


void setup() {
 
// Configura els ports motor 1 con eixides
pinMode(contacte1motor1, OUTPUT);
pinMode(contacte2motor1, OUTPUT);
pinMode(activaPWMmotor1, OUTPUT);

// Configura els ports motor 2 con eixides
pinMode(contacte1motor2, OUTPUT);
pinMode(contacte2motor2, OUTPUT);
pinMode(activaPWMmotor2, OUTPUT);


		}
			
void loop() 
{
//motor1onH(); 
//delay(2000); 
//motor1off(); 
//delay(10000); 

motor1onA();
delay(2000);  
motor1off(); 
delay(10000); 

//motor1onHpols(56);
//delay(1000);
//motor1off();
//delay(1000);

//motor1onApols(56);
//delay (1000);
//motor1off();
//delay(1500);

//motor2onH(); 
//delay(100); 
//motor2off(); 
//delay(3000);

//motor2onA();
//delay(200);  
//motor2off(); 
//delay(3000);

//motor2onHpols(56);
//delay(1000);
//motor2off();
//delay(1000);

//motor2onApols(56);
//delay (1000);
//motor2off();
//delay(1500);



}

//___________ FUNCIONS MOTOR 1
			
//
//anem a crear la funció activar el motor 1 en sentit Horari 	
void motor1onH()
    {
// engeguem  el motor1 en sentit Horari
digitalWrite(contacte1motor1, HIGH);   
digitalWrite(contacte2motor1, LOW);  
    }
			
//
//anem a crear la funció per aturar el motor 1
void motor1off()
	{
// desactivem el motor1 per poder parar-lo
digitalWrite(contacte1motor1, LOW);   
digitalWrite(contacte2motor1, LOW);
	}

//
//anem a crear la funció engega motor 1 en sentit Antihorari
void motor1onA()
  {
// engeguem el motor1 en sentit Antihorari
digitalWrite(contacte1motor1, LOW);  
digitalWrite(contacte2motor1, HIGH);     
   }


//Anem a crear la funcio engega el motor 1 en sentit Horari polsat al «pols %» polsat
void motor1onHpols (int pols)
	{
 float escriuD= pols/100.0*255.0;
 int escriuE=int(escriuD);  
// activa el PWMmotor1 per poder engegar-lo
digitalWrite(activaPWMmotor1, HIGH);
// engeguem  el motor1 en sentit enrere al pols% del puls possible
analogWrite(contacte1motor1,escriuE);   
analogWrite(contacte2motor1,0);  
	}


//Anem a crear la funcio engega el motor 1 en sentit Antihorari polsat al «pols %» polsat
void motor1onApols (int pols)
	{
 float escriuD= pols/100.0*255.0;
 int escriuE=int(escriuD);  
// activa el PWMmotor1 per poder engegar-lo
digitalWrite(activaPWMmotor1, HIGH);
// engeguem  el motor1 en sentit enrere al pols% del puls possible
analogWrite(contacte1motor1,0);   
analogWrite(contacte2motor1,escriuE);  
	} 
  
//_________ FUNCIONS MOTOR 2
			
//
//anem a crear la funció activar el motor 2 en sentit Horari 	
void motor2onH()
    {
// engeguem  el motor 2 en sentit Horari
digitalWrite(contacte1motor2, HIGH);   
digitalWrite(contacte2motor2, LOW);  
    }
			
//
//anem a crear la funció per aturar el motor 1
void motor2off()
	{
digitalWrite(contacte1motor2, LOW);  
digitalWrite(contacte2motor2, LOW); 
	}

//
//anem a crear la funció engega motor 2 en sentit 1ntihorari
void motor2onA()
  {
// engeguem el motor1 en sentit Antihorari
digitalWrite(contacte1motor2, LOW);  
digitalWrite(contacte2motor2, HIGH);     
   }


//1nem a crear la funcio engega el motor 2 en sentit Horari polsat al «pols %» polsat
void motor2onHpols (int pols)
	{
 float escriuD2= pols/100.0*255.0;
 int escriuE2=int(escriuD2);  
// activa el PWMmotor2 per poder engegar-lo
digitalWrite(activaPWMmotor2, HIGH);
// engeguem  el motor1 en sentit enrere al pols% del puls possible
analogWrite(contacte1motor2,escriuE2);   
analogWrite(contacte2motor2,0);  
	}


//Anem a crear la funcio engega el motor 2 en sentit Antihorari polsat al «pols %» polsat
void motor2onApols (int pols)
	{
 float escriuD2= pols/100.0*255.0;
 int escriuE2=int(escriuD2);  
// activa el PWMmotor2 per poder engegar-lo
digitalWrite(activaPWMmotor2, HIGH);
// engeguem  el motor1 en sentit enrere al pols% del puls possible
analogWrite(contacte1motor2,0);   
analogWrite(contacte2motor2,escriuE2);  
	}