Sensor ultrasónico
¿Qué y cómo aprendí?
Aprendi mediante el trabajo de un circuito con 3 sensores ultrasónicos, y para programarla hay que utilizar los operadores lógicos.
Circuito:
Programación:
const int Trigger = 13;
const int Echo =12;
const int Trigger1 = 10;
const int Echo1 = 9;
const int Trigger2 = 3;
const int Echo2 = 2;
long t;
long dA,dI,dD;
void setup()
{
Serial. begin(9600);
pinMode(Trigger, OUTPUT);
pinMode(Echo, INPUT);
pinMode(Trigger1, OUTPUT);
pinMode(Echo1, INPUT);
pinMode(Trigger2, OUTPUT);
pinMode(Echo2, INPUT);
digitalWrite(Trigger, LOW);
digitalWrite(Trigger1, LOW);
digitalWrite(Trigger2, LOW);
}
void loop ()
{
digitalWrite(Trigger, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger, LOW);
t= pulseIn(Echo, HIGH);
dA= t/59;
Serial.print("Distancia Adelante:");
Serial.print(dA); //enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(10);
digitalWrite(Trigger1, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger1, LOW);
t= pulseIn(Echo1, HIGH);
dI= t/59;
Serial.print("Distancia Izquierda:");
Serial.print(dI); //enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(10);
digitalWrite(Trigger2, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger2, LOW);
t= pulseIn(Echo2, HIGH);
dD= t/59;
Serial.print("Distancia Derecha:");
Serial.print(dD); //enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(10);
if (dA <= 10 && dI> 10 && dD <= 10)
{// Retroceder;
// Avanzar hacia la izquierda;
}
else if (dA <= 10 && dI <= 10 && dD> 10)
{// Retroceder
// Avanzar hacia la derecha
}
else if (dA <= 10 && dI <= 10 && dD <= 10)
{// Retroceder;
}
else if (dA <= 10 && dI < 10 && dD < 10)
{// Rodear;
}
}
const int Echo =12;
const int Trigger1 = 10;
const int Echo1 = 9;
const int Trigger2 = 3;
const int Echo2 = 2;
long t;
long dA,dI,dD;
void setup()
{
Serial. begin(9600);
pinMode(Trigger, OUTPUT);
pinMode(Echo, INPUT);
pinMode(Trigger1, OUTPUT);
pinMode(Echo1, INPUT);
pinMode(Trigger2, OUTPUT);
pinMode(Echo2, INPUT);
digitalWrite(Trigger, LOW);
digitalWrite(Trigger1, LOW);
digitalWrite(Trigger2, LOW);
}
void loop ()
{
digitalWrite(Trigger, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger, LOW);
t= pulseIn(Echo, HIGH);
dA= t/59;
Serial.print("Distancia Adelante:");
Serial.print(dA); //enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(10);
digitalWrite(Trigger1, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger1, LOW);
t= pulseIn(Echo1, HIGH);
dI= t/59;
Serial.print("Distancia Izquierda:");
Serial.print(dI); //enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(10);
digitalWrite(Trigger2, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger2, LOW);
t= pulseIn(Echo2, HIGH);
dD= t/59;
Serial.print("Distancia Derecha:");
Serial.print(dD); //enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(10);
if (dA <= 10 && dI> 10 && dD <= 10)
{// Retroceder;
// Avanzar hacia la izquierda;
}
else if (dA <= 10 && dI <= 10 && dD> 10)
{// Retroceder
// Avanzar hacia la derecha
}
else if (dA <= 10 && dI <= 10 && dD <= 10)
{// Retroceder;
}
else if (dA <= 10 && dI < 10 && dD < 10)
{// Rodear;
}
}
¿Cuáles fueron sus dificultades y cómo las superó?
Las dificultades en esta práctica fue que aunque en mi grupo entendian los operadores, no sabíamos como ponerlas en la programación, pero las superamos llamando a la miss y ayudandola a crear paso a paso la programación.
Comentarios
Publicar un comentario