2.7 HCSR04-TABLAS DE VERDAD

  2-3 de Febrero del 2021

¿Qué aprendí estos días?

  • Estos días yo he estado realizando las conexiones del proyecto de tinkercad.
¿Cuáles fueron mis dificultades?
  • En estos días, mis dificultades fueron que no sabíamos el código, pero gracias a la profesora y la ayuda de otros grupos, lo pudimos resolver.
¿Qué necesito reforzar?
  • Necesito editar mi proyecto 3D para que se vea mejor.

Conexiones

Estos días, como mencionados anteriormente, hemos estado realizando las conexiones de nuestro proyecto, a continuación mandaré la foto del trabajo en grupo.

Para poder identificar los sensores, le hemos puesto nombres:

También, he creado mi propia conexión, ya que la siguiente semana, según la profesora, vamos a trabajar individualmente el resto del proyecto.
Se puede notar la diferencia, gracias a los colores de los cables.

También, logramos finalizar parte del código, ya solo falta añadir un poco mas al mismo y las conexiones estarán culminadas.

El código que hemos estado usando es:
const int EchoPin = 6; const int TriggerPin = 5; const int EchoPin2 = 4; const int TriggerPin2 = 10; const int EchoPin3 = 2; const int TriggerPin3 = 3; void setup() { Serial.begin(9600); pinMode(TriggerPin, OUTPUT); pinMode(EchoPin, INPUT); pinMode(TriggerPin2, OUTPUT); pinMode(EchoPin2, INPUT); pinMode(TriggerPin3, OUTPUT); pinMode(EchoPin3, INPUT); } void loop() { int cm1 = ping(TriggerPin, EchoPin); Serial.print("Distancia: "); Serial.println(cm1); delay(0); int cm2 = ping(TriggerPin2, EchoPin2); Serial.print("Distancia: "); Serial.println(cm2); delay(10); int cm3 = ping(TriggerPin3, EchoPin3); Serial.print("Distancia: "); Serial.println(cm3); delay(10); if(cm2 <= 10 && cm1 > 10 && cm3 <= 10 ) {//Retroceder;
//Avanzar hacia la izquierda; } else if (cm2 <= 10 && cm1 <= 10 && cm3 > 10 ) {//Retroceder; //Avanzar hacia la derecha; } else if (cm2 <= 10 && cm1 <=10 && cm3 <=10 ) {//Retroceder; } }
int ping(int TriggerPin, int EchoPin) { long duration, distanceCm; digitalWrite(TriggerPin, LOW); //para generar un pulso limpio ponemos a LOW 4us delayMicroseconds(4); digitalWrite(TriggerPin, HIGH); //generamos Trigger (disparo) de 10us delayMicroseconds(10); digitalWrite(TriggerPin, LOW); duration = pulseIn(EchoPin, HIGH); //medimos el tiempo entre pulsos, en microsegundos distanceCm = duration * 10 / 292/ 2; //convertimos a distancia, en cm return distanceCm; }
14:09






Comentarios