Está en la página 1de 3

UNIVERSIDAD DE LA SALLE - LABORATORIO

CONVERSORES CC/CC

int pin = 13;


int pin1 = 8;
int pin2 = 9; //Entrada 2
int pin7 = 10; //Entrada 7
int pin8 = 12;
int pin3 = 2;
int pote = A0; //Potenciómetro

int valorpote; //Variable que recoge el valor del potenciómetro


int pwm1; //Variable del PWM 1
int pwm2; //Variable del PWM 2

int contador = 0;
int n = contador ;

int cont = 0;
int m = cont;

void ServicioBoton()
{ contador++ ;
}
void ServicioBoton2()
{ cont++ ;
}
void setup()
{
//Inicializamos los pins de salida
Serial.begin(9600);
attachInterrupt( 0, ServicioBoton, FALLING);
attachInterrupt( 1, ServicioBoton2, FALLING);
pinMode(pin2, OUTPUT);
pinMode(pin7, OUTPUT);
pinMode(pin1, OUTPUT);
pinMode(pin8, OUTPUT);
pinMode(pin, INPUT);
pinMode(pin3, INPUT);
}

void loop()
{
// GIRO IZQUIERDA
if (n != contador)
{ Serial.println(contador);
n = contador ;
valorpote = analogRead(pote);
pwm2 = map(valorpote, 0, 1023, 255, 0);
UNIVERSIDAD DE LA SALLE - LABORATORIO
CONVERSORES CC/CC

analog33Write(pin7, pwm2);
digitalWrite(pin1, HIGH);

//Almacenamos el valor del potenciómetro en la variable

//Como la entrada analógica del Arduino es de 10 bits, el rango va de 0 a 1023.


//En cambio, la salidas del Arduio son de 8 bits, quiere decir, rango entre 0 a 255.
//Por esta razón tenemos que mapear el número de un rango a otro usando este código.
//El PWM 2 esta invertido respecto al PWM 1

//Sacamos el PWM de las dos salidas usando analogWrite(pin,valor)

}
// GIRO DERECHA
if (m != cont)
{ Serial.println(cont);
m = cont ;
valorpote = analogRead(pote);
pwm1 = map(valorpote, 0, 1023, 0, 255);
analogWrite(pin2, pwm1);
digitalWrite(pin8, HIGH);

//Almacenamos el valor del potenciómetro en la variable

//Como la entrada analógica del Arduino es de 10 bits, el rango va de 0 a 1023.


//En cambio, la salidas del Arduio son de 8 bits, quiere decir, rango entre 0 a 255.
//Por esta razón tenemos que mapear el número de un rango a otro usando este código.
//El PWM 2 esta invertido respecto al PWM 1

//Sacamos el PWM de las dos salidas usando analogWrite(pin,valor)

// FRENO
if (digitalRead(pin) == LOW) {
noInterrupts();
digitalWrite(pin2, HIGH);
digitalWrite(pin7, HIGH);
digitalWrite(pin1, LOW);
digitalWrite(pin8, LOW);
}

if (digitalRead(pin) == HIGH) {
interrupts();
UNIVERSIDAD DE LA SALLE - LABORATORIO
CONVERSORES CC/CC

También podría gustarte