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; }
//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
Post a Comment