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 • Trabajos • 457 Palabras (2 Páginas) • 157 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);
...