Paso 4: código
Aquí está mi código;
Por favor respeto me tomó tiempo para escribir esto;
Código por Jason McLaughlin
2015
const int channel_a_enable = 6;
const int channel_a_input_1 = 4;
const int channel_a_input_2 = 7;
const int channel_b_enable = 5;
const int channel_b_input_3 = 3;
const int channel_b_input_4 = 2;
#define trigPin 10
#define echoPin 9
void setup() {}
pinMode (trigPin, salida);
pinMode (echoPin, entrada);
pinMode (channel_a_enable, salida); Canal A habilitar
pinMode (channel_a_input_1, salida); Entrada de canal 1
pinMode (channel_a_input_2, salida); Entrada de canal 2
pinMode (channel_b_enable, salida); Canal B permiten
pinMode (channel_b_input_3, salida); Entrada del canal B 3
pinMode (channel_b_input_4, salida); Entrada del canal B 4
Serial.Begin (9600);
Serial.println ("iniciando"); }
void loop() {}
Ping/Ultra Sonic Sensor
int duración, distancia;
digitalWrite (trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite (trigPin, LOW);
duración = pulseIn (echoPin, HIGH);
distancia = (duración / 2) / 29,1;
Serial.Print(Distance);
Serial.println ("cm");
Delay(0);
Remite
if(Distance>5) {Serial.println ("remite:)");
analogWrite (channel_a_enable, 255);
digitalWrite (channel_a_input_1, HIGH);
digitalWrite (channel_a_input_2, bajo);
analogWrite (channel_b_enable, 255);
digitalWrite (channel_b_input_3, HIGH);
digitalWrite (channel_b_input_4, bajo);
Delay(50);
allInputsOff();}
otro if(distance<5)
{ }
Else {Serial.println ("canal A ralentí");
analogWrite (channel_a_enable, 0);
digitalWrite (channel_a_input_1, bajo);
digitalWrite (channel_a_input_2, bajo);
Delay(50);
allInputsOff();}
if(Distance<5)
{Serial.println("Turing");
analogWrite (channel_a_enable, 255);
digitalWrite (channel_a_input_1, bajo);
digitalWrite (channel_a_input_2, HIGH);
analogWrite (channel_b_enable, 255);
digitalWrite (channel_b_input_3, HIGH);
digitalWrite (channel_b_input_4, bajo);
Delay(50);
allInputsOff();}
else if (distancia > 5) {}
otra cosa
{Serial.println ("canal inverso inactivo");
analogWrite (channel_a_enable, 0);
digitalWrite (channel_a_input_1, bajo);
digitalWrite (channel_a_input_2, bajo);
Delay(50);
allInputsOff();}
}
void allInputsOff()
{
digitalWrite (4, bajo);
digitalWrite (7, bajo);
digitalWrite (6, bajo);
digitalWrite (3, bajo);
digitalWrite (2, bajo);
digitalWrite (5, bajo);
}