Paso 15:
Empecé con un tutorial Randofo y utilizar código de dougstrickland como base para esta operación. Un par de cosas que deba tenerse en cuenta. Corriente del motor aumenta cuando los motores empieza a dar vuelta y cuando se encuentra con resistencia (una pared). Medir la corriente después de que los motores han tenido un segundo para ponerse en marcha, de lo contrario, voy siempre detecta corriente alta y se meten en problemas. Si se utiliza en la alfombra, los valores de "analogRead" deba ser mayor ya que más trabajo se requiere de los motores.
El solenoide de la sonrisa y meneando la cola son controlados por un relé por pin 7 de Arduino.
Chi de int = 0;
int valm1 = 0;
const int pwmA = 3;
const int pwmB = 11;
const int plegadoraUna = 9;
const int brakeB = 8;
const int dirA = 12;
const int dirB = 13;
const int relé = 7;
void setup() {}
pinMode (dirA, salida);
pinMode (plegadoraUna, salida);
pinMode (dirB, salida);
pinMode (brakeB, salida);
pinMode (salida de relé,);
digitalWrite (dirA, HIGH); //forward A
digitalWrite (plegadoraUna, LOW); //release freno A
analogWrite (pwmA, 255); //full velocidad A
digitalWrite (dirB, HIGH);
digitalWrite (brakeB, bajo);
analogWrite (pwmB, 255);
digitalWrite (relé, LOW);
Delay (1000); //get pasado corriente de arranque
}
void loop() {}
digitalWrite (dirA, HIGH); //forward A
digitalWrite (plegadoraUna, LOW); //release freno A
analogWrite (pwmA, 255); //full velocidad A
digitalWrite (dirB, HIGH);
digitalWrite (brakeB, bajo);
analogWrite (pwmB, 255);
Valm=analogRead(0);
valm1=analogRead(1);
Si (Chi > 45 o valm1 > 45) {}
digitalWrite (plegadoraUna, HIGH);
digitalWrite (brakeB, HIGH);
digitalWrite (dirA, LOW); //forward A
digitalWrite (plegadoraUna, LOW); //release freno A
analogWrite (pwmA, 255); //full velocidad A
digitalWrite (dirB, LOW);
digitalWrite (brakeB, bajo);
analogWrite (pwmB, 255);
Delay(2000);
digitalWrite (plegadoraUna, HIGH); //stop una rueda
Delay(1000);
digitalWrite (brakeB, HIGH); //stop otra rueda
digitalWrite (relé, HIGH); //smile y cola
Delay(2000);
digitalWrite (relé, LOW); //turn sonrisa y cola de
Inicio ambas ruedas adelante
digitalWrite (dirA, HIGH); //forward A
digitalWrite (plegadoraUna, LOW); //release freno A
analogWrite (pwmA, 255); //full velocidad A
digitalWrite (dirB, HIGH);
digitalWrite (brakeB, bajo);
analogWrite (pwmB, 255);
Delay (1000); //get pasado corriente de arranque
}}