Martes, 26 de enero de 2021


Que hicimos?


Realizamos un circuito de ultrasonido que en mi caso constaba de 3 sensores ultrasónicos que luego se tenia que programar:


Circuito: 

 






Código:

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; }


Comments

Popular Posts