Hola a todos, para los que recién empiezan con Arduino hoy les traigo una implementación de uso, un sensor de proximidad.
Materiales:
1-Placa Arduino( yo tengo un Arduino mega 2560) pero cualquier placa funciona.
2- sensor ultrasónico HC-SR04
3- buzzer (lo puden obtener de una pc vieja o lo compran en cualquier casa de electrónica.
4-Protoboard
5- jumpers (cables para las conexiones)
La idea de un sensor de proximidad es que detecte a cierta distancia un objeto para tomar una decisión en consecuencia.
El sensor ultrasónico HC-SR04 funciona más o menos así:
emite un pulso o rafaga de ultrasonido y recibe el eco de esta rafaga cuando rebota contra un objeto, y mediante un calculo podemos saber a que distancia está el objeto.
Bueno vamos a los bifes!!!
diagrama de conexión:
Código para arduino:
#define Pecho 6
#define Ptrig 7
#define buzzer 10 //define el puerto de salida del buzzer
#define minima 30 //define la distancia minima a la que el buzzer emite sonido
#define maxima 40 //define la distancia maxima a la que el buzzer emite sonido
long duracion, distancia;
void setup() {
Serial.begin (9600); // inicializa el puerto seria a 9600 baudios
pinMode(Pecho, INPUT) ; // define el pin 6 como entrada (echo)
pinMode(Ptrig, OUTPUT) ; // define el pin 7 como salida (triger)
pinMode(buzzer, OUTPUT) ; // Define el pin 10 como salida
}
void loop() {
digitalWrite(Ptrig, LOW) ;
delayMicroseconds(2) ;
digitalWrite(Ptrig, HIGH) ; // genera el pulso de triger por 10ms
delayMicroseconds(10) ;
digitalWrite(Ptrig, LOW) ;
duracion = pulseIn(Pecho, HIGH) ;
distancia = (duracion/2) / 29; // calcula la distancia en centimetros
if (distancia <= 0){ // si la distancia es menor o igual a cero
Serial.println("---" ) ; // no mide nada
}
else {
Serial.print(distancia); // envia el valor de la distancia por el puerto serial
Serial.println("cm" ) ; // le coloca a la distancia la unidad "cm"
} delay (500); // espera 1/2 segundo y mide de nuevo
if (distancia >= minima && distancia <= maxima){
//si el objeto esta en el rango entre la minima y maxima distancia emite sonido
analogWrite(buzzer,128) ; //emite sonido
delay(500); //espera medio segundo
analogWrite(buzzer,LOW) ; // no emite sonido
}
}
Video del sistema funcionando:
Materiales:
1-Placa Arduino( yo tengo un Arduino mega 2560) pero cualquier placa funciona.
2- sensor ultrasónico HC-SR04
3- buzzer (lo puden obtener de una pc vieja o lo compran en cualquier casa de electrónica.
4-Protoboard
5- jumpers (cables para las conexiones)
La idea de un sensor de proximidad es que detecte a cierta distancia un objeto para tomar una decisión en consecuencia.
El sensor ultrasónico HC-SR04 funciona más o menos así:
emite un pulso o rafaga de ultrasonido y recibe el eco de esta rafaga cuando rebota contra un objeto, y mediante un calculo podemos saber a que distancia está el objeto.
Bueno vamos a los bifes!!!
diagrama de conexión:
Código para arduino:
#define Pecho 6
#define Ptrig 7
#define buzzer 10 //define el puerto de salida del buzzer
#define minima 30 //define la distancia minima a la que el buzzer emite sonido
#define maxima 40 //define la distancia maxima a la que el buzzer emite sonido
long duracion, distancia;
void setup() {
Serial.begin (9600); // inicializa el puerto seria a 9600 baudios
pinMode(Pecho, INPUT) ; // define el pin 6 como entrada (echo)
pinMode(Ptrig, OUTPUT) ; // define el pin 7 como salida (triger)
pinMode(buzzer, OUTPUT) ; // Define el pin 10 como salida
}
void loop() {
digitalWrite(Ptrig, LOW) ;
delayMicroseconds(2) ;
digitalWrite(Ptrig, HIGH) ; // genera el pulso de triger por 10ms
delayMicroseconds(10) ;
digitalWrite(Ptrig, LOW) ;
duracion = pulseIn(Pecho, HIGH) ;
distancia = (duracion/2) / 29; // calcula la distancia en centimetros
if (distancia <= 0){ // si la distancia es menor o igual a cero
Serial.println("---" ) ; // no mide nada
}
else {
Serial.print(distancia); // envia el valor de la distancia por el puerto serial
Serial.println("cm" ) ; // le coloca a la distancia la unidad "cm"
} delay (500); // espera 1/2 segundo y mide de nuevo
if (distancia >= minima && distancia <= maxima){
//si el objeto esta en el rango entre la minima y maxima distancia emite sonido
analogWrite(buzzer,128) ; //emite sonido
delay(500); //espera medio segundo
analogWrite(buzzer,LOW) ; // no emite sonido
}
}
Video del sistema funcionando: