Paso 27:
analogRead(2) los valores determinan el punto de activación de la célula fotoeléctrica.
los valores analogRead(0) y analogRead(1) determinan la corriente que hará que el Arduino a creo que el paquete ha choca con un obstáculo. Si corres en la alfombra, los valores deba ser mayor. Si corres más rápido los motores, el valor deba ser mayor.
Tenga en cuenta que el "arranque del actual" en los motores es mayor que la actual "carrera" - por eso hay un retraso en adelante antes de verificar los valores actuales.
Chi de int = 0;
int valm1 = 0;
gatillo de int = 0;
int triggerlock = 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 (salida de relé,);
digitalWrite (relé, HIGH);
Delay (500); //leave relé en.5 segundo--hace "eek" sonido
digitalWrite (relé, LOW);
}
void loop() {}
Trigger=analogRead(2);
Si (desencadenar < 900 o triggerlock > 0) {//light brillante en sensor ahora o previamente
triggerlock = 10; //don't ver la luz otra vez
pinMode (dirA, salida);
pinMode (plegadoraUna, salida);
pinMode (dirB, salida);
pinMode (brakeB, salida);
digitalWrite (dirA, HIGH); //forward A
digitalWrite (plegadoraUna, LOW); //release freno A
analogWrite (pwmA, 150); //set velocidad A
digitalWrite (dirB, HIGH); //forward B motor
digitalWrite (brakeB, bajo);
analogWrite (pwmB, 150); //set velocidad B
Valm=analogRead(0);
valm1=analogRead(1);
Si (Chi > 520 o valm1 > 520) {}
digitalWrite (relé, HIGH); //turn el sonido de "eek"
Delay(100);
digitalWrite (relé, LOW);
digitalWrite (plegadoraUna, HIGH); //stop motor A
digitalWrite (brakeB, HIGH); //stop Motor B
digitalWrite (dirA, LOW); //reverse A
digitalWrite (plegadoraUna, LOW); //release freno A
analogWrite (pwmA, 150); //set velocidad A
digitalWrite (dirB, LOW); //reverse B
digitalWrite (brakeB, bajo);
analogWrite (pwmB, 150); //set velocidad B
Delay(300);
digitalWrite (plegadoraUna, HIGH); //stop una rueda
Delay(400);
digitalWrite (brakeB, HIGH); //stop otra rueda
Inicio ambas ruedas adelante
digitalWrite (dirA, HIGH); //forward A
digitalWrite (plegadoraUna, LOW); //release freno A
analogWrite (pwmA, 150); //set velocidad A
digitalWrite (dirB, HIGH); //forward B
digitalWrite (brakeB, bajo);
analogWrite (pwmB, 150); //set velocidad B
retardo (700); //get pasado corriente de arranque
}}}