Puente H (Código para invertir sentido de giro de 4 motores, 2 con modulación de velocidad)
Enviado por therobo10 • 25 de Abril de 2017 • Trabajo • 457 Palabras (2 Páginas) • 182 Visitas
int pot1 = A0, pot2 = A1, pot3 = A2, pot4 = A3; //Entradas analógicas para potenciómetros
int sensor1, sensor2, sensor3, sensor4; //Para guardar los valores de los potenciómetros
int pwm1, pwm2, pwm3, pwm4; //Para la dirección de los motores y graduar su velocidad
int giro1, giro2, giro3, giro4; //Para la dirección de los motores sin graduar velocad
int sw = 0;
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, INPUT);
pinMode(13, OUTPUT);
}
void loop()
{
sw = digitalRead(12);
if(sw ==LOW){
digitalWrite(13,LOW);
//Para los motores con control de velocidad
sensor1 = analogRead(pot1);
pwm1 = map(sensor1, 0, 1023, 0, 255);
pwm2 = map(sensor1, 0, 1023, 255, 0);
analogWrite(5,pwm1);
analogWrite(6,pwm2);
sensor2 = analogRead(pot2);
pwm3 = map(sensor2, 0, 1023, 0, 255);
pwm4 = map(sensor2, 0, 1023, 255, 0);
analogWrite(9,pwm3);
analogWrite(10,pwm4);
//Para los motres sin control de velocidad
sensor3 = analogRead(pot3);
giro1 = map(sensor3, 0, 1023, 0, 255);
giro2 = map(sensor3, 0, 1023, 255, 0);
digitalWrite(2,giro1);
digitalWrite(4,giro2);
sensor4 = analogRead(pot4);
giro3 = map(sensor4, 0, 1023, 0, 255);
giro4 = map(sensor4, 0, 1023, 255, 0);
digitalWrite(7,giro3);
digitalWrite(8,giro4);
}else{
digitalWrite(13,HIGH);
//Para los motores con control de velocidad
sensor1 = analogRead(pot1);
pwm1 = map(sensor1, 0, 1023, 0, 255);
pwm2 = map(sensor1, 0, 1023, 255, 0);
analogWrite(5,LOW);
analogWrite(6,LOW);
sensor2 = analogRead(pot2);
pwm3 = map(sensor2, 0, 1023, 0, 255);
pwm4 = map(sensor2, 0, 1023, 255, 0);
analogWrite(9,LOW);
analogWrite(10,LOW);
//Para los motres sin control de velocidad
sensor3 = analogRead(pot3);
giro1 = map(sensor3, 0, 1023, 0, 255);
giro2 = map(sensor3, 0, 1023, 255, 0);
digitalWrite(2,LOW);
digitalWrite(4,LOW);
sensor4 = analogRead(pot4);
giro3 = map(sensor4, 0, 1023, 0, 255);
giro4 = map(sensor4, 0, 1023, 255, 0);
digitalWrite(7,LOW);
...