Había dos opciones, yo he elegido la opción "No tan sencilla". Consiste en que el sensor nos va avisando a medida que el objeto se va alejando o acercando y para avisarnos encienden diversos LEDS.
He puesto el LED 1(el de la izquierda) en el PIN 11, el LED del medio lo he puesto en el PIN 10 y el de la derecha en el PIN 5.
int DIstancia = 0;
long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT); // Clear the trigger
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// Sets the trigger pin to HIGH state for 10 microseconds
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
// Reads the echo pin, and returns the sound wave travel time in microseconds
return pulseIn(echoPin, HIGH);
}
void setup()
{
pinMode(5, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop()
{
DIstancia = 0.01723 * readUltrasonicDistance(3, 2);
if (DIstancia < 50) {
digitalWrite(5, HIGH);
} else {
digitalWrite(5, LOW);
}
if (DIstancia > 50 && DIstancia < 100) {
digitalWrite(10, HIGH);
} else {
digitalWrite(10, LOW);
}
if (DIstancia > 100 && DIstancia < 150) {
digitalWrite(11, HIGH);
} else {
digitalWrite(11, LOW);
}
delay(10); // Delay a little bit to improve simulation performance
}
He puesto como variable "Distancia". Si la variable está por debajo de los 50 cm, se enciende el LED 5 y si no, pues no se enciende. En los demás LEDS siguen el mismo mecanismo.
Os voy a poner un vídeo del funcionamiento de la práctica.
Ha sido todo por hoy. Hasta la próxima.
No hay comentarios:
Publicar un comentario