En esta práctica probaremos un sencillo programa para comprobar el funcionamiento de nuestro sensor de distancia
Abriremos el IDE de Arduino
y copiaremos el siguiente programa
#define trigPin 9
#define echoPin 8
#define led 5
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
}
void loop()
{ long duracion, distancia ;
digitalWrite(trigPin, LOW); // Nos aseguramos de que el trigger está desactivado
delayMicroseconds(2); // Para asegurarnos de que el trigger esta LOW
digitalWrite(trigPin, HIGH); // Activamos el pulso de salida
delayMicroseconds(10); // Esperamos 10µs. El pulso sigue active este tiempo
digitalWrite(trigPin, LOW); // Cortamos el pulso y a esperar el echo
duracion = pulseIn(echoPin, HIGH) ; //si el valor es alto, pulseIn () espera a que el pin pase a nivel HIGH,
//se inicia el tiempo, espera a que el pin pase a nivel LOW y para el cronómetro.
distancia = duracion / 2 / 29.1 ;
int Limite = 30 ; // medida a la cual se encenderá el led
if ( distancia < Limite)
digitalWrite ( led , HIGH) ;
else
digitalWrite( led , LOW) ;
delay (500) ; // Para limitar el número de mediciones
}
En el simulador de tinkercad podemos ver el funcionamiento
Abriremos el IDE de Arduino
y copiaremos el siguiente programa
#define trigPin 9
#define echoPin 8
#define led 5
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
}
void loop()
{ long duracion, distancia ;
digitalWrite(trigPin, LOW); // Nos aseguramos de que el trigger está desactivado
delayMicroseconds(2); // Para asegurarnos de que el trigger esta LOW
digitalWrite(trigPin, HIGH); // Activamos el pulso de salida
delayMicroseconds(10); // Esperamos 10µs. El pulso sigue active este tiempo
digitalWrite(trigPin, LOW); // Cortamos el pulso y a esperar el echo
duracion = pulseIn(echoPin, HIGH) ; //si el valor es alto, pulseIn () espera a que el pin pase a nivel HIGH,
//se inicia el tiempo, espera a que el pin pase a nivel LOW y para el cronómetro.
distancia = duracion / 2 / 29.1 ;
int Limite = 30 ; // medida a la cual se encenderá el led
if ( distancia < Limite)
digitalWrite ( led , HIGH) ;
else
digitalWrite( led , LOW) ;
delay (500) ; // Para limitar el número de mediciones
}
En el simulador de tinkercad podemos ver el funcionamiento