Información adicional
Plataforma | Arduino |
---|
/*
* PROGRAMA PARA SENSAR DISTANCIA CON SENSOR DE ULTRASONIDO HC S04 CONECTADO EN EL PUERTO CON3 DEL LADRILLO R8 (PINES DIGITALES 2 Y 4)
* AUTOR: Erik P. Meuer
* www.misladrillos.com/ml/
*/
// DEFINIMOS ENTRADAS DIGITALES DEL SENSOR
int trig = 4; // 2 en R8sj
int echo = 2; //3 en R8sj
// DEFINIMOS LA VARIABLE PARA EL RESULTADO FINAL
int Dist_fin = 0 ;
// DEFINIMOS VARIABLE QUE CONTIENE EL RESULTADO DE LA MEDICION DEL SENSOR
int ultrasonido(int trigPin, int echoPin)
{
long distancia;
// CONFIGURAR PINES DE ENTRADA Y SALIDA
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
//EMITO Y RECIBO PULSO DE SONIDO
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(20);
digitalWrite(trigPin, LOW);
//LEO EL TIEMPO QUE DURO EL REBOTE DE SONIDO
distancia = pulseIn(echoPin, HIGH);
// LA VELOCIDAD DEL SONIDO ES DE 340 M/S O 29,5 MICROSEGUNDOS POR CENTIMETRO
// DIVIDIMOS EL TIEMPO DEL PULSO ENTRE 59, TIEMPO QUE TARDA RECORRER IDA Y VUELTA UN CENTIMETRO LA ONDA SONORA
distancia = distancia / 59;
// CUANDO ESTA FUERA DEL RANGO QUE SOPORTA EL SENSOR(DE 2CM A 3M) DEVUELVE DISTANCIA =0
if ((distancia < 2) || (distancia > 300)) return false;
return distancia;
}
void setup()
{
// APAGO LA SALIDA DIGITAL
digitalWrite( trig , LOW );
digitalWrite( echo , LOW );
// PREPARAR LA COMUNICACION SERIAL
Serial.begin(9600);
}
void loop()
{
// DEFINO LA DISTANCIA FINAL
Dist_fin = ultrasonido( trig , echo ) ;
// ENVIAR EL RESULTADO AL MONITOR SERIAL
Serial.print(«distancia»);
Serial.print(» «);
Serial.print(Dist_fin);
Serial.print(» «);
Serial.println();
delay (500);
}
Valoraciones
No hay valoraciones aún.