Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
con Arduino
Sensor Ultrasónico
El HC-SR04 es un sensor de distancias por ultrasonidos capaz de detectar
objetos y calcular la distancia a la que se encuentra en un rango de 2 a 450
cm.
Posee un emisor y un receptor, con los cuales obtiene los datos de distancia
Su voltaje de entrada es de 5V
El funcionamiento se
da de la siguiente
manera mandamos
un pequeño pulso
con el Trigger, si hay
un objeto la onda
rebotara hasta llegar
al Echo. Con el
tiempo que se tarda
en volver la onda al
sensor calcularemos
la distancia
La velocidad del sonido es aproximadamente 340 m/s o 0.034 cm/µs, este será
el valor que se usara en la formula
Comandos y conexión con Arduino
delayMicroseconds()
pulseIn(PinEcho, HIGH)
Antes de empezar a mandar pulsos se debe enserar el pin Trigger para que no
haya datos parásitos, es decir datos anteriores guardados en el sensor.
Proyecto 1 Calcular distancia
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT); // Ponemos al pin Trigger como salida
pinMode(echoPin, INPUT); // Ponemos al pin Echo como entrada
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Enceramos el Pin Trigger
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Ponemos el Trigger en HIGH por 10 us
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// calculamos la distancia
distance= duration*0.034/2;
// Mostramos la distancia en el monitor serial
Serial.print("Distance: ");
Serial.println(distance);
delay(1000);
}
Alarma de distancia
const int trigPin = 9;
const int echoPin = 10;
const int buzzer = 11;
const int ledPin = 13;
long duration;
int distance;
int dangerDistance;
void setup() {
pinMode(trigPin, OUTPUT); // Ponemos al pin Trigger como salida
pinMode(echoPin, INPUT); // Ponemos al pin Echo como entrada
pinMode(buzzer, OUTPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Enceramos el Pin Trigger
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// calculamos la distancia
distance= duration*0.034/2;
dangerDistance = distance;
if (dangerDistance <= 5){
digitalWrite(buzzer, HIGH);
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(buzzer, LOW);
digitalWrite(ledPin, LOW);
}
Si la distancia es menor
que 7 se detectara el
objeto, se prendera el led
rojo y el buzzer sonara por
500ms y luego se apagara