Hola Instructables,
He tenido algunos problemas con mi sensor de ultrasonidos barato (hc-sr04) y hoy he encontrado una solución muy fácil.
Es una edición muy simple del código normal de 3 pines.
He añadido el int 4 al principio del código, por lo que puede muy fácilmente cambios los pines de arduino.
El nuevo code(4pin):
int vcc = 2; Conecte el pin 2 a vcc
int trig = 3; Conecte el pin 3 al Trig
int eco = 4; conectar el pin 4 eco
int gnd = 5; conectar el pin 5 a GND
void setup() {}
pinMode (vcc, salida);
pinMode (gnd, salida);
inicializar la comunicación serial:
Serial.Begin(9600);
}
void loop()
{
digitalWrite (vcc, alta);
establecer las variables durante el ping,
y el resultado de la distancia en pulgadas y centímetros:
larga duración, pulgadas, cm;
El PING))) es accionado por un pulso alto de 2 o más microsegundos.
Dar un breve impulso de baja previamente para asegurar un pulso limpio alto:
pinMode (trig, salida);
digitalWrite (trig, LOW);
delayMicroseconds(2);
digitalWrite (trig, HIGH);
delayMicroseconds(5);
digitalWrite (trig, LOW);
El mismo pin se utiliza para leer la señal del PING))): un alto
pulso cuya duración es el tiempo (en microsegundos) de envío
del ping a la recepción de su eco de un objeto.
pinMode(echo,INPUT);
duración = pulseIn (eco, alta);
convertir el tiempo en una distancia
pulgadas = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.Print(inches);
Serial.Print ("in");
Serial.Print(cm);
Serial.Print("cm");
Serial.println();
Delay(100);
}
microsecondsToInches(long microseconds) largo
{
Según ficha técnica de paralaje para el PING))), hay
73,746 microsegundos por pulgada (es decir, el sonido viaja a 1130 pies por
en segundo lugar). Esto da la distancia recorrida por el ping, saliente
y, por lo que dividimos por 2 para obtener la distancia del obstáculo.
Ver: http://www.parallax.com/dl/docs/prod/acc/28015-PI...
volver microsegundos / 74 / 2;
}
microsecondsToCentimeters(long microseconds) largo
{
La velocidad del sonido es 340 m/s o 29 microsegundos por centímetro.
El ping viaja hacia fuera y hacia atrás, para encontrar la distancia de la
objeto que tomamos la mitad de la distancia recorrida.
volver microsegundos / 29 / 2;
}