Quadern de Pràctiques de Tecnologia
6 bis 2. Motor 2
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 pin 11 tindrem un pols d'amplada variable.
Aquest és el programa per fer anar el motor 2 de forma horaria.
// 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à una ona quadrada
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à una ona quadrada
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);
}
|
i aquest altre és el programa per anar el motor 2 de forma anti horaria.
// 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à una ona quadrada
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à una ona quadrada
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);
}
|
Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial CompartirIgual 4.0